HTML Encode online
Digite ou cole o texto para converter em entidades HTML em tempo real. Processamento 100% no navegador — nenhum dado é enviado ao servidor.
htmlspecialchars() do PHP — protege contra XSS ao exibir dados de usuários em HTML.O que é HTML Encode?
HTML Encode (ou HTML Escape) é o processo de substituir caracteres especiais do HTML por suas entidades equivalentes, tornando o texto seguro para exibição em páginas web.
Os cinco caracteres convertidos são:
| Entrada | Saída | Nome da entidade |
|---|---|---|
& | & | Ampersand |
< | < | Less-than |
> | > | Greater-than |
" | " | Quotation mark |
' | ' | Apostrophe |
Por que usar HTML Encode?
Prevenção de XSS
XSS (Cross-Site Scripting) é uma das vulnerabilidades web mais comuns. Acontece quando dados de usuários são inseridos diretamente em HTML sem sanitização:
<!-- Dados do usuário (não sanitizados): -->
Olá, <script>alert('XSS')</script>!
<!-- Após HTML Encode: -->
Olá, <script>alert('XSS')</script>!Com a codificação, o navegador exibe o texto literal <script>alert('XSS')</script> em vez de executá-lo.
Exibição de código-fonte
Para mostrar exemplos de código HTML em tutoriais ou documentação:
<!-- Sem encode (o navegador renderiza a tag): -->
Escreva <b>negrito</b> para formatar o texto.
<!-- Com encode (exibe o código literal): -->
Escreva <b>negrito</b> para formatar o texto.Equivalente em linguagens de programação
| Linguagem | Função |
|---|---|
| PHP | htmlspecialchars($str, ENT_QUOTES, 'UTF-8') |
| Python | html.escape(str) |
| JavaScript | Sem nativo — use uma biblioteca ou DOM |
| Go | html.EscapeString(str) |
| Java | StringEscapeUtils.escapeHtml4(str) |
| Ruby | CGI.escapeHTML(str) |
HTML Encode em frameworks
Frameworks modernos fazem HTML Encode automaticamente em seus sistemas de templates:
- React/Vue/Angular: interpolação
{{ variavel }}codifica automaticamente - Laravel Blade:
{{ $variavel }}usahtmlspecialcharspor padrão - Django:
{{ variavel }}escapa automaticamente (use|safepara desabilitar) - Jinja2: auto-escape configurável
Se você usa um framework moderno, provavelmente não precisa codificar manualmente — mas é essencial entender o que acontece por baixo.
Perguntas frequentes
Preciso codificar dentro de <script>?
Não. Dentro de tags <script>, as regras são do JavaScript, não do HTML. Para dados em JavaScript, use JSON.stringify() ou escaping específico de JavaScript.
HTML Encode é o mesmo que URL Encode?
Não. HTML Encode converte < em < para contextos HTML. URL Encode converte < em %3C para contextos de URL. Use cada um no contexto correto.
Posso usar ' para a aspas simples?
' é válido em XML e HTML5, mas não era suportado no HTML4. Por compatibilidade, prefira ' ou '.