Text
String Escape
Text in ein String-Literal escapen (Anführungszeichen, Backslash, Steuerzeichen) zum Einfügen in Code, oder das Escaping rückgängig machen.
To put text containing quotes, line breaks, or backslashes inside a string literal in code, those characters need escaping — otherwise they'll end the string early or get misinterpreted. This tool escapes and unescapes text for a specific syntax.
How to use it
- Escape: paste text and pick a target context (a JS string, JSON, shell, etc.) and special characters get replaced with the matching escape sequences.
- Unescape: paste an already-escaped string to get the original text back.
- Different contexts escape the same character differently — make sure you've picked the mode matching where the text will actually be inserted.
Common uses
- Inserting multi-line text or text with quotes into a code variable without manually placing backslashes.
- Preparing a string for a shell command, where quotes and special characters can break execution.
- Unescaping a string copied from logs or a JSON response to read the original text.
Things to keep in mind
The same character (a double quote, for example) is escaped differently depending on context — a JS string, JSON, and a shell each have their own syntax and their own set of special characters.
Double-escaping (escaping already-escaped text) is a common mistake when passing data through multiple layers, like JSON nested inside a shell command.
Artikel zu diesem Tool: String Escape: warum derselbe Text unterschiedlich escaped werden muss
Häufig gestellte Fragen
Was genau macht das Escaping?
Es verwandelt Anführungszeichen, Backslashes und Steuerzeichen (wie Zeilenumbrüche oder Tabs) in gültige Escape-Sequenzen innerhalb eines String-Literals, sodass der Text unverändert in Quellcode eingefügt werden kann.
Wofür sind der Anführungszeichenstil und die Unicode-Option?
Der Anführungszeichenstil (doppelt, einfach oder Backtick) bestimmt, welches Zeichen escaped wird, damit der String nicht zerbricht, und die \uXXXX-Option wandelt Nicht-ASCII-Zeichen in escapte Unicode-Sequenzen um, anstatt sie unverändert zu lassen.
Wird der eingefügte Text an einen Server gesendet?
Nein, Escaping und dessen Rückgängigmachen laufen vollständig im Browser über JavaScript ab, es werden keine Daten online gesendet.
Was tun, wenn der Text nacheinander durch mehrere Kontexte läuft?
Es muss in der richtigen Reihenfolge escaped werden: zuerst für den inneren Kontext (etwa JSON), dann für den äußeren (etwa den Shell-Befehl, in den dieses JSON eingefügt wird). Eine vertauschte Reihenfolge oder eine ausgelassene Ebene ist eine typische Ursache dafür, dass ein „korrekt escapter" String in der Praxis trotzdem bricht.
Warum wird dasselbe Anführungszeichen in verschiedenen Kontexten unterschiedlich escaped?
Jeder Kontext (JS-String, JSON, Shell, Regex) hat seine eigene Syntax mit einem eigenen Satz an Sonderzeichen und einer eigenen Art, sie zu escapen — daher hängt das korrekte Escaping davon ab, wohin der Text genau eingefügt wird, nicht vom Text selbst.