100 % local — seus dados nunca saem do seu navegador

Escapar HTML — texto que aparece como texto

Escape texto para HTML. Os cinco caracteres estruturais viram entidades nomeadas e o resto uma referência numérica que funciona em qualquer página.

Instantâneo Privado Zero cookies

Entrada Text

Saída HTML Entities

O que esta ferramenta faz

Cinco caracteres mudam o sentido do HTML, então recebem um nome:

CaractereSaída
&&
<&lt;
>&gt;
"&quot;
'&#39;

Tudo acima do ASCII imprimível vira uma referência numérica decimal: é dá &#233;, € dá &#8364;.

Numéricas em vez de nomeadas

é sai como &#233;, não como &eacute;, e isso é deliberado.

Uma entidade nomeada precisa ser definida pelo tipo de documento. O HTML define alguns milhares; o XML define exatamente cinco. Cole &eacute; num arquivo XML, num feed Atom ou num documento XHTML servido como XML: o analisador reporta entidade não definida. &#233; todos entendem.

Os caracteres invisíveis ficam visíveis

Um espaço não separável vira &#160;. Muitas vezes é justamente esse o interesse: um U+00A0 colado do Word parece exatamente um espaço no seu editor e não se comporta como um, e codificar é como você o encontra.

Tabulação e quebra de linha ficam literais. São legítimas em texto HTML, e transformá-las em referências só tornaria a fonte menos legível.

O apóstrofo

' vira &#39; em vez de &apos;. &apos; é definido em XML e em HTML5, mas não em HTML 4 — um documento nesse modo exibe os sete caracteres em vez da aspa. A forma numérica não tem essa lacuna.

Uma referência por caractere, não por unidade

Um emoji sai como &#128512;, uma única referência. Caracteres fora do plano multilíngue básico são guardados em duas unidades internamente, e um escapador ingênuo emite duas referências quebradas. Este percorre pontos de código.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Por que é vira &#233; e não &eacute;?
Porque uma referência numérica funciona em todos os documentos. As entidades nomeadas além das cinco básicas são definidas pelo doctype HTML — o XML predefine exatamente cinco, então `&eacute;` num arquivo XML é um erro de entidade não definida. `&#233;` não carrega essa condição.
Preciso escapar todo caractere não ASCII?
Não. Um documento UTF-8 que declara sua codificação exibe `é` diretamente, e em geral essa é a melhor fonte. O escape importa quando o texto precisa atravessar um canal só ASCII ou que você não controla: um motor de templates antigo, um gateway de e-mail, um campo de banco com codificação desconhecida.
Isso basta para tornar a entrada do usuário segura em HTML?
Para conteúdo de texto e para um valor de atributo entre aspas, sim: esses cinco caracteres são exatamente os que mudam o sentido da marcação. **Não** basta dentro de `<script>` ou `<style>`, num atributo sem aspas, nem num atributo de URL onde o risco é `javascript:`. O escape depende do contexto, e esta ferramenta cobre um.

Conversores relacionados