Conversor de HTML para Texto

Cole um trecho, o corpo de um e-mail ou uma página inteira, com até 1.000.000 caracteres.

Emails em texto simples, análises de texto e pipelines de contagem de palavras precisam que o HTML seja transformado na string legível que um humano veria, sem artefatos de marcação. Cole o HTML e esta ferramenta remove cada tag, decodifica entidades (& → &), colapsa sequências de espaços criadas por indentação e produz um bloco limpo de prosa legível pronto para análise ou para a parte text/plain de um email multipart.

Como remover HTML para texto

  1. 1

    Cole o HTML

    Um trecho, o corpo de um e-mail formatado ou uma página inteira, com até 1 milhão de caracteres.

  2. 2

    Converter

    Um clique: cada tag e atributo é removido e as entidades são decodificadas.

  3. 3

    Revise as quebras de linha

    Parágrafos, itens de lista e linhas de tabela se tornam linhas separadas, então o texto mantém sua estrutura.

  4. 4

    Copie o texto

    A saída é texto Unicode simples, seguro para ser usado em um contador de palavras, um modelo de email ou um modelo de sentimento.

Como a conversão lida com tags complicadas

Transformar HTML em texto é mais do que string.replace(/<[^>]+>/, ""): uma expressão regular ingênua deixa os códigos de entidades e os espaços de indentação no lugar, e não sabe que </p> deveria iniciar uma nova linha.

Tags em nível de bloco vs inline

Elementos de bloco (<p>, <div>, <h1> a <h6>, <li>, <tr> e similares) começam e terminam uma linha, e parágrafos, títulos, listas e tabelas ficam separados por uma linha em branco. Elementos inline (<a>, <span>, <strong>) não acrescentam nada, então o texto deles se integra à frase ao redor.

Comportamentos específicos de tags

Tag Tratamento
<br> Uma quebra de linha
<p>, <h1> a <h6>, <blockquote>, <pre> Uma linha em branco antes e depois
<div>, <section>, <article> e outros blocos Uma linha própria
<li> Uma nova linha que começa com - , ou com 1. , 2. e assim por diante em uma lista numerada; listas aninhadas ficam recuadas
<tr>, <td>, <th> Uma linha para cada linha da tabela, com as células separadas por uma tabulação
<a href="url">texto</a> texto; o atributo href é removido
<img alt="texto"> Nada, a tag não tem texto visível
<script>, <style>, <head>, <title>, <noscript>, <template> Removidas junto com o conteúdo

Decodificação de entidades

  • Entidades nomeadas (&amp;, &copy;, &eacute;) decodificam para seu caractere Unicode.
  • Entidades numéricas (&#169;, &#x00A9;) também são decodificadas.
  • Entidades desconhecidas são preservadas literalmente, para que ferramentas de análise as vejam.

Normalização de espaços em branco

  • Espaços e tabulações antes de uma quebra de linha são removidos.
  • Três ou mais linhas em branco seguidas são reduzidas a uma única.
  • Sequências de espaços, tabulações e quebras de linha no código-fonte viram um único espaço, como no navegador, exceto dentro de blocos <pre>, que mantêm o espaçamento original. Espaços não separáveis (&nbsp;) viram espaços comuns.

Usos

  • Gerar a parte text/plain de um email multipart.
  • Limpar artigos extraídos antes de passar para um modelo de linguagem.
  • Alimentar um índice de busca em texto simples.
  • Calcular uma contagem honesta de palavras que ignora a marcação.

Perguntas frequentes

A formatação visual (negrito, cor, fonte) é perdida, esse é o objetivo. A estrutura sobrevive como quebras de linha: parágrafos, itens de lista e linhas de tabela se tornam linhas separadas, então o texto permanece legível.

O texto visível do link permanece, mas a URL é removida junto com os atributos da tag. Se você precisa das URLs, use um conversor dedicado de HTML para Markdown.

Eles são removidos junto com o conteúdo. Blocos <script>, <style>, <noscript> e <template>, o <head> do documento com o <title> e elementos marcados com hidden ou com o estilo display: none nunca chegam à saída, porque quem lê a página nunca os vê.

Sim. A saída é UTF-8 e preserva todos os caracteres não-ASCII da entrada. Entidades como &copy; e &eacute; são decodificadas em seus equivalentes Unicode.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas