Como usar
- Cole o texto em Texto e escolha Escapar ou Desescapar em Ação.
- Escolha o tipo de string em Formato, como String JSON ou Literal de string SQL.
- Para um formato com aspas, deixe Incluir as aspas marcada para obter o texto com as aspas, ou desmarque-a para obter só o conteúdo.
- Leia o Resultado, e a tabela Caracteres escapados quando você escapou o texto.
O que significa escapar
Uma string em um programa, em um arquivo ou em uma consulta pode conter diretamente só alguns caracteres. Escapar troca os outros, e os caracteres que encerrariam a string, por uma sequência que o formato lê de volta como o mesmo caractere. Cada formato tem as suas sequências, então um mesmo caractere pode ser escrito de vários jeitos, e desescapar lê essas sequências de volta como caracteres.
- JSON e JavaScript usam barra invertida, então uma quebra de linha é escrita como \n.
- HTML e XML usam o e comercial, um nome e um ponto e vírgula, então o e comercial é escrito como &.
- CSV e SQL duplicam o caractere que encerra o campo ou a string, então uma aspa simples no SQL é escrita como duas aspas simples.
As regras de cada formato
- String JSON: RFC 8259, seção 7. As aspas duplas, a barra invertida e os caracteres de controle são escapados, e um escape \u com quatro dígitos hexadecimais é lido.
- String JavaScript: literais de string da ECMA-262. Em uma string entre aspas duplas só a aspa dupla precisa ser escapada, e os escapes octais antigos são recusados.
- Valor de atributo HTML: os cinco caracteres & < > " ' são escritos como referências. Um nome que esta página não conhece, como é, é mantido como está.
- Texto XML: os mesmos cinco caracteres, com ' para o apóstrofo. O XML 1.0 não tem como escrever um caractere de controle, então esses caracteres são recusados.
- Campo CSV: RFC 4180. Um campo com vírgula, aspa ou quebra de linha é envolvido em aspas duplas, e cada aspa dentro dele é duplicada.
- Literal de string SQL: o manual do PostgreSQL. Uma aspa simples é duplicada. A barra invertida não é especial no SQL padrão.
- Expressão regular: uma barra invertida vai antes de cada caractere de sintaxe, como a ECMA-262 os lista. Desescapar mantém escapes como \d, porque eles são classes.
- String de C# ou Java: os escapes que as duas linguagens leem. Quebras de linha são escritas como \n, e outros caracteres de controle como escapes \u.
- Texto entre aspas simples do shell: POSIX. Nada é especial dentro das aspas simples, então uma aspa é escrita como '\'' (fecha a aspa, escapa-a e a abre de novo).
Erros fáceis de cometer
- Escapar um texto duas vezes duplica as barras invertidas, então o resultado mostra \\n onde o primeiro escape deu \n.
- Uma string JSON colocada dentro de um arquivo JavaScript ainda precisa dos seus próprios escapes no arquivo, e uma string SQL dentro de uma aplicação pode precisar também dos escapes da linguagem.
- Metade de um emoji não pode ser escrita em nenhum desses formatos, então a página a recusa. Digite o caractere de novo.
Exemplo resolvido: uma string JSON com aspas, quebra de linha e barra invertida
O texto He said "hi" & left., uma quebra de linha e depois Path: C:\temp tem duas aspas, uma quebra de linha e uma barra invertida. Escapado como string JSON, com as aspas, ele vira "He said \"hi\" & left.\nPath: C:\\temp". A tabela conta os caracteres que foram escritos de outra forma.
| Caractere | Escrito como | Vezes |
|---|---|---|
| " | \" | 2 |
| U+000A | \n | 1 |
| \ | \\ | 1 |
Perguntas frequentes
O texto é enviado para algum servidor?
Não. Escapar e desescapar rodam no seu navegador, então um texto que tem uma senha ou um token fica no seu aparelho.
Por que desescapar recusa \x41 no JSON?
O JSON não tem o escape \x. Ele tem \u seguido de quatro dígitos hexadecimais, então a letra A é escrita \u0041. Uma string JavaScript aceita \x41, por isso os dois formatos aparecem separados.
Por que as aspas simples ficam intactas em uma string JavaScript?
Uma string entre aspas duplas só precisa que as suas aspas duplas sejam escapadas. Com a opção de incluir as aspas ligada, o resultado é envolvido em aspas duplas, então a aspa simples é um caractere comum ali.
Por que a barra invertida não é escapada no SQL?
O SQL padrão não trata a barra invertida como especial em uma constante de string. Alguns bancos, como o MySQL por padrão, tratam, então confira as regras do seu banco antes de escrever uma barra invertida em uma string SQL.
O que muda com Incluir as aspas?
Quando está ligada, o texto escapado é envolvido nas aspas do formato, como aspas duplas para JSON ou aspas simples para SQL. Desligue-a para obter só o conteúdo, por exemplo para colocá-lo dentro de uma string que já tem aspas.
Por que um resultado CSV tem aspas quando meu texto não tem aspa?
A RFC 4180 exige que um campo seja envolvido em aspas quando tem vírgula, aspa ou quebra de linha. Um campo simples é escrito como está, sem aspas.
Por que um caractere de controle é recusado no XML?
O XML 1.0 não permite caracteres como U+0001 de jeito nenhum, nem como referência, então a página não consegue escrevê-los. Remova-os do texto antes.
Fontes
- RFC 8259 (em inglês): The JavaScript Object Notation (JSON) Data Interchange Format, section 7 (IETF)
- ECMA-262 (em inglês): ECMAScript Language Specification, string literals and regular expression syntax
- XML 1.0 (em inglês), Fifth Edition, section 4.6 predefined entities (W3C)
- RFC 4180 (em inglês): Common Format and MIME Type for Comma-Separated Values (CSV) Files (IETF)
- Manual do PostgreSQL (em inglês): string constants (sql-syntax-lexical)
- POSIX (em inglês): Shell and Utilities, section 2.2.2 single-quotes (The Open Group)
- Especificação da linguagem Java (em inglês), capítulo 3: literals and escape sequences (Oracle)
- Especificação da linguagem C# (em inglês): lexical structure (Microsoft)
- Manual do MySQL (em inglês): string literals and the backslash escape character
Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.