PK Systems PK Systems
Ferramentas de texto

Escape e Unescape de Strings

Aplique escape e unescape em strings para JavaScript, JSON, SQL, HTML, URL e regex — escolha um contexto e pronto.

Escape e Unescape de Strings

Saída com escape

O que é escape de string?

Toda sintaxe baseada em texto — JSON, SQL, HTML, URL, regex — tem caracteres especiais que significam algo além de si mesmos. Colocar uma ' sem escape numa string SQL pode quebrar a query (ou abrir brecha para injeção). Um < sem escape no HTML desenha uma tag. Um ? literal numa URL vira separador de query. Escapar é o processo de converter esses caracteres em uma forma segura que o parser interpreta de volta como o caractere original. Unescape é o caminho inverso — voltar uma string JSON ou HTML para a forma plana.

Como usar o escape

Escolha um contexto compatível com a sintaxe em que você está trabalhando — JavaScript, JSON, SQL, HTML, componente de URL ou regex. Selecione Escape para converter texto plano numa forma segura para o contexto, ou Unescape para o inverso. Cole sua entrada. A saída atualiza ao vivo, com contagem de caracteres. Cada contexto usa as regras daquela sintaxe com precisão: JS usa \n, \t, \"; SQL duplica aspas simples; HTML usa entidades; URL usa codificação percentual.

Escolhendo o contexto certo

Se vai embutir a string dentro de código JavaScript, use JavaScript. Se vai num valor JSON (config, payload de API), use JSON — ele é mais estrito que JS. HTML é a escolha certa para conteúdo que será renderizado numa página (também seguro para valores de atributos HTML). URL é para valores individuais de parâmetros de query, não URLs completas (que já contêm :// e ? como caracteres estruturais). Regex escapa uma string literal para uso dentro de uma expressão regular — útil quando você quer casar entrada do usuário literalmente.

Exemplos por contexto

Contexto Entrada Saída
JavaScriptIt's "fine"It\'s \"fine\"
JSONline1\nline2line1\\nline2
SQLO'BrienO''Brien
HTML<b> & "x"&lt;b&gt; &amp; &quot;x&quot;
URLa b/c?d=1a%20b%2Fc%3Fd%3D1
Regex3.14 (pi)3\.14 \(pi\)

Perguntas frequentes

Por que existem modos JavaScript e JSON separados?
JSON é um subconjunto estrito da sintaxe de strings do JavaScript — não permite \', \v, \0, escapes hexadecimais (\xHH) ou caracteres de controle sem aspas. JS é mais permissivo. Se você está montando um documento JSON, use JSON; se está embutindo uma string em código .js, use JavaScript. Misturar pode gerar strings que travam um parser JSON.
Devo usar isto em queries SQL para evitar injeção?
Não — para queries de produção, use queries parametrizadas (prepared statements) no driver do banco. O escape SQL aqui serve para conversão legível por humanos (ex.: montar uma query pontual, transformar um dump de dados). Duplicar aspa simples é o padrão SQL, mas apps modernos devem passar valores como parâmetros, não concatenar.
Qual a diferença entre encodeURIComponent e encodeURI?
O modo URL usa codificação de componente, que escapa ?, &, =, / e similares — ou seja, é seguro pôr dentro de um valor de query. A codificação de URL completa deixa esses caracteres livres porque eles têm significado estrutural. Se você está codificando um valor que vai depois de um = numa URL, este modo é o que você quer.
O escape HTML serve para atributo ou conteúdo?
Os dois. O codificador escapa <, >, &, " e ' — o que cobre o que é estritamente necessário para qualquer um dos contextos, então o resultado pode ser jogado em conteúdo de elemento ou em qualquer atributo (com aspas simples ou duplas).
O que o modo regex escapa?
Cada caractere com significado especial em expressões regulares JavaScript: \, ^, $, ., *, +, ?, (, ), [, ], {, }, |, /, -. O resultado pode ser usado dentro de uma regex para casar a string original literalmente — útil quando você tem uma entrada de usuário e quer encontrar exatamente aquele texto.
Algo sai do navegador?
Não. Escape e unescape rodam como JavaScript puro no seu navegador. Seguro para credenciais, queries internas, strings com segredos — nada é enviado, registrado ou salvo.