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.
Opções
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
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
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
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.
Input already escaped: line1\nline2 Escaped again -> line1\\nline2 (literal backslash-n)
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.
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON {"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.
café -> caf\u00e9 (no downstream need; just noise)
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?
Qual é a diferença entre escape de JSON e JSON stringify?
Meus dados são enviados para algum lugar?
Quando preciso da opção \uXXXX (escape de não-ASCII)?
Como embuto um objeto JSON dentro de outra string JSON (JSON-in-JSON)?
O que faz a opção Escape da barra (\/)?
Ela trata quebras de linha, tabulações e caracteres de controle corretamente?
Ferramentas relacionadas
Ver todas as ferramentas →Decodificador e Codificador Base64
Codificação e Formatação
Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.
Conversor de Base64 para Imagem
Codificação e Formatação
Decodifique uma string Base64 ou data URI de volta para imagem no navegador. Pré-visualize, leia dimensões e MIME, e baixe como PNG, JPG, GIF, SVG. Sem upload.
Conversor CSV para JSON
Codificação e Formatação
Converta CSV para JSON no navegador. RFC 4180, inferência de tipos, cabeçalho, seguro para inteiros grandes. 100% privado, sem upload.
Conversor de HTML para Markdown
Codificação e Formatação
Converta HTML em Markdown limpo no seu navegador — tabelas GFM, listas de tarefas e links. Escolha cabeçalhos ATX/Setext e links inline ou de referência. Ótimo para migrar conteúdo web ou alimentar LLMs. 100% privado, sem upload.
Conversor de Imagem para Base64
Codificação e Formatação
Converta imagens em data URIs Base64 no seu navegador — PNG, JPG, GIF, WebP, SVG, ICO. Copie a saída em HTML, CSS, Markdown e JSON. 100% privado, sem upload.
JSON Diff (Comparar)
Codificação e Formatação
Compare dois arquivos JSON instantaneamente no navegador. Destaque lado a lado, saída JSON Patch (RFC 6902), ignore campos ruidosos como timestamps e IDs. 100% privado, sem upload.