Skip to content

Экранирование JSON

Экранируйте любой текст или JSON в корректный строковый литерал JSON прямо в браузере. Обрабатывает кавычки, переводы строк, табуляции, Unicode и слэши. 100% приватно, без загрузки, мгновенно.

Без отслеживания Работает в браузере Бесплатно
Опции
Заключить в двойные кавычки
Экранировать не-ASCII (\uXXXX)
Экранировать прямой слэш (\/)
0 симв.
Экранированная строка
0 симв.
Проверено на соответствие спецификации JSON, корректность суррогатных пар, безопасность обратного преобразования и экранирование слэша при встраивании в HTML — Инженерная команда Go Tools · Jun 10, 2026

Что такое экранирование JSON?

Экранирование JSON — это процесс преобразования сырой строки в форму, безопасную для встраивания внутрь JSON-документа. В JSON есть небольшой набор символов, несущих структурный смысл — двойная кавычка ограничивает строки, обратный слэш начинает escape-последовательность — плюс управляющие символы (переводы строк, табуляции), которым нельзя буквально появляться внутри строки. Экранирование заменяет каждый из них безопасной двухсимвольной последовательностью (\", \\, \n, \t) или Unicode-экранированием \uXXXX, поэтому результирующая строка чисто парсится где угодно.

К экранированию JSON прибегают чаще, чем может показаться. Самый частый случай — JSON-в-JSON: конверт вебхука, полезная нагрузка очереди сообщений или журнал аудита хранит тело запроса как строковое поле, а значит, внутренний JSON должен быть экранирован перед присвоением. Другой — ручное создание JSON-конфигурации: вставка многострочного shell-скрипта, SQL-запроса или фрагмента кода в одно значение JSON требует превращения каждого перевода строки в \n. Третий — построение тел REST-запросов вручную в инструментах вроде curl, где строку JSON в кавычках нужно экранировать, чтобы она пережила оболочку и слой HTTP.

У этого инструмента три отличия от наивного экранировщика. Во-первых, он построен на точных правилах спецификации JSON — той же логике, что использует совместимый сериализатор — поэтому вывод проходит обратное преобразование без потерь: экранируйте здесь, парсите где угодно, получайте свои байты обратно. Во-вторых, опциональный ASCII-безопасный режим преобразует каждый не-ASCII-символ (включая астральные эмодзи, обрабатываемые как суррогатные пары) в \uXXXX для систем, которым нельзя доверить UTF-8. В-третьих, всё работает на 100% в вашем браузере — ваши нагрузки, которые часто содержат PII, токены и секреты, никогда не касаются сервера. Чтобы обратить процесс, используйте наш инструмент Деэкранирование JSON; чтобы сначала проверить JSON, смотрите Форматтер JSON.

// Input text
She said "hi"
then left.

// Escaped (Wrap on) — identical to JSON.stringify(input)
"She said \"hi\"\nthen left."

// Escaped (Wrap off) — just the body, for hand-built JSON
She said \"hi\"\nthen left.

// JSON-in-JSON
{"a":1}  ->  "{\"a\":1}"  ->  {"payload": "{\"a\":1}"}

Ключевые возможности

Экранирование по спецификации

Построено на точных правилах спецификации JSON — кавычки, обратные слэши, переводы строк, табуляции, возвраты каретки и управляющие символы экранируются идентично совместимому сериализатору. Вывод проходит обратное преобразование без потерь через любой парсер JSON.

Вывод с кавычками или без

«Заключить в кавычки» включено даёт полный строковый литерал JSON (как JSON.stringify); выключено даёт только экранированное тело — для случая, когда вы сами набираете кавычки в JSON-документе, создаваемом вручную.

ASCII-безопасный режим \uXXXX

Опционально преобразует каждый символ выше U+007F в Unicode-экранирование, при этом астральные символы вроде эмодзи обрабатываются как корректные суррогатные пары. Вывод — чистый ASCII, безопасный для устаревших конвейеров, неправильно обрабатывающих UTF-8.

HTML-безопасное экранирование слэша

«Экранировать прямой слэш» превращает / в \/, нейтрализуя последовательность </script>, чтобы JSON можно было встроить внутрь HTML-тега <script>, не закрывая его преждевременно. Выключено по умолчанию для чистого вывода во всех остальных случаях.

Swap для проверки обратного преобразования

Одна кнопка «Поменять направление» переключает в режим деэкранирования на месте и подаёт вывод обратно как ввод, поэтому можно подтвердить, что экранирование → деэкранирование возвращает исходный текст побайтово, перед отправкой.

100% приватность в браузере

Всё экранирование выполняется на стороне клиента — ваши нагрузки (PII, токены, секреты) никогда не покидают браузер. Проверьте это во вкладке «Сеть»: ноль запросов при вставке. Единственный безопасный способ экранировать конфиденциальные данные в онлайн-инструменте.

Примеры

Вложить JSON внутрь JSON (JSON-в-JSON)

{"event":"signup","user":{"id":42,"name":"Alice"}}

Экранируйте этот объект, чтобы он мог существовать как строковое значение внутри другого JSON-документа — например, поле полезной нагрузки вебхука или конверт сообщения Kafka. С включённой опцией «Заключить в кавычки» вывод готов к вставке сразу после двоеточия.

Многострочный фрагмент кода в поле конфигурации

function greet(name) {
  return `Hello, ${name}!`;
}

Превратите многострочную JS-функцию в однострочную строку JSON. Переводы строк становятся \n, а шаблон с обратными кавычками остаётся неизменным — вставьте его в значение JSON-конфигурации, не ломая файл.

Текст с кавычками и табуляциями

She said "hello"	then left.

Двойные кавычки экранируются в \", а табуляция становится \t, поэтому строку безопасно вставить в любой парсер JSON, строку лога или тело REST-запроса.

ASCII-безопасный вывод для устаревших систем

Price: 9.99€ — café société

Включите «Экранировать не-ASCII», чтобы преобразовать € и буквы с диакритикой в \uXXXX. Результат — чистый ASCII, безопасный для систем, которые искажают UTF-8 при передаче.

Как использовать

  1. 1

    Вставьте текст или JSON

    Введите или вставьте что угодно в поле ввода — JSON-объект, фрагмент кода, строку лога или обычный текст. Экранированный результат появится мгновенно. Нажмите «Загрузить пример», чтобы попробовать образец, например полезную нагрузку JSON-в-JSON или многострочную функцию.

  2. 2

    Выберите опции экранирования

    Оставьте «Заключить в кавычки» включённой для полного строкового литерала JSON (как JSON.stringify) или выключите, чтобы получить только экранированное тело. Включите «Экранировать не-ASCII» для чистого ASCII-вывода \uXXXX и «Экранировать прямой слэш» при встраивании JSON в HTML-тег <script>.

  3. 3

    Скопируйте экранированную строку

    Нажмите «Копировать», чтобы забрать результат, готовый к вставке в JSON-документ, тело REST-запроса или файл конфигурации. Нажмите «Поменять направление», чтобы переключиться в режим деэкранирования и проверить обратное преобразование без потерь.

Частые ошибки экранирования

Двойное экранирование (экранирование уже экранированного текста)

Двойной запуск экранирования превращает \n в \\n, а \" в \\\", поэтому потребитель видит литеральный обратный слэш-n вместо перевода строки. Обычно это происходит, когда текст уже был экранирован выше по конвейеру. Сначала деэкранируйте («Поменять направление»), чтобы проверить, затем экранируйте ровно один раз.

✗ Неверно
Input already escaped: line1\nline2
Escaped again -> line1\\nline2  (literal backslash-n)
✓ Верно
Raw input: line1
line2
Escaped once -> line1\nline2  (real newline encoded)

Забыли окружающие кавычки

С выключенной опцией кавычек вы получаете только экранированное тело, а не полную строку JSON. Вставка её прямо туда, где ожидается значение, даёт некорректный JSON, потому что кавычек не хватает. Либо держите кавычки включёнными, либо убедитесь, что набираете их сами.

✗ Неверно
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON
✓ Верно
{"msg": "hello \"world\""}
// Wrap on supplies the quotes -> valid JSON

Излишнее экранирование не-ASCII без необходимости

Включение «Экранировать не-ASCII», когда потребитель прекрасно обрабатывает UTF-8, просто раздувает вывод и вредит читаемости — café становится caf\u00e9 без причины. Оставляйте опцию выключенной, если конкретная устаревшая система не требует чистого ASCII.

✗ Неверно
café  ->  caf\u00e9   (no downstream need; just noise)
✓ Верно
café  ->  café         (valid JSON, readable, smaller)

Частые сценарии использования

Полезные нагрузки вебхуков JSON-в-JSON
Экранируйте тело запроса, чтобы оно могло храниться как строковое поле внутри конверта вебхука, сообщения Kafka или журнала аудита. Оставьте «Заключить в кавычки» включённым — и вывод готов к присвоению ключу во внешнем документе.
Многострочные фрагменты в конфигурации
Превратите многострочный shell-скрипт, SQL-запрос или фрагмент кода в одно строковое значение JSON. Каждый перевод строки становится \n, поэтому файл JSON-конфигурации остаётся корректным в одну строку.
Ручное создание тел REST-запросов
Экранируйте строку JSON перед вставкой в аргумент curl --data или HTTP-клиент, чтобы кавычки и переводы строк пережили оболочку и канал передачи, не сломав запрос.
Безопасное для логов кодирование строк
Экранируйте пользовательский контент перед записью в структурированную строку лога, предотвращая порчу формата лога или нижестоящего парсера JSON-логов внедрёнными кавычками или переводами строк.
Интеграции с устаревшими ASCII-системами
Создавайте чистый ASCII-вывод \uXXXX для SOAP-шлюзов, заголовков email или старых систем, искажающих UTF-8 при передаче, оставаясь при этом полностью декодируемым любым современным парсером JSON.
Встраивание JSON в HTML
Экранируйте прямые слэши, чтобы блок JSON можно было встроить прямо внутрь тега <script> для страниц с серверным рендерингом, не давая </script> внутри данных закрыть тег раньше времени.

Технические детали

Алгоритм экранирования
Инструмент сериализует ваш ввод по строковым правилам спецификации JSON: U+0022 (") → \", U+005C (\) → \\, U+0008 → \b, U+000C → \f, U+000A → \n, U+000D → \r, U+0009 → \t, а любой другой символ ниже U+0020 → \u00XX. С включёнными кавычками окружающие двойные кавычки включаются; с выключенными они убираются. Это в точности совпадает с выводом совместимого сериализатора, гарантируя обратное преобразование без потерь.
Unicode и суррогатные пары
По умолчанию символы выше U+007F выводятся как литеральный UTF-8, что JSON разрешает. С включённой опцией «Экранировать не-ASCII» каждый такой символ преобразуется в \uXXXX по его кодовой единице UTF-16; символы вне базовой многоязычной плоскости (эмодзи, редкие письменности) кодируются как суррогатная пара из двух экранирований \uXXXX — например, 😀 (U+1F600) становится \ud83d\ude00, то же представление, что выдаёт сериализатор JSON.
Прямой слэш и контекст HTML
JSON не требует экранирования /, поэтому по умолчанию он сохраняется. При включённой опции «Экранировать прямой слэш» каждый / становится \/. Единственная практическая причина так делать — встраивание в HTML: внутри тега <script> буквальная подстрока </script> закрывает тег независимо от контекста JSON, поэтому экранирование слэша в <\/script> сохраняет встроенный JSON неповреждённым, оставаясь корректным по спецификации.

Лучшие практики

Держите кавычки включёнными для полных литералов
Когда нужно значение для присвоения в коде или вставки после двоеточия в JSON, держите «Заключить в кавычки» включённым — вывод представляет собой полную, парсируемую строку JSON, идентичную JSON.stringify. Выключайте только тогда, когда вы сами набираете окружающие кавычки.
Оставляйте Unicode-экранирование выключенным, если не требуется
Чистый UTF-8 — корректный JSON и гораздо читаемее. Включайте «Экранировать не-ASCII» только для конкретной нижестоящей системы, неправильно обрабатывающей UTF-8 (устаревший SOAP, некоторые конвейеры логов, исходные файлы только в ASCII). Экранирование всего по умолчанию просто делает вывод более зашумлённым.
Экранируйте слэши только для встраивания в HTML
Экранирование прямого слэша имеет значение ровно в одном месте: JSON, встроенный в HTML-тег <script>. Вне этого контекста оно добавляет мусор без пользы, поэтому оставляйте его выключенным для тел REST, файлов конфигурации и полезных нагрузок сообщений.
Проверяйте обратное преобразование с помощью Swap
Перед отправкой экранированных данных в конвейер нажмите «Поменять направление», чтобы деэкранировать их и убедиться, что вы получаете исходный текст обратно. Это ловит случайное двойное экранирование — частый источник появления \\n там, где имелось в виду \n. Обратить в любой момент можно нашим инструментом Деэкранирование JSON.

Часто задаваемые вопросы

Что делает этот инструмент экранирования JSON?
Он преобразует любой текст — JSON-объект, фрагмент кода, строку лога или обычную прозу — в корректный строковый литерал JSON полностью в вашем браузере. Специальные символы, которые сломали бы JSON-документ, экранируются: двойные кавычки становятся \", обратные слэши — \\, переводы строк — \n, табуляции — \t, возвраты каретки — \r, а другие управляющие символы — \uXXXX. Результат — строка, которую можно безопасно вставить как значение в JSON-документ, тело REST-запроса, файл конфигурации или столбец базы данных. Ничего не загружается — преобразование выполняется на 100% на стороне клиента, поэтому оно безопасно для полезных нагрузок с PII, секретами или внутренними данными.
В чём разница между экранированием JSON и JSON stringify?
Они описывают одну и ту же базовую операцию с двух точек зрения. JSON.stringify() в JavaScript принимает значение и выдаёт его текстовое представление в JSON; когда значение — строка, это означает заключение её в двойные кавычки и экранирование специальных символов внутри — что в точности является экранированием JSON. Этот инструмент делает именно это: с включённой опцией «Заключить в кавычки» вывод равен JSON.stringify(вашТекст); с выключенной вы получаете экранированное тело без окружающих кавычек — это то, что нужно, когда вы строите JSON вручную и уже набрали кавычки. Так что если вы искали json stringify онлайн — это нужный инструмент, он даёт как форму с кавычками, так и без них.
Загружаются ли мои данные куда-либо?
Нет. Всё экранирование выполняется полностью в вашем браузере с помощью JavaScript — ваш текст никогда не передаётся, не хранится, не логируется и не анализируется ни на одном сервере. Это делает инструмент безопасным для API-нагрузок с PII, токенами аутентификации, внутренней конфигурацией и продакшен-секретами. Вы можете проверить это во вкладке «Сеть» браузера: ввод или вставка не вызывают ни одного сетевого запроса. Нет cookie для вашего ввода и нет стороннюю аналитику, фиксирующую то, что вы вставляете.
Когда нужна опция \uXXXX (экранировать не-ASCII)?
JSON допускает чистый UTF-8, поэтому по умолчанию é остаётся é, а эмодзи остаётся эмодзи — полностью корректно и более читаемо. Включайте «Экранировать не-ASCII» только тогда, когда нижестоящей системе нельзя доверить UTF-8: старые SOAP/XML-шлюзы, некоторые конвейеры логирования, заголовки email или исходные файлы, которые должны оставаться чистым ASCII. С включённой опцией каждый символ выше U+007F становится последовательностью \uXXXX (символы из астральных плоскостей, такие как эмодзи, становятся суррогатной парой, например 😀 → \ud83d\ude00). Экранированный вывод побайтово является ASCII и декодируется обратно в исходный Unicode в любом совместимом парсере JSON.
Как вложить JSON-объект внутрь другой строки JSON (JSON-в-JSON)?
Вставьте внутренний JSON во ввод, оставьте «Заключить в кавычки» включённым и скопируйте результат — теперь это единая экранированная строка, которую можно присвоить ключу во внешнем документе. Например, {"a":1} становится "{\"a\":1}", которую вы помещаете после двоеточия: {"payload": "{\"a\":1}"}. Такое двойное кодирование часто встречается в конвертах вебхуков, полезных нагрузках очередей сообщений и журналах аудита, хранящих тело запроса как строку. Чтобы обратить операцию и прочитать внутренний объект, используйте наш инструмент Деэкранирование JSON.
Что делает опция «Экранировать прямой слэш» (\/)?
Прямой слэш / — обычный символ в JSON и не требует экранирования, поэтому по умолчанию он остаётся как есть. Опция существует для одного конкретного случая: встраивания JSON внутрь HTML-тега <script>, где последовательность </script> преждевременно закрыла бы тег. Экранирование / в \/ превращает </script> в <\/script>, что по-прежнему является корректным JSON, но больше не завершает тег. Включайте её только при встраивании JSON в HTML; во всех остальных случаях оставляйте выключенной для более чистого вывода.
Корректно ли обрабатываются переводы строк, табуляции и управляющие символы?
Да. Инструмент построен на точных правилах экранирования из спецификации JSON: перевод строки → \n, возврат каретки → \r, табуляция → \t, забой → \b, перевод страницы → \f, двойная кавычка → \", обратный слэш → \\, а любой оставшийся управляющий символ ниже U+0020 → \uXXXX. Это идентично тому, что выдаёт совместимый сериализатор JSON, поэтому вывод проходит обратное преобразование без потерь: экранируйте здесь, парсите где угодно — и получите исходный текст обратно побайтово.

Похожие инструменты

Все инструменты →

Base64 декодер и кодировщик

Кодирование и форматирование

Декодирование и кодирование Base64 онлайн бесплатно. Преобразование в реальном времени с полной поддержкой UTF-8 и эмодзи. Полная приватность — работает в браузере. Без регистрации.

Конвертер Base64 в изображение

Кодирование и форматирование

Декодируйте строку Base64 или data URI обратно в изображение прямо в браузере. Предпросмотр, размеры и MIME, затем скачивание как PNG, JPG, GIF, SVG. Без загрузки.

Конвертер CSV в JSON

Кодирование и форматирование

Конвертируйте CSV в JSON в браузере. RFC 4180, определение типов, заголовок, безопасность больших целых. 100% приватно, без загрузки.

Конвертер HTML в Markdown

Кодирование и форматирование

Конвертируйте HTML в чистый Markdown прямо в браузере — GFM-таблицы, списки задач и ссылки. Выбирайте ATX/Setext заголовки и inline или reference ссылки. Удобно для переноса веб-контента и подачи в LLM. 100% приватно.

Конвертер изображений в Base64

Кодирование и форматирование

Кодируйте изображения в data URI Base64 прямо в браузере — PNG, JPG, GIF, WebP, SVG, ICO. Копируйте вывод для HTML, CSS, Markdown и JSON. 100% приватно, без загрузки.

JSON Diff и сравнение

Кодирование и форматирование

Сравнивайте два JSON-файла мгновенно в браузере. Side-by-side подсветка, вывод JSON Patch (RFC 6902), игнорирование шума вроде timestamp и ID. 100% приватно, без загрузки.