String escapen und unescapen
String escapen oder unescapen für JSON, JavaScript, Template-Literale, SQL, CSV, HTML-Attribute, reguläre Ausdrücke und URLs – direkt im Browser.
Escapen ersetzt keine parametrisierten Abfragen (Prepared Statements). Verwenden Sie dieses Ergebnis zum Lesen oder Debuggen von SQL, niemals zum Zusammenbauen von Abfragen aus Benutzereingaben.
So escapen oder unescapen Sie einen String
- Wählen Sie das Ziel unter „Format“: JSON-String, JavaScript-String, JavaScript-Template-Literal, SQL-Zeichenkettenliteral, CSV-Feld, HTML-Attributwert, regulärer Ausdruck oder URL-Komponente.
- Geben Sie Ihren Text in das Eingabefeld ein oder fügen Sie ihn ein.
- Klicken Sie auf „Escapen“, um einfachen Text in ein sicheres Literal umzuwandeln, oder auf „Unescapen“, um ein Literal wieder in einfachen Text zu verwandeln. Das Ergebnis aktualisiert sich während der Eingabe, in der zuletzt gewählten Richtung.
- Passen Sie die Optionen an, die für das Format angezeigt werden: „Anführungszeichen hinzufügen“, „Nicht-ASCII-Zeichen escapen“ oder „Leerzeichen als + (Formulardaten)“.
- Klicken Sie auf „Kopieren“ oder auf „Ergebnis als Eingabe verwenden“, um die Umwandlung umzukehren und den Hin- und Rückweg zu prüfen.
Die Zeichenzahl vorher und nachher steht unter den Schaltflächen. Alles läuft in Ihrem Browser, nichts wird hochgeladen.
Was die einzelnen Formate machen
- JSON-String: maskiert
",\und Steuerzeichen (\n,\t,\u0000…), genau wieJSON.stringify. Mit „Nicht-ASCII-Zeichen escapen“ wird jedes Zeichen oberhalb von U+007E zu\uXXXX(Emojis werden zu einem Surrogatpaar wie\ud83d\ude00). Beim Unescapen wird der Text mit oder ohne umschließende doppelte Anführungszeichen akzeptiert, rohe Zeilenumbrüche werden toleriert. - JavaScript-String (‘…’): maskiert Backslash, einfaches Anführungszeichen, Zeilenumbrüche und Steuerzeichen sowie U+2028 und U+2029, die ältere Engines aus dem Tritt bringen. Beim Unescapen werden
\x41,\u0041,\u{1F600}, veraltete Oktal-Escapes wie\101und Zeilenfortsetzungen verstanden. - JavaScript-Template-Literal (`…`): maskiert Backticks, Backslashes und
${, damit kein Ausdruck ausgewertet wird; Zeilenumbrüche und Tabulatoren bleiben erhalten, da Template-Literale sie erlauben. - SQL-Zeichenkettenliteral (‘…’): verdoppelt einfache Anführungszeichen (
O'Brien→'O''Brien'), wie in Standard-SQL. Beim Unescapen wird ein nicht verdoppeltes Anführungszeichen abgelehnt. Backslashes bleiben unverändert: MySQL behandelt\im Standardmodus ebenfalls als Escape-Zeichen – prüfen Sie also die Regeln Ihrer Datenbank. - CSV-Feld (RFC 4180): setzt das Feld in doppelte Anführungszeichen und verdoppelt innere Anführungszeichen, wenn es ein Komma, Semikolon, Tabulatorzeichen, Anführungszeichen, einen Zeilenumbruch oder führende bzw. nachgestellte Leerzeichen enthält. „Anführungszeichen hinzufügen“ erzwingt die Anführungszeichen.
- HTML-Attributwert: ersetzt
&,<,>,"und'durch Entitäten – sicher in Attributen mit einfachen wie mit doppelten Anführungszeichen. Beim Unescapen werden numerische Referenzen sowie&,<,>,",'und dekodiert. - Regulärer Ausdruck (wörtlicher Text): maskiert
. * + ? ^ $ { } ( ) | [ ] \ /sowie Zeilenumbrüche und Tabulatoren mit einem Backslash, sodass das Muster den Text wörtlich findet. Das Ergebnis ist mit und ohne Flagugültig. - URL-Komponente (Prozentkodierung): arbeitet wie
encodeURIComponentund kodiert alles außer Buchstaben, Ziffern und- _ . ! ~ * ' ( )als UTF-8-Bytes. „Leerzeichen als + (Formulardaten)“ nutzt die Konvention vonapplication/x-www-form-urlencoded.
Escapen ist kein Schutz vor SQL-Injection
Wenn Sie SQL wählen, zeigt das Tool einen Hinweis, und der verdient es, wiederholt zu werden: Die eigentliche Abhilfe gegen SQL-Injection ist eine parametrisierte Abfrage (Prepared Statement), bei der der Wert getrennt vom SQL-Text übertragen wird. Manuelles Escapen ist fehleranfällig: Es hängt von der Datenbank, vom Zeichensatz der Verbindung und von Einstellungen wie der Backslash-Behandlung in MySQL ab. Nutzen Sie dieses Ergebnis, um Logs zu lesen, Testdaten zu schreiben oder eine Abfrage zu debuggen – niemals, um Abfragen aus Benutzereingaben zusammenzubauen.
Bei CSV warnt das Tool außerdem, wenn ein Wert mit =, +, - oder @ beginnt: Eine Tabellenkalkulation könnte ihn als Formel ausführen (CSV-Injection). Anführungszeichen verhindern das nicht; üblicherweise stellt man dem Wert ein Apostroph oder ein Leerzeichen voran.
Häufige Fragen
Was ist der Unterschied zwischen einem JSON-String und einem JavaScript-String?
JSON erlaubt nur doppelte Anführungszeichen und eine kleine Auswahl an Escapes (\" \\ \/ \b \f \n \r \t \uXXXX). JavaScript akzeptiert zusätzlich einfache Anführungszeichen, Backticks, \x41, \u{…}, \v und \0. Gültige JSON-Escapes sind gültiges JavaScript, aber nicht umgekehrt.
Warum schlägt das Unescapen mit „Ungültige Escape-Sequenz“ fehl?
Der Text enthält einen Backslash, gefolgt von etwas, das das Format nicht erlaubt – etwa \u12 mit weniger als vier Hexadezimalziffern oder ein einzelner Backslash am Ende. Die Fehlermeldung zeigt die fehlerhafte Sequenz.
Braucht in CSV jedes Feld Anführungszeichen?
Nein. RFC 4180 verlangt Anführungszeichen nur, wenn das Feld ein Komma, ein doppeltes Anführungszeichen oder einen Zeilenumbruch enthält. Dieses Tool setzt sie zusätzlich bei Semikolons, Tabulatoren und führenden oder nachgestellten Leerzeichen, weil viele Tabellenkalkulationen – gerade mit deutschen Einstellungen – das Semikolon als Trennzeichen verwenden oder Leerzeichen abschneiden.
Reicht das Escapen für HTML-Attribute aus, um XSS zu verhindern?
Für Text innerhalb eines Attributwerts in Anführungszeichen ist es korrekt. Es reicht aber nicht für Attribute, die selbst Code oder URLs sind, etwa onclick oder href="javascript:…"; diese müssen validiert und nicht nur maskiert werden.
Wird mein Text an einen Server gesendet?
Nein. Alle Umwandlungen laufen lokal in Ihrem Browser. Sie können also bedenkenlos Konfigurationswerte oder Daten einfügen, die Sie nicht weitergeben würden.
Ähnliche Tools
- URL-Encoder und -Decoder Kostenloser URL-Encoder und -Decoder: Query-Parameter oder ganze URLs prozentkodieren, %XX-Sequenzen dekodieren und + als Leerzeichen behandeln – im Browser.
- HTML-Entities kodieren und dekodieren Sonderzeichen als HTML-Entities kodieren (benannt, dezimal oder hex) oder beliebige Entities dekodieren – mit allen 2.231 benannten HTML5-Referenzen.
- JSON-Formatierer und -Validator Kostenloser JSON-Formatierer und Validator: JSON im Browser formatieren, minifizieren und prüfen – Syntaxfehler mit Zeile und Spalte.
- Regex-Tester Regex online testen: JavaScript-Ausdrücke live prüfen, mit hervorgehobenen Treffern, Erfassungsgruppen, Ersetzen und Erklärung jedes Bestandteils.