Formatos de arquivo
O que é HTML? História, análise sintática e DOM
HTML é a linguagem de marcação que descreve a estrutura das páginas web e está por trás de quase todos os sites. Veja sua história, como os navegadores o processam e o que observar ao transformar HTML em documentos.
Autor: Hemen Dönüştür Editör EkibiPublicado em: 8 min de leitura

Quase tudo o que você vê na web, inclusive esta página, é escrito em HTML. O HTML (HyperText Markup Language) não é uma linguagem de programação, e sim uma linguagem de marcação que descreve a estrutura de um documento: isto é um título, isto é um parágrafo, isto é um link, isto é uma tabela. E o HTML não serve só para sites. Ele aparece em modelos de e-mail, documentação de ajuda, relatórios exportados e documentos "salvos como página da web". Este artigo aborda a história do HTML, como o navegador o lê e o desenha na tela, os problemas mais comuns e o que levar em conta ao converter arquivos HTML para Word ou PDF.
O que é HTML?
HTML é uma linguagem em texto simples que marca o conteúdo com tags. As tags ficam entre sinais de menor e maior, e a maioria delas forma um elemento com uma tag de abertura e uma de fechamento:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<title>Página de exemplo</title>
</head>
<body>
<h1>Olá</h1>
<p>Este parágrafo contém um <a href="https://example.com">link</a>.</p>
</body>
</html>
A seção <head> traz informações sobre a página (codificação de caracteres, título, folhas de estilo), enquanto <body> contém o conteúdo visível. A aparência é definida com CSS e o comportamento com JavaScript. Nessa divisão, o HTML descreve o que o conteúdo é, o CSS como ele se parece e o JavaScript o que ele faz.
Um pouco de história
O HTML nasceu como parte do projeto World Wide Web que Tim Berners-Lee propôs no CERN em 1989. Seu primeiro navegador rodava em um computador NeXT em 1990. As primeiras versões da linguagem eram menos um padrão formal e mais uma lista de tags documentada no CERN. Os principais marcos desde então:
- Novembro de 1995, HTML 2.0: o RFC 1866, escrito por Tim Berners-Lee e Dan Connolly, definiu o HTML como padrão formal pela primeira vez.
- Janeiro de 1997, HTML 3.2: a versão que o W3C endossou formalmente como especificação para todo o setor.
- 24 de dezembro de 1999, HTML 4.01: continuou sendo a especificação central da web por anos; o W3C a marcou formalmente como substituída em 27 de março de 2018.
- 28 de outubro de 2014, HTML5: o W3C publicou o HTML5 como Recomendação. Vídeo, áudio, elementos semânticos de seção e um algoritmo de análise sintática definido com precisão foram padronizados com ele.
- 28 de maio de 2019, um padrão único: o W3C e o WHATWG, a comunidade formada pelos fabricantes de navegadores, assinaram um memorando de entendimento. Por esse acordo, o HTML e o DOM passam a ser desenvolvidos principalmente no WHATWG como um "Living Standard" sem número de versão.
Ou seja, "HTML5" hoje significa na prática "o HTML atual"; a especificação oficial é o HTML Living Standard, atualizado continuamente.
Qual é o alcance? Segundo as estatísticas da W3Techs de 15 de outubro de 2026, 97,8% dos sites cuja linguagem de marcação é conhecida usam HTML. A mesma fonte informa que 99,1% dos sites cuja codificação de caracteres é conhecida usam UTF-8.
Como o navegador processa o HTML?
O que diferencia o HTML de outros formatos de documento é que até documentos mal escritos são interpretados da mesma forma em todos os navegadores. O HTML Living Standard define um modelo detalhado de análise sintática para isso:
- Determinação da codificação: primeiro o navegador precisa transformar os bytes recebidos em caracteres. Ele verifica, nesta ordem, se há um BOM, a codificação declarada no cabeçalho HTTP do servidor e uma declaração
<meta charset>nos primeiros 1024 bytes do documento; se não encontrar nenhuma, faz uma estimativa fundamentada. - Tokenização: uma máquina de estados divide o texto em tokens, como tags de abertura, tags de fechamento, comentários, DOCTYPEs e caracteres.
- Construção da árvore: os tokens são processados conforme modos de inserção como "in body" ou "in table". O analisador mantém uma pilha de elementos abertos e corrige tags mal aninhadas segundo regras definidas.
- O DOM: o resultado é uma árvore de objetos chamada Document Object Model (DOM). O CSS é aplicado a essa árvore, e o JavaScript a lê e modifica.
A especificação deixa claro que o tratamento de erros de análise é bem definido. Se você escrever <div/>, por exemplo, o HTML ignora a barra final, e os elementos seguintes acabam dentro dessa div. Um <p> não fechado é fechado automaticamente quando chega o próximo elemento de bloco. Essa tolerância é o que mantém a web funcionando apesar de inúmeras páginas imperfeitas, mas também significa que qualquer ferramenta que converta HTML em um formato de documento precisa seguir as mesmas regras.
Onde o HTML é usado?
- Sites e aplicativos web: o esqueleto de toda página web.
- E-mail: e-mails formatados e newsletters são escritos em HTML.
- Documentação: páginas de ajuda, documentação de software e sites gerados a partir de Markdown.
- E-books: o formato EPUB empacota o conteúdo como documentos XHTML.
- Relatórios e exportações: muitos aplicativos geram relatórios em HTML, e a opção "Salvar como página da web" do Word também produz HTML.
Pontos fortes e fracos
| Pontos fortes | Pontos fracos |
|---|---|
| Abre em um navegador em qualquer dispositivo | A aparência depende de CSS, fontes e imagens externos |
| Padrão aberto, gratuito e atualizado continuamente | Fraco em conceitos de impressão, como páginas e margens |
| Layout fluido que se adapta ao tamanho da tela | Difícil de transportar como arquivo único (as imagens ficam em arquivos separados) |
| Estrutura semântica para acessibilidade e mecanismos de busca | Exige cuidado quando contém JavaScript |
| Texto simples, por isso funciona bem com controle de versão | Menos adequado que o PDF para congelar uma versão final |
Quais programas abrem HTML?
Todos os navegadores, incluindo Chrome, Firefox, Safari e Edge, exibem HTML. Para editar o código-fonte, basta um editor de código como o Visual Studio Code ou qualquer editor de texto. O Microsoft Word e o LibreOffice Writer conseguem abrir arquivos HTML e editá-los como documentos, embora layouts complexos em CSS sejam simplificados.
Problemas comuns e como resolvê-los
Caracteres especiais aparecem embaralhados
A codificação da página está ausente ou errada. Adicione <meta charset="utf-8"> perto do início do <head> e confira se o arquivo está realmente salvo em UTF-8. Se o servidor declarar outra codificação, corrija também o cabeçalho HTTP.
A página salva fica sem imagens ou estilos
Arquivos HTML costumam buscar imagens e CSS em arquivos separados ou em endereços na internet. Se você mover apenas o arquivo .html, esses links quebram. Use a opção "Página da web, completa" do navegador ou incorpore as imagens no documento.
A página fica desconfigurada ao imprimir
Layouts pensados para a tela podem não caber no papel. Definir regras @media print e configurar o tamanho do papel e as margens com @page no CSS melhora muito o resultado impresso.
Dicas para converter arquivos HTML
No nosso conversor, os arquivos HTML são enviados ao nosso servidor e excluídos em até 30 minutos. Na leitura do arquivo, a codificação é detectada pelo BOM, depois pela declaração <meta charset> e, por fim, pelo próprio conteúdo. O conteúdo do <body> do documento e o bloco <style> da página são mantidos, e fragmentos de HTML sem a tag <body> são processados como estão.
- HTML para PDF usa um mecanismo de navegador: o CSS de impressão é aplicado, um tamanho de página definido com
@pageé respeitado (caso contrário, A4) e as cores de fundo são impressas. Por segurança, o JavaScript não é executado e imagens, fontes ou folhas de estilo na internet não são baixadas; apenas recursos incorporados ao documento (URIs data:) são usados. Se quiser imagens no resultado, incorpore-as ao HTML. - HTML para Word usa o LibreOffice para levar títulos, listas, tabelas, alinhamento e imagens incorporadas para o DOCX. Layouts complexos em CSS (flex, grid) não têm equivalente no Word e são simplificados.
- HTML para Markdown é ideal para levar uma página web ou artigo de ajuda para um repositório de documentação: títulos, ênfases, listas, tabelas, links e blocos de código são mantidos, e as informações de estilo são descartadas.
- No sentido inverso, Word para HTML incorpora as imagens ao arquivo e gera um único documento HTML autossuficiente com a codificação de caracteres declarada, para que caracteres acentuados apareçam corretamente no navegador.
Perguntas frequentes
HTML é uma linguagem de programação?
Não. HTML é uma linguagem de marcação: descreve a estrutura do conteúdo, mas não tem laços, condições nem cálculos. Para dar comportamento a uma página, usa-se JavaScript.
Qual é a diferença entre HTML5 e HTML?
HTML5 é o nome da grande versão que se tornou Recomendação do W3C em 2014. Desde 2019, o HTML é desenvolvido no WHATWG sem números de versão, como "HTML Living Standard". Na prática, HTML5 e HTML hoje significam a mesma coisa.
Como abro um arquivo HTML?
Dê um clique duplo e ele abrirá no seu navegador padrão. Para ver o código-fonte, abra o arquivo em um editor de texto ou use a opção "Exibir código-fonte da página" do navegador.
Por que as imagens somem quando converto HTML para PDF?
Se as imagens forem carregadas de um endereço na internet, nosso conversor não as baixa por motivos de segurança. Incorpore as imagens ao HTML como URIs data: ou converta primeiro o documento para Word e adicione as imagens lá.
É seguro abrir um arquivo HTML?
O HTML pode conter JavaScript, então tenha cuidado com arquivos de origem desconhecida. Páginas HTML que chegam como anexo de e-mail pedindo senha são uma técnica comum de phishing.
Fontes
- WHATWG: HTML Living Standard, Parsing HTML documents
- Memorando de entendimento entre W3C e WHATWG (28 de maio de 2019)
- Comunicado do W3C: HTML5 Recommendation (28 de outubro de 2014)
- W3C: HTML 4.01 Specification
- IETF RFC 1866: Hypertext Markup Language - 2.0
- Dave Raggett: A history of HTML
- W3Techs: Usage statistics of markup languages for websites


