SVG → React

SVG zu React-Komponente

Fertig einfügbares JSX aus jeder SVG-Datei — Attribute so umbenannt, wie React sie erwartet, Props auf das Wurzelelement verteilt, TypeScript wenn du es brauchst.

SVG → React

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

SVG hier ablegen

oder klicken zum Auswählen — nur SVG

Icons als Komponenten

Warum sich ein SVG nicht unverändert in JSX einfügen lässt

JSX sieht aus wie Markup, ist aber JavaScript. Attribute mit Bindestrich wie stroke-width sind keine gültigen Bezeichner, class kollidiert mit einem reservierten Wort, und geschweifte Klammern in einem Inline-Style werden als Ausdruck gelesen. Ein direkt aus dem Designtool kopiertes SVG scheitert meist an mindestens einem dieser Punkte.

Dieser Konverter benennt um, was umbenannt werden muss, und lässt den Rest in Ruhe. data- und aria-Attribute behalten ihre Bindestriche, weil React sie unverändert durchreicht — sie umzubenennen ist ein verbreiteter Weg, ein barrierefreies Label stillschweigend zu verlieren.

drei Schritte

SVG in eine React-Komponente umwandeln

01

SVG ablegen

Wähle eine .svg-Datei — sie bleibt auf deinem Gerät.

02

Passenden Block kopieren

Ganze Komponente, ihr TypeScript-Zwilling oder das nackte JSX.

03

Ins Projekt legen

Importiere sie wie jede andere Komponente und style sie über Props.

kurze Antworten

FAQ zu SVG zu React

Warum steht {...props} am Ende des svg-Tags?

Damit gewinnt, was du von außen übergibst. In JSX überschreibt ein späteres Attribut ein früheres; steht der Spread zuletzt, kannst du className, width oder ein onClick von außen setzen. Steht er vorn, würden die in der Datei festgeschriebenen Werte deine still überschreiben.

Wie färbe ich das Icon um?

Ersetze das fest eingetragene fill oder stroke in der Ausgabe durch currentColor und setze die Farbe dann per CSS an einem beliebigen Elternelement. Sind die Farben über viele Knoten verstreut, schick die Datei vorher durch den SVG-Farbwechsler — der stellt alle auf einmal auf currentColor um.

Funktioniert das mit React Native?

Nicht direkt. React Native hat kein DOM, SVG braucht dort react-native-svg und großgeschriebene Elementnamen wie Svg und Path. Die hier gezeigte Attribut-Umbenennung ist weiterhin die richtige Form, aber Importe und Tags unterscheiden sich.

Die Ausgabe ist eine einzige sehr lange Zeile

Das ist die Quelldatei — minifiziertes SVG bleibt minifiziert, weil Neuformatieren eine eigene Aufgabe ist. Schick sie zuerst durch den SVG-Beautifier, dann kommt die Komponente mit lesbaren Einrückungen heraus.

Wird meine Datei hochgeladen?

Nein. Die Umwandlung ist reine Zeichenkettenarbeit in deinem Browser.