how to insert and image in html

how to insert and image in html

Stell dir vor, du hast gerade die neue Landingpage für ein mittelständisches Unternehmen fertiggestellt. Der Kunde hat hochwertige Fotos vom Fotografen bekommen, jedes davon 15 Megabyte groß. Du denkst dir nichts dabei, ziehst die Dateien in deinen Ordner und tippst schnell den Code ein, weil du denkst, du wüsstest alles über How To Insert And Image In Html. Drei Tage nach dem Launch ruft der Kunde an. Die Seite lädt auf dem Smartphone erst nach acht Sekunden. Die Absprungrate liegt bei 70 Prozent. In der Google Search Console leuchten die Core Web Vitals tiefrot. Das hat den Kunden bereits mehrere tausend Euro an potenziellen Werbeeinnahmen gekostet, nur weil ein technisches Detail ignoriert wurde. Ich habe das in Projekten oft erlebt: Entwickler, die glauben, ein einfacher Tag reiche aus, und dabei die gesamte Performance einer Webseite gegen die Wand fahren.

Das Märchen vom simplen Pfad und die Dateiformat-Falle

Der häufigste Fehler, den ich bei Anfängern und sogar bei erfahrenen Webdesignern sehe, ist der blinde Glaube an das JPEG-Format. Nur weil eine Kamera dieses Format ausspuckt, heißt das nicht, dass es ins Web gehört. Wer einfach blind drauflos arbeitet, ohne über Kompressionsalgorithmen nachzudenken, verschwendet Bandbreite.

Ein typisches Szenario in meiner Praxis: Ein Onlineshop-Besitzer wundert sich, warum seine Produktbilder unscharf wirken oder ewig zum Aufbauen brauchen. Er hatte die Bilder als PNG-24 gespeichert, weil er gehört hatte, dass die Qualität dort besser sei. Das Ergebnis war eine Dateigröße von 2 Megabyte pro Bild. Nach der Umstellung auf WebP mit einer Qualitätseinstellung von 75 Prozent sank die Größe auf 150 Kilobyte – ohne sichtbaren Qualitätsverlust für das menschliche Auge.

Es geht nicht nur darum, dass das Bild erscheint. Es geht darum, welches Format für welchen Zweck dient. Icons und Logos gehören als SVG eingebunden, Fotos fast ausschließlich als WebP oder heutzutage sogar AVIF. Wer 2026 noch großflächig JPEGs ohne moderne Kompression einsetzt, arbeitet schlichtweg unprofessionell. AVIF bietet oft eine bis zu 50 Prozent bessere Kompression als JPEG bei gleicher Qualität, was gerade bei mobilen Datenverbindungen in ländlichen Regionen Deutschlands den Unterschied zwischen Kauf und Abbruch macht.

Warum How To Insert And Image In Html ohne Breitenangaben dein Layout zerschießt

Ein extrem unterschätzter Fehler ist das Weglassen der Attribute für Breite und Höhe im Code. Viele denken, CSS würde das schon regeln. Das ist ein Irrtum, der zu dem berüchtigten "Layout Shift" führt.

Ich erinnere mich an ein Projekt eines Nachrichtenportals, bei dem die Nutzer ständig auf die falschen Links klickten. Warum? Weil die Bilder erst geladen wurden, nachdem der Text bereits da war. Sobald das Bild erschien, sprang der gesamte Text nach unten. Der Cumulative Layout Shift (CLS) war katastrophal. Google straft solche Seiten gnadenlos ab, da die Nutzererfahrung miserabel ist.

Wenn du den Browser nicht explizit anweist, wie viel Platz er für ein Bild reservieren soll, bevor die Datei überhaupt heruntergeladen ist, rät der Browser einfach. Und er rät meistens falsch. Sobald die Datei dann da ist, korrigiert er das Layout. Das wirkt nervös und billig. Die Angabe von width und height direkt im Element ist kein Relikt aus den 90ern, sondern eine technische Notwendigkeit für moderne Browser, um das Seitenverhältnis im Voraus zu berechnen.

Die Sache mit dem Seitenverhältnis

Hier machen viele den nächsten Fehler: Sie geben feste Pixelwerte an, die auf dem Desktop gut aussehen, aber auf dem Handy das Bild verzerren oder über den Rand hinausragen lassen. Die Lösung ist die Kombination aus HTML-Attributen für den Browser-Platzhalter und CSS für die tatsächliche Flexibilität. Ein Bild sollte im CSS immer mit max-width: 100% und height: auto definiert sein. So bleibt es proportional, egal wie klein der Bildschirm ist. Das ist kein optionaler Luxus, das ist die Basis für jede funktionierende Website.

Das Alt-Attribut ist kein Ort für Keyword-Spamming

In meiner Zeit als Berater für Barrierefreiheit habe ich die schlimmsten Sünden beim Alt-Attribut gesehen. Viele SEO-Agenturen verbreiten immer noch den Unsinn, man solle dort einfach eine Liste von Suchbegriffen reinkippen. Das ist nicht nur nutzlos für das Ranking, sondern eine Frechheit gegenüber sehbehinderten Menschen, die Screenreader nutzen.

Stell dir vor, du bist blind und lässt dir eine Seite vorlesen. Anstatt einer Beschreibung des Bildes hörst du: "Turnschuh kaufen günstig Berlin Online Shop Rabatt." Das hilft niemandem. Ein korrektes Alt-Attribut beschreibt, was auf dem Bild zu sehen ist, falls das Bild einen Informationswert hat. Wenn das Bild rein dekorativ ist – wie ein Hintergrundmuster oder eine Trennlinie – dann gehört das Alt-Attribut leer gelassen (alt=""), damit der Screenreader es einfach ignoriert.

Ein echter Profi weiß: Suchmaschinen wie Google sind mittlerweile verdammt gut darin, Bildinhalte per KI zu erkennen. Wenn dein Alt-Text nicht zum Bildinhalt passt, erkennt Google diesen Täuschungsversuch. Du gewinnst nichts, aber du verlierst an Seriosität und schließt Nutzergruppen aus. Barrierefreiheit ist in der EU durch den European Accessibility Act für viele Unternehmen ohnehin bald verpflichtend. Wer das jetzt ignoriert, darf in zwei Jahren teuer nachbessern.

Die Performance-Killer: Lazy Loading und Responsive Images

Wenn du eine Seite mit zwanzig Bildern hast, ist es Wahnsinn, alle zwanzig sofort zu laden, wenn der Nutzer nur den oberen Teil der Seite sieht. Trotzdem sehe ich das ständig. Der Browser kämpft damit, Megabytes an Daten zu schaufeln, die der Nutzer vielleicht nie zu Gesicht bekommt, falls er nicht nach unten scrollt.

Das Attribut loading="lazy" ist dein bester Freund, aber viele setzen es falsch ein. Ein Fehler, den ich oft korrigieren muss: Das "Hero-Image" – also das große Bild ganz oben auf der Seite – darf niemals mit Lazy Loading versehen werden. Warum? Weil der Browser dann wartet, bis er sicher ist, dass das Bild im Sichtfeld ist, was den Ladevorgang unnötig verzögert. Das wichtigste Bild der Seite sollte sofort geladen werden, idealerweise sogar mit einem fetchpriority="high" Hinweis.

Die Komplexität von Srcset verstehen

Ein Bild für alle Geräte? Das war 2010. Heute musst du verschiedene Versionen desselben Bildes für verschiedene Bildschirmgrößen bereitstellen. Ein Smartphone braucht kein Bild mit 3000 Pixeln Breite. Der Prozess hinter How To Insert And Image In Html beinhaltet zwingend die Nutzung von srcset und sizes.

Hier ist ein realistischer Vorher/Nachher-Vergleich aus einem meiner letzten Projekte für eine Hotel-Webseite:

Vorher: Der Entwickler nutzte ein einziges Bild in hoher Auflösung (2500px, 1.2 MB). Auf einem iPhone 13 im langsamen mobilen Netz dauerte der Aufbau des Header-Bildes knapp 4 Sekunden. Die Datenmenge war für den kleinen Bildschirm völlig übertrieben, da das Handy die Pixel ohnehin wieder runterrechnen musste.

Nachher: Wir haben das Bild in vier verschiedenen Breiten generiert: 400px, 800px, 1200px und 2000px. Über das srcset-Attribut haben wir dem Browser alle Varianten angeboten. Durch das sizes-Attribut haben wir ihm mitgeteilt, dass das Bild auf kleinen Bildschirmen 100 Prozent der Breite einnimmt, auf großen Desktops aber nur 50 Prozent. Das Ergebnis: Das iPhone lud nur noch die 800px-Variante, die gerade einmal 90 Kilobyte groß war. Die Ladezeit sank von 4 Sekunden auf unter 0,5 Sekunden. Die Nutzerinteraktion auf der Buchungsseite stieg sofort um 15 Prozent an.

Das ist der Unterschied zwischen "es funktioniert irgendwie" und echtem Engineering. Es kostet Zeit, diese Varianten zu erstellen, aber es spart dem Kunden bares Geld durch bessere Konversionsraten.

Pfad-Probleme und die Ignoranz gegenüber relativen Links

Es klingt banal, aber ich habe Stunden damit verbracht, Fehler zu suchen, die nur auf falschen Pfadangaben basierten. Ein klassisches Beispiel: Ein Entwickler arbeitet lokal an seinem Rechner und nutzt absolute Pfade wie C:\User\Desktop\Projekt\img\bild.jpg. Sobald die Seite auf dem Server liegt, ist alles kaputt.

Oder noch schlimmer: Die Verwirrung zwischen /img/bild.jpg und img/bild.jpg. Der führende Schrägstrich bedeutet "gehe zum Hauptverzeichnis der Domain". Ohne Schrägstrich heißt es "suche im aktuellen Ordner". Wenn du deine Bilder in einer Unterseite (z.B. /blog/artikel-1/) einbindest und den Schrägstrich vergisst, sucht der Browser das Bild unter /blog/artikel-1/img/bild.jpg. Da liegt es aber nicht. Es liegt unter /img/bild.jpg.

Ich habe Teams gesehen, die ganze Verzeichnisstrukturen umgebaut haben, nur weil sie dieses einfache Prinzip der relativen Pfade nicht verstanden haben. In einem großen Projekt mit tausenden Bildern kann so ein Fehler eine Lawine von Korrekturaufwand auslösen. Konsistenz ist hier alles. Entscheide dich für eine Struktur und zieh sie gnadenlos durch. Ich empfehle immer, Bilder in einem zentralen /assets/images/ Ordner zu speichern und mit absoluten Pfaden vom Root-Verzeichnis aus zu referenzieren. Das beugt Fehlern bei tieferen Verschachtelungen vor.

Bildrechte und die DSGVO-Falle bei externen Quellen

Ein Fehler, der nicht nur technisch, sondern rechtlich richtig teuer werden kann: Bilder direkt von fremden Servern einbinden, das sogenannte "Hotlinking". Ich habe einen Fall erlebt, bei dem ein Blogger Bilder direkt von einer Foto-Plattform verlinkt hat. Abgesehen davon, dass das Diebstahl von Bandbreite ist, war es ein massives Datenschutzproblem.

Sobald der Browser des Nutzers ein Bild von einem fremden Server lädt, wird die IP-Adresse des Nutzers an diesen Server übertragen. Ohne Einwilligung des Nutzers ist das nach der DSGVO in vielen Fällen hochproblematisch, ähnlich wie die Einbindung von Google Fonts. Wenn der externe Server dann auch noch Cookies setzt, bist du rechtlich auf ganz dünnem Eis.

Zudem hast du keine Kontrolle über das Bild. Der Besitzer des anderen Servers kann das Bild jederzeit löschen oder durch ein unpassendes Motiv ersetzen. Stell dir vor, auf deiner Firmenseite erscheint plötzlich ein Meme oder ein beleidigendes Bild, weil der externe Hoster die URL geändert hat. Lade Bilder immer auf deinen eigenen Server oder ein kontrolliertes CDN (Content Delivery Network). Alles andere ist fahrlässig und amateurhaft.

Realitätscheck: Was es wirklich braucht

Vergiss den Gedanken, dass Bilder im Web "einfach so" eingefügt werden. Die Zeiten, in denen man eine Datei hochlädt und einen Tag tippt, sind vorbei, wenn man professionelle Ansprüche hat. Wenn du es richtig machen willst, musst du einen Workflow etablieren.

Das bedeutet:

Nicht verpassen: javascript convert string to
  1. Bilder in einem verlustfreien Format aufnehmen.
  2. Manuell oder automatisiert (z.B. über Build-Tools wie Vite oder Webpack) in moderne Formate wie WebP oder AVIF konvertieren.
  3. Mindestens drei bis vier verschiedene Auflösungen pro Bild bereitstellen.
  4. Jedes Bild mit korrekten width, height, alt und loading Attributen versehen.
  5. Das Caching auf dem Server so konfigurieren, dass Bilder nicht bei jedem Seitenaufruf neu geladen werden müssen.

Das klingt nach viel Arbeit? Ist es auch. Aber das ist der Grund, warum manche Webseiten fliegen und andere im digitalen Sumpf versinken. Wer diese Schritte abkürzt, spart vielleicht heute eine Stunde Arbeitszeit, zahlt aber morgen drauf – durch schlechte SEO-Rankings, genervte Nutzer und höhere Hosting-Kosten wegen unnötigem Traffic. Wer im Bereich Webentwicklung überlebt, ist nicht derjenige, der den kürzesten Code schreibt, sondern derjenige, der die stabilste und schnellste Nutzererfahrung liefert. Bilder sind oft der schwerste Teil einer Webseite; behandle sie mit dem nötigen Respekt, oder sie werden dein Projekt zerstören.

MS

Martin Schulz

Martin Schulz hat für verschiedene Online-Redaktionen gearbeitet und steht für Qualitätsjournalismus mit Substanz.