Skip to content

Escape de JSON

Faça o escape de qualquer texto ou JSON para um literal de string JSON válido no navegador. Trata aspas, quebras de linha, tabulações, Unicode e barras. 100% privado, sem upload, instantâneo.

Sem rastreamento Roda no navegador Grátis
Opções
Envolver em aspas duplas
Escape de não-ASCII (\uXXXX)
Escape da barra (\/)
0 caracteres
String com Escape
0 caracteres
Revisado quanto à conformidade com a especificação JSON, correção de pares substitutos, segurança de ida e volta e escape de barra para inserção em HTML — Equipe de Engenharia da Go Tools · Jun 10, 2026

O que é o Escape de JSON?

O escape de JSON é o processo de converter uma string bruta em uma forma que seja segura para embutir dentro de um documento JSON. O JSON tem um pequeno conjunto de caracteres que carregam significado estrutural — as aspas duplas delimitam strings, a barra invertida inicia uma sequência de escape — além de caracteres de controle (quebras de linha, tabulações) que não podem aparecer literalmente dentro de uma string. O escape substitui cada um deles por uma sequência segura de dois caracteres (\", \\, \n, \t) ou por um escape Unicode \uXXXX, de modo que a string resultante seja interpretada corretamente em qualquer lugar.

Você recorre ao escape de JSON com mais frequência do que imagina. O caso mais comum é o JSON-in-JSON: um envelope de webhook, um payload de fila de mensagens ou um log de auditoria armazena um corpo de requisição como um campo de string, o que significa que o JSON interno precisa receber escape antes de ser atribuído. Outro é escrever configuração JSON à mão: colar um script de shell multilinha, uma consulta SQL ou um trecho de código em um único valor JSON exige transformar cada quebra de linha em \n. Um terceiro é montar corpos de requisição REST à mão em ferramentas como o curl, onde uma string JSON com aspas precisa receber escape para sobreviver ao shell e à camada HTTP.

Esta ferramenta tem três diferenciais sobre um escapador ingênuo. Primeiro, ela é construída sobre as regras exatas da especificação JSON — a mesma lógica que um serializador conforme usa — então a saída faz ida e volta sem perdas: faça o escape aqui, faça o parse em qualquer lugar, recupere seus bytes. Segundo, o modo opcional seguro em ASCII converte cada caractere não-ASCII (incluindo emojis astrais, tratados como pares substitutos) em \uXXXX para sistemas a quem não se pode confiar UTF-8. Terceiro, tudo roda 100% no seu navegador — seus payloads, que muitas vezes contêm PII, tokens e segredos, nunca tocam um servidor. Para reverter o processo, use nossa ferramenta de Des-escape de JSON; para validar o JSON primeiro, veja o Formatador de 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}"}

Principais Recursos

Escape Fiel à Especificação

Construído sobre as regras exatas da especificação JSON — aspas, barras invertidas, quebras de linha, tabulações, retornos de carro e caracteres de controle recebem escape de forma idêntica a um serializador conforme. A saída faz ida e volta sem perdas por qualquer parser JSON.

Saída Com ou Sem Aspas

Envolver em aspas duplas ativado fornece um literal de string JSON completo (igual a JSON.stringify); desativado fornece apenas o corpo com escape, para quando você mesmo está digitando as aspas em um documento JSON escrito à mão.

Modo \uXXXX Seguro em ASCII

Opcionalmente converte cada caractere acima de U+007F em um escape Unicode, com caracteres astrais como emojis tratados como pares substitutos corretos. A saída é ASCII puro, segura para pipelines legados que tratam mal UTF-8.

Escape de Barra Seguro para HTML

O escape da barra transforma / em \/, neutralizando a sequência </script> para que o JSON possa ser inserido dentro de uma tag HTML <script> sem fechá-la prematuramente. Desativado por padrão para uma saída limpa em todos os outros lugares.

Trocar para Verificar a Ida e Volta

Um botão Trocar direção vira para o modo de des-escape no lugar e realimenta a saída como entrada, para que você possa confirmar que escape → des-escape retorna seu texto original byte a byte antes de enviá-lo.

Privacidade 100% no Navegador

Todo o escape roda no lado do cliente — seus payloads (PII, tokens, segredos) nunca saem do navegador. Verifique na aba Network: zero requisições ao colar. A única maneira segura de fazer o escape de dados sensíveis em uma ferramenta online.

Exemplos

Embutir JSON dentro de JSON (JSON-in-JSON)

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

Faça o escape deste objeto para que ele possa viver como um valor de string dentro de outro documento JSON — por exemplo, um campo de payload de webhook ou um envelope de mensagem Kafka. Com a opção Envolver ativada, a saída fica pronta para colar logo após os dois-pontos.

Trecho de código multilinha em um campo de configuração

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

Transforme uma função JS multilinha em uma string JSON de uma linha. As quebras de linha viram \n e o template com crase permanece intacto — cole-o em um valor de configuração JSON sem quebrar o arquivo.

Texto com aspas e tabulações

She said "hello"	then left.

As aspas duplas recebem escape para \" e a tabulação vira \t, então a string é segura para inserir em qualquer parser JSON, linha de log ou corpo de requisição REST.

Saída segura em ASCII para sistemas legados

Price: 9.99€ — café société

Ative Escape de não-ASCII para converter € e letras acentuadas em \uXXXX. O resultado é ASCII puro, seguro para sistemas que corrompem UTF-8 em trânsito.

Como Usar

  1. 1

    Cole seu texto ou JSON

    Digite ou cole qualquer coisa no campo de entrada — um objeto JSON, um trecho de código, uma linha de log ou texto comum. O resultado com escape aparece instantaneamente. Clique em 'Carregar exemplo' para testar uma amostra, como um payload JSON-in-JSON ou uma função multilinha.

  2. 2

    Escolha as opções de escape

    Mantenha 'Envolver em aspas duplas' ativada para um literal de string JSON completo (igual a JSON.stringify), ou desativada para obter apenas o corpo com escape. Alterne 'Escape de não-ASCII' para saída \uXXXX em ASCII puro, e 'Escape da barra' ao inserir JSON em uma tag HTML <script>.

  3. 3

    Copie a string com escape

    Clique em Copiar para pegar o resultado, pronto para colar em um documento JSON, corpo de requisição REST ou arquivo de configuração. Clique em Trocar direção para virar para o modo de des-escape e verificar uma ida e volta sem perdas.

Armadilhas Comuns de Escape

Escape Duplo (escapar texto já com escape)

Executar o escape duas vezes transforma \n em \\n e \" em \\\", então o consumidor vê uma barra invertida-n literal em vez de uma quebra de linha. Isso geralmente acontece quando o texto já havia recebido escape de JSON anteriormente. Desfaça o escape primeiro (Trocar direção) para verificar e depois faça o escape exatamente uma vez.

✗ Incorreto
Input already escaped: line1\nline2
Escaped again -> line1\\nline2  (literal backslash-n)
✓ Correto
Raw input: line1
line2
Escaped once -> line1\nline2  (real newline encoded)

Esquecer as Aspas ao Redor

Com Envolver desativado, você obtém apenas o corpo com escape, não uma string JSON completa. Colar isso diretamente onde se espera um valor produz JSON inválido porque as aspas estão faltando. Mantenha Envolver ativado, ou certifique-se de digitar as aspas você mesmo.

✗ Incorreto
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON
✓ Correto
{"msg": "hello \"world\""}
// Wrap on supplies the quotes -> valid JSON

Escape Excessivo de Não-ASCII Desnecessariamente

Ativar Escape de não-ASCII quando o consumidor lida bem com UTF-8 apenas incha a saída e prejudica a legibilidade — café vira caf\u00e9 sem motivo. Deixe a opção desativada a menos que um sistema legado específico exija ASCII puro.

✗ Incorreto
café  ->  caf\u00e9   (no downstream need; just noise)
✓ Correto
café  ->  café         (valid JSON, readable, smaller)

Casos de Uso Comuns

Payloads de Webhook JSON-in-JSON
Faça o escape de um corpo de requisição para que ele possa ser armazenado como um campo de string dentro de um envelope de webhook, mensagem Kafka ou log de auditoria. Mantenha Envolver ativado e a saída fica pronta para atribuir a uma chave no documento externo.
Trechos Multilinha em Configuração
Transforme um script de shell multilinha, consulta SQL ou trecho de código em um único valor de string JSON. Cada quebra de linha vira \n para que o arquivo de configuração JSON permaneça válido em uma única linha.
Corpos de Requisição REST Montados à Mão
Faça o escape de uma string JSON antes de inseri-la em um argumento curl --data ou em um cliente HTTP, para que aspas e quebras de linha sobrevivam ao shell e à rede sem quebrar a requisição.
Codificação de Strings Segura para Logs
Faça o escape de conteúdo fornecido pelo usuário antes de gravá-lo em uma linha de log estruturada, impedindo que aspas ou quebras de linha injetadas corrompam o formato do log ou um parser de log JSON posterior.
Integrações Legadas Somente em ASCII
Produza saída \uXXXX em ASCII puro para gateways SOAP, cabeçalhos de e-mail ou sistemas mais antigos que corrompem UTF-8 em trânsito, permanecendo totalmente decodificável por qualquer parser JSON moderno.
Inserir JSON em HTML
Faça o escape de barras para que um bloco JSON possa ser embutido diretamente dentro de uma tag <script> em páginas renderizadas no servidor, sem que </script> dentro dos dados feche a tag cedo demais.

Detalhes Técnicos

Algoritmo de Escape
A ferramenta serializa sua entrada com as regras de string da especificação JSON: U+0022 (") → \", U+005C (\) → \\, U+0008 → \b, U+000C → \f, U+000A → \n, U+000D → \r, U+0009 → \t, e qualquer outro caractere abaixo de U+0020 → \u00XX. Com Envolver ativado, as aspas duplas ao redor são incluídas; com ela desativada, são removidas. Isso corresponde exatamente à saída de um serializador conforme, garantindo idas e voltas sem perdas.
Unicode e Pares Substitutos
Por padrão, os caracteres acima de U+007F são emitidos como UTF-8 literal, o que o JSON permite. Com Escape de não-ASCII ativado, cada caractere desse tipo é convertido em \uXXXX usando sua unidade de código UTF-16; caracteres fora do Plano Multilíngue Básico (emojis, escritas raras) são codificados como um par substituto de dois escapes \uXXXX — por exemplo 😀 (U+1F600) vira \ud83d\ude00, a mesma representação que um serializador JSON produz.
Barra e Contexto HTML
O JSON não exige escape de /, então ela é preservada por padrão. Quando Escape da barra está ativado, cada / vira \/. A única razão prática para isso é a inserção em HTML: dentro de uma tag <script>, a substring literal </script> fecha a tag independentemente do contexto JSON, então fazer o escape da barra para <\/script> mantém o JSON inserido intacto enquanto permanece válido pela especificação.

Boas Práticas

Mantenha Envolver Ativado para Literais Completos
Quando você precisa de um valor para atribuir em código ou colar após os dois-pontos em JSON, mantenha Envolver em aspas duplas ativado — a saída é uma string JSON completa e analisável, idêntica a JSON.stringify. Desative-a apenas quando você mesmo estiver digitando as aspas ao redor.
Deixe o Escape de Unicode Desativado a Menos que Necessário
UTF-8 bruto é JSON válido e muito mais legível. Ative Escape de não-ASCII apenas para um sistema posterior específico que trate mal UTF-8 (SOAP legado, alguns pipelines de log, arquivos-fonte somente em ASCII). Fazer o escape de tudo por padrão só deixa a saída mais ruidosa.
Só Faça o Escape de Barras para Inserção em HTML
O escape da barra importa em exatamente um lugar: JSON inserido em uma tag HTML <script>. Fora desse contexto, ele adiciona desordem sem benefício, então deixe-o desativado para corpos REST, arquivos de configuração e payloads de mensagens.
Verifique Idas e Voltas com Trocar
Antes de enviar dados com escape para um pipeline, clique em Trocar direção para desfazer o escape e confirmar que você recupera o texto original. Isso detecta escape duplo acidental — uma fonte frequente de \\n aparecendo onde se pretendia \n. Reverta a qualquer momento com nossa ferramenta de Des-escape de JSON.

Perguntas Frequentes

O que esta ferramenta de escape de JSON faz?
Ela converte qualquer texto — um objeto JSON, um trecho de código, uma linha de log ou texto comum — em um literal de string JSON válido, inteiramente no seu navegador. Os caracteres especiais que quebrariam um documento JSON recebem escape: aspas duplas viram \", barras invertidas viram \\, quebras de linha viram \n, tabulações viram \t, retornos de carro viram \r, e outros caracteres de controle viram \uXXXX. O resultado é uma string que você pode colar com segurança como um valor dentro de um documento JSON, um corpo de requisição REST, um arquivo de configuração ou uma coluna de banco de dados. Nada é enviado — a conversão roda 100% no lado do cliente, então é segura para payloads com dados pessoais (PII), segredos ou dados internos.
Qual é a diferença entre escape de JSON e JSON stringify?
Eles descrevem a mesma operação central sob dois ângulos. O JSON.stringify() em JavaScript pega um valor e produz sua representação em texto JSON; quando o valor é uma string, isso significa envolvê-la em aspas duplas e fazer o escape dos caracteres especiais internos — que é exatamente o escape de JSON. Esta ferramenta faz precisamente isso: com Envolver em aspas duplas ativado, a saída equivale a JSON.stringify(seuTexto); com ela desativada, você obtém o corpo com escape sem as aspas ao redor, que é o que você precisa quando está construindo o JSON à mão e já digitou as aspas. Então, se você procurou por json stringify online, esta é a ferramenta — ela fornece tanto a forma com aspas quanto a sem aspas.
Meus dados são enviados para algum lugar?
Não. Todo o escape roda inteiramente no seu navegador usando JavaScript — seu texto nunca é transmitido, armazenado, registrado ou analisado em nenhum servidor. Isso torna a ferramenta segura para payloads de API com PII, tokens de autenticação, configuração interna e segredos de produção. Você pode verificar na aba Network do navegador: digitar ou colar não dispara nenhuma requisição de rede. Não há cookies para a sua entrada e nenhuma análise de terceiros que capture o que você cola.
Quando preciso da opção \uXXXX (escape de não-ASCII)?
O JSON permite UTF-8 bruto, então por padrão um é continua um é e um emoji continua um emoji — perfeitamente válido e mais legível. Ative Escape de não-ASCII apenas quando não se pode confiar UTF-8 a um sistema posterior: gateways SOAP/XML antigos, alguns pipelines de log, cabeçalhos de e-mail ou arquivos-fonte que devem permanecer em ASCII puro. Com a opção ativada, cada caractere acima de U+007F vira uma sequência \uXXXX (caracteres astrais como emojis viram um par substituto, p. ex. 😀 → \ud83d\ude00). A saída com escape é ASCII byte a byte e decodifica de volta para o Unicode original em qualquer parser JSON conforme.
Como embuto um objeto JSON dentro de outra string JSON (JSON-in-JSON)?
Cole o JSON interno na entrada, mantenha Envolver em aspas duplas ativado e copie o resultado — agora ele é uma única string com escape que você pode atribuir a uma chave no documento externo. Por exemplo, {"a":1} vira "{\"a\":1}", que você coloca após os dois-pontos: {"payload": "{\"a\":1}"}. Essa codificação dupla é comum em envelopes de webhook, payloads de filas de mensagens e logs de auditoria que armazenam um corpo de requisição como string. Para reverter e ler o objeto interno, use nossa ferramenta de Des-escape de JSON.
O que faz a opção Escape da barra (\/)?
A barra / é um caractere normal em JSON e não exige escape, então é deixada intacta por padrão. A opção existe para um caso específico: embutir JSON dentro de uma tag HTML <script>, onde a sequência </script> fecharia a tag prematuramente. Fazer o escape de / para \/ transforma </script> em <\/script>, que ainda é JSON válido mas não é mais um fechamento de tag. Ative-a apenas quando estiver inserindo JSON em HTML; para qualquer outro uso, deixe-a desativada para uma saída mais limpa.
Ela trata quebras de linha, tabulações e caracteres de controle corretamente?
Sim. A ferramenta é construída sobre as regras exatas de escape da especificação JSON: quebra de linha → \n, retorno de carro → \r, tabulação → \t, backspace → \b, form feed → \f, aspas duplas → \", barra invertida → \\, e qualquer caractere de controle restante abaixo de U+0020 → \uXXXX. Isso é idêntico ao que um serializador JSON conforme produz, então a saída faz ida e volta sem perdas: faça o escape aqui, faça o parse em qualquer lugar, e você recupera seu texto original byte a byte.

Ferramentas relacionadas

Ver todas as ferramentas →