Sprite bauen

SVG-Sprite-Generator

Icons hineinziehen und eine einzige Sprite-Datei aus symbol-Elementen erhalten — samt einer use-Zeile pro Icon, fertig zum Einfügen.

Sprite bauen

☞ läuft komplett in deinem Browser — nichts wird hochgeladen

SVG-Icons hier ablegen

oder klicken zum Auswählen — bis zu 40 SVG-Dateien

eine Datei, eine Referenz pro Icon

Warum ein Sprite statt vierzig Dateien

Jedes einzeln geladene Icon ist eine eigene Anfrage, ein eigener Cache-Eintrag und eine eigene Gelegenheit, einen Frame zu spät zu kommen. Ein Sprite faltet sie in ein Dokument: Jedes Icon wird ein symbol mit eigener viewBox, von allein zeichnet nichts, und du holst eines mit use href="#icon-name" hervor, wo du es brauchst. Weil die Referenz über die Id läuft und nicht über eine URL, erbt das Icon currentColor und das CSS des umgebenden svg — genau das, was ein Stapel img-Tags nicht kann.

Das Schwierige ist nicht das Verpacken, sondern die Namen. Vierzig aus einem Designwerkzeug exportierte Icons enthalten bereitwillig vierzig Verläufe namens „a“ und vierzig Klassen namens „cls-1“, und sobald sie sich ein Dokument teilen, nimmt der zweite still die Farbe des ersten. Deshalb wird jede Id und jede Klasse in einem Icon mit dessen eigener Symbol-Id als Präfix umbenannt, und alle vier Verstecke einer Referenz — url() in einem Attribut, ein href auf ein Fragment, das style-Attribut und das CSS in einem style-Element — werden mitgezogen. Nichts färbt ab.

drei Schritte

So baust du ein SVG-Sprite

01

Icons hineinziehen

Bis zu 40 SVG-Dateien auf einmal, im Browser geparst. Mit den Pfeilen umsortieren; diese Reihenfolge ist die Reihenfolge der Symbole in der Datei.

02

Ids prüfen

Jedes Symbol heißt wie seine Datei, mit dem Präfix davor, und die Liste zeigt das Ergebnis. Zwei gleichnamige Dateien bekommen eine Nummer, damit keine zwei Symbole dieselbe Id beanspruchen.

03

Snippet kopieren, Datei laden

Das Sprite kommt in deine Seite oder wird als sprite.svg ausgeliefert; das Snippet liefert eine einfügefertige Zeile pro Icon.

kurze Antworten

FAQ zum SVG-Sprite

Wie benutze ich das fertige Sprite?

Zwei Wege. Füge das ganze Sprite oben in dein HTML ein und referenziere ein Icon mit use href="#icon-name"; oder liefere die Datei aus und referenziere sie als use href="/sprite.svg#icon-name". Der erste Weg spart eine Anfrage, der zweite lässt den Browser ein Sprite für alle Seiten cachen.

Woher kommen die Symbol-Ids?

Vom Dateinamen: kleingeschrieben, alles außer Buchstaben und Ziffern wird zum Bindestrich, das Präfix davor. arrow_left.svg wird mit dem Standardpräfix also zu icon-arrow-left.

Wozu überhaupt ein Präfix?

Eine XML-Id darf nicht mit einer Ziffer beginnen, und Dateinamen wie 2-arrow.svg sind verbreitet. Das Präfix verhindert außerdem Kollisionen mit Ids, die schon auf deiner Seite stehen. Du kannst es ändern oder leeren; würde eine Id dadurch ungültig, wird ein Ersatzpräfix wieder eingesetzt.

Was, wenn zwei Dateien gleich heißen?

Die zweite bekommt eine Nummer angehängt. Sonst trügen beide Symbole dieselbe Id und jede Referenz darauf zeigte das erste Icon — ein still falsches Bild statt einer Fehlermeldung.

Überleben meine Verläufe und Filter?

Ja. Jede Id und Klasse in einem Icon wird mit dessen Symbol-Id als Präfix umbenannt, und die Referenzen werden mitgezogen: url() in Attributen, Fragment-hrefs, das style-Attribut und das CSS in einem style-Element.

Kann ich die Icons weiterhin per CSS einfärben?

Wenn ein Icon fill="currentColor" nutzt, ja — setze color auf dem svg, das die Referenz enthält, und das Icon folgt. Icons mit fest eingetragenen Füllungen behalten sie; das Sprite ändert deine Farben nicht.

Wie viele Icons kann ich hinzufügen?

Bis zu 40 auf einmal. Ein Sprite selbst hat keine echte Grenze, aber ein deutlich größeres Sheet teilt man besser nach Bereichen der Website auf, damit eine Seite nur die Icons trägt, die sie wirklich braucht.

Werden meine Dateien hochgeladen?

Nein. Die SVGs werden in deinem Browser geparst und zusammengesetzt, und die Vorschau ist eine Blob-URL von deinem eigenen Rechner. Dieses Werkzeug hat keinen Server, der eine Datei entgegennehmen könnte.

Ist das kostenlos?

Ja — kostenlos, ohne Wasserzeichen und ohne Anmeldung.