Um momento
Todos os artigos
JavaScript 18 min de leitura

O Que É HTML? Um Guia Simples da Linguagem por Trás de Toda Página Web

Um guia simples e sem jargões sobre o HTML, a linguagem em que toda página web é escrita. Entenda o que são as tags, monte uma pequena página que abre no seu navegador, veja como os navegadores perdoam erros e espie por dentro do primeiro site da história e de uma página real da Wikipédia.

nbkhope
Nesta página

Toda página web que você já visitou, de um portal de notícias ao site do seu banco e a este artigo, chega ao seu aparelho como um arquivo de texto simples escrito em HTML. Dá para ver com os próprios olhos: num computador, abra qualquer site, clique com o botão direito num espaço vazio e escolha Ver código-fonte da página (ou aperte Ctrl+U no Windows, Option+Command+U no Mac, no Chrome). Aquele paredão de texto cheio de sinais de menor e maior é HTML.

HTML quer dizer HyperText Markup Language, ou linguagem de marcação de hipertexto. Parece técnico, mas a ideia é simples: o HTML é um jeito de etiquetar um texto para o navegador saber o que é cada parte. "Isto é um título." "Isto é um parágrafo." "Isto é um link para outra página." "Mostre uma imagem aqui." Este artigo explica, em linguagem simples, o que é o HTML, como ele funciona e como virou a base da web.

O que o nome quer dizer

  • Hipertexto (HyperText) é texto com links. Você clica numa palavra e pula para outro documento. A ideia vem dos anos 1960, mas foi a web que a colocou no dia a dia.
  • Marcação (Markup) é acrescentar etiquetas a um texto, como um revisor que marca um rascunho com notas do tipo "isto é um título" ou "ponha esta palavra em negrito".
  • Linguagem (Language) quer dizer que há regras fixas para escrever essas etiquetas, e assim todo navegador as entende do mesmo jeito.

Ou seja, o HTML não é uma linguagem de programação. Ele não faz contas, não toma decisões e não repete passos. Ele descreve um documento: o que há nele e como as partes se encaixam. (Programadores adoram discutir isso, mas essa é a visão mais comum.)

Tags: as etiquetas do HTML

As etiquetas do HTML se chamam tags. Uma tag é uma palavra entre os sinais de menor e maior, como <p>, de parágrafo. A maioria das tags vem em pares: uma tag de abertura e uma tag de fechamento, que tem uma barra, como </p>. O que fica entre elas é o conteúdo.

As partes de uma tag HTML, usando o código de link a href igual a https dois pontos barra barra pt ponto wikipedia ponto org, depois as palavras Visite a Wikipédia, depois a tag a de fechamento. A tag de abertura vai do primeiro sinal de menor até o primeiro sinal de maior. Dentro dela, href com o seu valor é um atributo, uma informação extra, aqui para onde o link leva. As palavras Visite a Wikipédia são o conteúdo. A barra a entre os sinais é a tag de fechamento. O conjunto todo se chama elemento. No navegador, você vê as palavras Visite a Wikipédia como um link azul e sublinhado. Algumas tags não têm nada dentro, então não precisam de fechamento. A tag img, com src igual a gato ponto jpg e alt igual a Um gato dormindo, mostra uma imagem, e o texto alt a descreve para quem não pode vê-la. A tag br começa uma nova linha
  • A tag de abertura diz onde algo começa, e a tag de fechamento diz onde termina.
  • Um atributo acrescenta uma informação extra dentro da tag de abertura. Num link, o atributo href diz para onde o link leva.
  • A tag de abertura, o conteúdo e a tag de fechamento, juntos, se chamam elemento.
  • Algumas tags, como <img> para imagens e <br> para quebra de linha, não têm conteúdo, então não têm tag de fechamento.

Repare no atributo alt da imagem. Ele é uma descrição curta da figura. Pessoas cegas que usam leitores de tela (programas que leem a página em voz alta) ouvem essa descrição no lugar da imagem, e ela também aparece se a imagem não carregar.

Sua primeira página web

Aqui está uma página web completa. Ela é só um arquivo de texto:

1<!DOCTYPE html>
2<html lang="pt-BR">
3  <head>
4    <meta charset="utf-8">
5    <title>Minha receita de panqueca</title>
6  </head>
7  <body>
8    <h1>Minha receita de panqueca</h1>
9    <p>O café da manhã <strong>mais fácil</strong> do mundo.</p>
10    <h2>Ingredientes</h2>
11    <ul>
12      <li>1 xícara de farinha</li>
13      <li>1 xícara de leite</li>
14      <li>1 ovo</li>
15    </ul>
16    <p>Saiba mais na
17      <a href="https://pt.wikipedia.org/wiki/Panqueca">Wikipédia</a>.
18    </p>
19    <button>Eu fiz!</button>
20  </body>
21</html>

Salvamos esse arquivo e o abrimos no Google Chrome. Foi exatamente isto que apareceu:

Sua primeira página web, o HTML e o que o navegador mostra. À esquerda, o arquivo receita.html, um arquivo de texto simples com o código da página da receita de panqueca. À direita, uma captura de tela real desse arquivo aberto no Chrome. Ela mostra o título grande em negrito Minha receita de panqueca, a frase O café da manhã mais fácil do mundo com as palavras mais fácil em negrito, um título menor Ingredientes, uma lista com marcadores com 1 xícara de farinha, 1 xícara de leite e 1 ovo, a frase Saiba mais na Wikipédia com Wikipédia como link azul e sublinhado, e um botão cinza escrito Eu fiz. Não há CSS, então o navegador usa o visual padrão

Vamos ler de cima para baixo:

  • <!DOCTYPE html> avisa ao navegador: "esta é uma página HTML moderna".
  • <html> envolve a página inteira. lang="pt-BR" diz que ela está em português do Brasil, o que ajuda os leitores de tela a pronunciar as palavras direito.
  • <head> (cabeça) guarda informações sobre a página que não aparecem nela, como o <title>, que aparece na aba do navegador e nos resultados de busca.
  • <body> (corpo) guarda tudo o que você de fato vê.
  • <h1> é o título principal e <h2>, um título menor. Há seis níveis, até <h6>.
  • <p> é um parágrafo, <strong> marca palavras importantes (mostradas em negrito), <ul> é uma lista com marcadores e cada <li> é um item dela.
  • <a> é um link (o "a" vem de "anchor", âncora) e <button> é um botão. Este botão ainda não faz nada: fazê-lo reagir a um clique é trabalho do JavaScript.

A página parece simples porque não tem CSS, a linguagem que controla cores, fontes e layout. Sem ele, todo navegador usa o mesmo visual padrão: títulos grandes em negrito, marcadores e um botão cinza.

Experimente você mesmo

Você não precisa instalar nada:

  1. Abra um editor de texto simples: o Bloco de Notas no Windows, ou o TextEdit no Mac (escolha Formatar e depois Converter em Texto Simples).
  2. Copie o código acima para ele.
  3. Salve como receita.html.
  4. Dê um clique duplo no arquivo. Ele abre no seu navegador, e pronto, você fez uma página web.

Mude as palavras, salve e atualize o navegador para ver as mudanças.

A página é uma árvore

Quando o navegador lê o HTML, ele não o guarda como texto. Ele monta uma árvore a partir dele, como uma árvore genealógica: cada tag vira uma caixa, e as tags dentro dela viram as suas filhas.

O navegador transforma o HTML numa árvore genealógica. No topo está html. As suas duas filhas são head e body. Sob head estão meta e title. Sob body estão h1, p, h2, ul, p e button. Sob o primeiro p está strong. Sob ul estão três itens li. Sob o segundo p está a. Cada tag vira uma caixa, e as tags dentro dela viram as suas filhas. Essa árvore se chama DOM, Document Object Model, modelo de objetos do documento. O CSS estiliza as caixas, e o JavaScript pode mudá-las enquanto você olha a página

Os programadores chamam essa árvore de DOM (Document Object Model, ou modelo de objetos do documento). É com ela que as outras duas linguagens da web trabalham. O CSS diz como cada caixa deve aparecer. O JavaScript pode acrescentar, remover ou mudar caixas a qualquer momento, e é assim que uma página mostra uma mensagem nova sem recarregar.

Um jeito comum de imaginar as três linguagens: o HTML é a estrutura de uma casa, o CSS é a pintura e a decoração, e o JavaScript é a eletricidade que faz as coisas funcionarem quando você aperta um interruptor.

Como o navegador mostra uma página

Como o navegador mostra uma página web, em cinco passos. Um, você pede: você digita um endereço ou clica num link. Dois, o HTML chega: o servidor do site devolve um arquivo HTML. Três, o navegador lê: ele monta a árvore de caixas a partir das tags. Quatro, os extras chegam: ele baixa o que o HTML indica, CSS, imagens e JavaScript. Cinco, a página aparece: ele desenha tudo na sua tela. O HTML sempre vem primeiro, porque ele é a lista de tudo o que a página contém e de que precisa

O arquivo HTML é sempre o primeiro a chegar. Imagens, vídeos, estilos e scripts são arquivos separados, e o HTML aponta para cada um deles com tags como <img>, <link> e <script>. Por isso, numa conexão lenta, às vezes você vê o texto de uma página antes das imagens ou do visual.

Tags que dizem o que é cada parte

Algumas tags não mudam a aparência de nada. Em vez disso, elas dizem o que é cada parte da página:

Tags que dizem o que é cada parte da página, mostradas como uma página web dividida em caixas. No topo, header, o topo do site, com o logo e o nome. Abaixo, nav, o menu de links. No meio, main, o conteúdo principal desta página, e dentro dele um article, uma matéria ou post que faz sentido sozinho, com um título h1 que diz Como fazer panquecas. Do lado direito, aside, extras relacionados. Embaixo, footer, o rodapé, com contato e direitos autorais. Essas tags não mudam o visual sozinhas. Elas dizem a leitores de tela, buscadores e outros programas o que é cada parte, e assim um visitante cego pode pular direto para o conteúdo principal

Isso se chama HTML semântico ("semântico" quer dizer "relativo ao significado"), e importa mais do que parece:

  • Acessibilidade. Os leitores de tela usam essas tags para deixar visitantes cegos ou com baixa visão pularem direto para o menu ou para o conteúdo principal, em vez de ouvir a página inteira desde o começo.
  • Buscadores. O Google e outros leem o HTML para entender do que uma página trata. Títulos e artigos ajudam.
  • Modo leitura e outras ferramentas. O "modo leitura" do navegador, os tradutores e os assistentes de IA dependem do HTML para achar o conteúdo de verdade.

Daria para montar uma página inteira só com tags <div>, que são caixas genéricas, e ela poderia ficar idêntica. Mas, para um leitor de tela ou um buscador, seria uma página sem placas de sinalização.

O HTML perdoa erros

A maioria das linguagens de computador para com uma mensagem de erro se você digitar uma única coisa errada. O HTML não. Os navegadores são feitos para dar o seu melhor com o que recebem. Testamos com um arquivo bagunçado, em que esquecemos de fechar a tag do título:

O HTML perdoa erros. À esquerda, um arquivo chamado ops.html com tags que nunca foram fechadas. Ele tem um title, um título h1 que diz Minha página sem tag de fechamento, um parágrafo que diz Esqueci de fechar o título, um parágrafo que diz Agora tudo ficou enorme, e uma lista com Um e Dois. À direita, uma captura de tela real do Chrome. Todas as linhas aparecem com letras gigantes de título, em negrito. Não houve mensagem de erro. O navegador deduziu que o título nunca terminou, colocou tudo dentro dele, e a página inteira virou um título gigante

O Chrome não mostrou erro nenhum. Ele deduziu que o título nunca terminou, colocou tudo dentro dele, e a página inteira virou um título gigante. E ainda fechou sozinho os parágrafos e os itens da lista.

Esse jeito tolerante foi uma escolha proposital, e é um dos motivos de a web ter crescido tão rápido: qualquer pessoa podia escrever uma página, e pequenos erros não a impediam de funcionar. Desde o HTML5, as regras dizem exatamente como os navegadores devem consertar páginas quebradas, então Chrome, Safari, Firefox e Edge as consertam do mesmo jeito.

As tags mais comuns

Dá para fazer muita coisa com um punhado de tags:

TagO que éExemplo
<h1> a <h6>Títulos, do maior para o menor<h1>Meu Blog</h1>
<p>Parágrafo<p>Olá!</p>
<a>Link<a href="https://example.com">Clique</a>
<img>Imagem<img src="cachorro.jpg" alt="Meu cachorro">
<ul>, <ol>, <li>Lista com marcadores, lista numerada, item de lista<li>Leite</li>
<strong>, <em>Texto importante (negrito) e enfatizado (itálico)<em>muito</em>
<div>, <span>Caixas genéricas para agrupar coisas e estilizá-las com CSS<div>...</div>
<table>, <tr>, <td>Tabela, linha e célula<td>42</td>
<form>, <input>, <button>Formulários, caixas de texto e botões<input type="email">
<video>, <audio>Players de vídeo e de som<video src="gato.mp4" controls>

Por dentro de uma página web real

Como as páginas reais usam essas tags? Baixamos o arquivo HTML do artigo da Wikipédia em português sobre HTML e contamos cada tag:

Por dentro de uma página web de hoje. Baixamos o arquivo HTML do artigo da Wikipédia sobre HTML e contamos as suas tags. As 10 mais comuns: span, um trecho de texto para estilizar, 703; a, link, 568; li, item de lista, 459; div, uma caixa que agrupa coisas, 178; code, código de computador, 88; ul, lista com marcadores, 65; p, parágrafo, 33; td, célula de tabela, 28; link, que liga outro arquivo como uma folha de estilo, 25; tr, linha de tabela, 24. Antes e agora: o primeiro site, de 1992, tem 2,2 kilobytes e 50 tags. O artigo da Wikipédia sobre HTML tem 242 kilobytes e 2.387 tags. Isso é só o arquivo HTML. A página também baixa CSS, JavaScript e imagens, que são contados à parte
  • A página tem 2.387 tags de 49 tipos diferentes.
  • A tag mais comum é o <span>, com 703, usado para estilizar pedaços de texto nos menus e nas referências. Logo atrás vem o link, <a>, com 568. Esse é o "hiper" de hipertexto: a Wikipédia é uma enorme teia de links.
  • Só o arquivo HTML tem cerca de 242 KB, umas 109 vezes o tamanho do primeiro site da história.

O primeiro site ainda funciona

O HTML foi inventado por Tim Berners-Lee, um cientista britânico do CERN, o laboratório de física perto de Genebra, na Suíça. Em 1989 ele propôs um sistema para ajudar os cientistas a compartilhar documentos, e em 1991 já tinha construído o primeiro navegador, o primeiro servidor web e o primeiro site. O HTML se baseou numa linguagem de marcação mais antiga, o SGML, que o CERN já usava nos seus documentos.

O CERN ainda mantém uma cópia desse primeiro site no ar. Nós a abrimos no Chrome:

O primeiro site ainda funciona. Uma captura de tela de info.cern.ch barra hypertext barra WWW barra TheProject.html aberto no Chrome. Ela mostra o título World Wide Web, um parágrafo em inglês explicando que a WorldWideWeb, W3, é uma iniciativa de busca de informações em hipermídia de longa distância que quer dar acesso universal a um grande universo de documentos, e uma lista de links como What's out there, Help, Software Products, Technical, Bibliography, People, History, How can I help e Getting code. O arquivo tem 2.217 bytes no total, com 50 tags de 10 tipos, incluindo 25 links. A cópia salva mais antiga do primeiro site, de 1992, aberta no Chrome em 2026. Ela não tem imagens, cores nem estilos, só texto e links, e ainda funciona

Ele tem só 2.217 bytes, menos que um e-mail curto. Não tem imagens, cores nem estilos, só títulos, texto e 25 links. Algumas das suas tags, como <NEXTID>, nem fazem mais parte do HTML, e mesmo assim um navegador de 2026 o abre sem problemas. Esse é um dos superpoderes discretos do HTML: páginas escritas há mais de 30 anos ainda funcionam.

O HTML não para de crescer

A primeira descrição do HTML, um documento de 1991 chamado "HTML Tags", listava menos de duas dúzias de tags. Contamos as tags na lista oficial de cada versão desde então:

O HTML não para de crescer. Número de tags, ou elementos, na lista oficial de cada versão. HTML 2.0, 1995: 49 tags, com títulos, links, listas, imagens e formulários. HTML 3.2, 1997: 70, trazendo tabelas, scripts, estilos e div. HTML 4.01, 1999: 91, trazendo span, button, label e iframe. HTML Living Standard, 2026: 113, trazendo video, audio, canvas, nav, main e dialog. Contadas nas listas oficiais do HTML 2.0, 3.2 e 4.01 e do HTML Living Standard. As contas incluem tags antigas que depois foram aposentadas, como font e center

No fim dos anos 1990, durante a "guerra dos navegadores" entre o Netscape e o Internet Explorer, da Microsoft, cada empresa inventava as próprias tags para ganhar usuários. O Netscape tinha o <blink>, que fazia o texto piscar, e o Internet Explorer tinha o <marquee>, que fazia o texto deslizar pela tela. Muitas páginas funcionavam num navegador e quebravam no outro.

As entidades de padronização entraram em cena. O World Wide Web Consortium (W3C), fundado por Berners-Lee em 1994, publicava as versões oficiais do HTML. Em 2004, a Apple, a Mozilla e a Opera, insatisfeitas com o rumo do W3C, formaram o seu próprio grupo, o WHATWG, e começaram o que viria a ser o HTML5. Ele trouxe vídeo e áudio sem plug-ins como o Flash, desenho com <canvas> e tags como <nav> e <article>. O HTML5 virou padrão oficial do W3C em 2014.

Hoje, o HTML é um "padrão vivo" (living standard): desde 2019 existe uma só versão, mantida pelo WHATWG junto com os fabricantes de navegadores, que recebe pequenas atualizações o tempo todo em vez de grandes versões numeradas. É por isso que ninguém fala em "HTML6".

Uma breve história do HTML, numa linha do tempo. 1989: Tim Berners-Lee propõe a web no CERN. 1991: o primeiro site, e sai o documento "HTML Tags". 1993: o navegador Mosaic mostra imagens dentro das páginas. 1995: HTML 2.0, o primeiro padrão oficial. 1997: HTML 3.2 e 4.0, com tabelas, estilos e scripts. 1999: HTML 4.01. 2004: fabricantes de navegadores criam o WHATWG. 2008: o primeiro rascunho do HTML5. 2014: o HTML5 vira oficial. 2019: um "padrão vivo" para todos

Perguntas comuns

HTML é difícil de aprender? Não. Muitas vezes é a primeira coisa que as pessoas aprendem em desenvolvimento web. Dá para aprender as tags básicas numa tarde e fazer uma página de verdade no mesmo dia.

Preciso de HTML se uso um criador de sites? Não para começar. Ferramentas como WordPress, Wix ou Google Sites escrevem o HTML por você. Mas saber um pouco de HTML ajuda a consertar as coisas quando algo aparece errado.

O HTML ainda é usado, ou algo o substituiu? Toda página web ainda chega ao seu navegador como HTML. Muitos sites modernos são feitos com ferramentas e frameworks que o geram automaticamente, mas o que sai do outro lado é sempre HTML. Muitos apps de celular e até alguns programas de computador, como o VS Code, também são feitos com HTML por dentro.

Qual é a diferença entre HTML e um site? Um site normalmente é um conjunto de páginas HTML, mais CSS, JavaScript, imagens e um servidor que envia tudo isso. O HTML é a parte que guarda o conteúdo e a estrutura.

Glossário

  • HTML: HyperText Markup Language (linguagem de marcação de hipertexto), a linguagem em que as páginas web são escritas.
  • Tag: uma etiqueta entre os sinais de menor e maior, como <p>, que marca onde uma parte da página começa ou termina.
  • Elemento: uma tag de abertura, o seu conteúdo e a tag de fechamento, juntos.
  • Atributo: uma informação extra dentro da tag de abertura, como href num link ou alt numa imagem.
  • Navegador: o app que você usa para visitar sites, como Chrome, Safari, Firefox ou Edge.
  • DOM: a árvore de caixas que o navegador monta a partir do HTML.
  • CSS: a linguagem que controla a aparência de uma página.
  • JavaScript: a linguagem que deixa uma página interativa.
  • HTML semântico: usar tags que descrevem o que é cada parte da página, como <nav> ou <article>.
  • Leitor de tela: um programa que lê a página em voz alta para pessoas cegas ou com baixa visão.
  • WHATWG: o grupo de fabricantes de navegadores que mantém o padrão HTML hoje.

Para encerrar

O HTML é a mais antiga e a mais simples das três linguagens da web, e aquela em que todo o resto se apoia. Ele é um conjunto de etiquetas que diz ao navegador o que é cada pedaço de texto: um título, um parágrafo, um link, uma imagem. Os navegadores transformam essas etiquetas numa árvore, enchem essa árvore de estilos e scripts e a desenham na sua tela, perdoando os seus erros pelo caminho.

O primeiro site tinha 2.217 bytes de HTML e ainda abre hoje. Se quiser experimentar, escreva a página da panqueca no Bloco de Notas, dê um clique duplo nela, e você terá construído o seu próprio pedacinho da web.

Obrigado pela leitura!

Conhece alguém que vai gostar? Mande para essa pessoa.

Mais artigos

Read next

Comentários

Be kind and specific. Comments with links from new accounts appear after a moderator reviews them.