Escapador de cadeias

Escape ou desescape cadeias para 8 formatos: HTML, XML, JavaScript, Java, .Net (C#), JSON, CSV e SQL.
Todo o processamento é feito localmente no seu navegador — os seus dados nunca são enviados para nenhum servidor.
Formato:
Direção:
⚠ Aviso de segurança: a escapagem de cadeias não substitui consultas parametrizadas. A escapagem por si só NÃO evita a injeção SQL. Use sempre consultas parametrizadas (instruções preparadas) em código de produção.
Como utilizar: escolha um formato e uma direção (Escapar / Desescapar), e depois escreva ou cole o seu texto — o resultado atualiza-se automaticamente. Carregue em Processar para disparar a conversão manualmente.
Para os modos JSON, JavaScript, Java e .Net, marque Escapar todos os caracteres não ASCII para converter caracteres como os chineses em sequências \uXXXX.
Desescapar reverte a escapagem: &lt; passa a <, \n passa a uma quebra de linha, etc.
HTML: Escapar converte & < > " ' em entidades HTML (&amp; &lt; &gt; &quot; &#39;). Use isto ao incorporar texto gerado por utilizadores em HTML para evitar ataques XSS.
Desescapar converte entidades HTML (&amp; &lt; &gt; &quot; &#39;) de volta aos caracteres originais. Usa o analisador HTML nativo do navegador para uma descodificação fiável de todas as entidades com nome e numéricas.
XML: Escapar converte os mesmos 5 caracteres que o HTML (& < > " ') em entidades seguras para XML. O XML exige que todos os & sejam escapados, mesmo em valores de atributos.
Desescapar converte entidades XML de volta aos caracteres originais. Trata as 5 entidades XML predefinidas e as referências de caracteres numéricas. A mesma lógica do desescape HTML.
JavaScript: Escapar converte caracteres especiais em sequências de escape de JavaScript: \n \t \\ \" \' \xHH \uHHHH \u{H...}. Use isto ao gerar literais de cadeia em JavaScript dinamicamente.
Desescapar converte sequências de escape de JavaScript (\n \t \xHH \uHHHH etc.) de volta a caracteres literais. Trata todas as sequências de escape ECMAScript padrão, incluindo os escapes de ponto de código \u{H...}.
JSON: Escapar converte \" \\ e caracteres de controlo em sequências de escape seguras para JSON, segundo a RFC 8259. Use isto ao incorporar texto dentro de valores de cadeia JSON.
Desescapar converte sequências de escape JSON (\" \\ \n \uXXXX etc.) de volta a caracteres literais. Segue a RFC 8259: só são descodificadas sequências de escape JSON válidas.
CSV: Escapar segundo a RFC 4180: envolve os campos em aspas duplas se contiverem vírgulas, aspas duplas ou quebras de linha. As aspas duplas internas são duplicadas (" → "").
Desescapar reverte o escape CSV da RFC 4180: remove as aspas duplas exteriores e volta a separar as aspas internas ("" → "). Trata corretamente campos de várias linhas e vírgulas entre aspas.
SQL: Escapar escapa as aspas simples duplicando-as (' → ''), o que funciona em todas as bases de dados principais (MySQL, PostgreSQL, SQL Server, SQLite). Isto trata apenas da escapagem de literais de cadeia — não protege contra injeção SQL em consultas dinâmicas.
Desescapar converte as aspas simples duplicadas ('' → ') de volta a aspas simples. Reverte a escapagem padrão de literais de cadeia SQL.
Java: Escapar converte caracteres especiais em sequências de escape de Java: \n \t \r \\ \" \' \uXXXX etc. Use isto ao gerar literais de cadeia em Java.
Desescapar converte sequências de escape de Java de volta em caracteres literais. Trata todas as sequências padrão de Java, incluindo os escapes Unicode \uXXXX.
.Net (C#): Escapar converte caracteres especiais em sequências de escape de C#: \n \t \r \a \v \0 \\ \" \uXXXX \UHHHHHHHH etc. Use isto ao gerar literais de cadeia em C#.
Desescapar converte sequências de escape de C# de volta em caracteres literais. Trata todas as sequências padrão de C#, incluindo \UHHHHHHHH UTF-32 e escapes hexadecimais \xHH... de comprimento variável.
A escapagem depende do contexto

O mesmo texto precisa de escapes diferentes consoante o sítio onde aterra: o corpo HTML precisa de &lt; &amp; &gt;, um atributo entre aspas duplas precisa também de &quot;, uma cadeia JavaScript precisa de escapes com barra invertida, e um URL precisa de codificação por percentagem. Escapar para o contexto errado é a forma como acontecem a injeção de marcação e o XSS.

Regra prática: escape para o destino, e não para a origem — decida pelo local para onde os dados vão, e não pelo local de onde vieram.