Текст
String Escape
Экранировать текст в строковый литерал (кавычки, backslash, управляющие символы) для вставки в код, или разэкранировать обратно.
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.
Статья об этом инструменте: String Escape: почему один и тот же текст нужно экранировать по-разному
Часто задаваемые вопросы
Что именно делает экранирование?
Оно превращает кавычки, обратные слеши и управляющие символы (вроде разрывов строк или табуляций) в действительные экранированные последовательности в пределах строкового литерала, чтобы текст можно было вставить как есть в исходный код.
Для чего нужны стиль кавычек и опция unicode?
Стиль кавычек (двойные, одинарные или обратные) определяет, какой символ экранируется, чтобы не сломать строку, а опция \uXXXX превращает не-ASCII символы в экранированные unicode-последовательности вместо того, чтобы оставить их как есть.
Отправляется ли вставленный текст на сервер?
Нет, экранирование и его отмена полностью выполняются в браузере через JavaScript, никакие данные не отправляются онлайн.
Что делать, если текст проходит через несколько контекстов подряд?
Экранировать нужно в правильном порядке: сначала для внутреннего контекста (например, JSON), затем для внешнего (например, shell-команда, в которую вставляется этот JSON). Перепутанный порядок или пропущенный уровень — типичная причина, почему «правильно экранированная» строка всё равно ломается на практике.
Почему одна и та же кавычка экранируется по-разному в разных контекстах?
Каждый контекст (JS-строка, JSON, shell, regex) имеет собственный синтаксис со своим набором спецсимволов и собственным способом их экранирования — поэтому правильное экранирование зависит от того, куда именно вставляется текст, а не от самого текста.