Mapa de caracteres gratuito
Navegue pelos caracteres Unicode por categoria, busque por nome ou ponto de código e copie para a área de transferência.
Como usar
- Clique em uma aba de categoria para exibir os caracteres desse grupo.
- Clique em um caractere para ver seus detalhes e as opções de cópia.
- Use a barra de busca para encontrar caracteres por nome (ex. « heart ») ou código hex (ex. « 2665 »).
- Clique em Copiar o caractere para copiar o caractere selecionado para a área de transferência.
Perguntas frequentes
O que é um ponto de código Unicode ?
Um ponto de código Unicode é um número único atribuído a cada caractere do padrão Unicode. É escrito em formato hexadecimal, muitas vezes prefixado por U+ (por ex. U+2665 para ♥).
O que é uma entidade HTML ?
Uma entidade HTML é um código especial que representa um caractere em HTML. Por exemplo, ♥ representa ♥. As entidades são úteis quando não é possível digitar diretamente um caractere.
O que é o código CSS ?
O código CSS usa a notação \\ para inserir um caractere a partir do seu ponto de código Unicode nas folhas de estilo. Por exemplo, .heart::before { content: "\\2665"; } insere ♥.
Uma breve história do Unicode
Antes do Unicode, cada região tinha a sua própria codificação de caracteres incompatível: ASCII para o inglês, a família ISO 8859 para as línguas europeias (8859-1 Latin-1, 8859-5 Cirílico, 8859-6 Árabe), as code pages 1252 / 1251 / 1253-1258 do Windows, conjuntos multibyte para as línguas do Leste Asiático (Shift-JIS para o japonês, Big5 para o chinês tradicional, GB2312 para o chinês simplificado, EUC-KR para o coreano). Codificações incompatíveis produziam texto distorcido conhecido pelo termo japonês mojibake (文字化け, «transformação de caracteres»): abrir uma página japonesa na codificação errada dava a você fileiras de pontos de interrogação ou letras Latin-1 aleatórias.
O trabalho começou em 1987 na Xerox. Joe Becker, com Lee Collins e Mark Davis na Apple, começou a investigar um único conjunto universal de caracteres que pudesse substituir a colcha de retalhos. A proposta de rascunho de Becker de agosto de 1988, «Unicode 88», explicava: «o nome 'Unicode' pretende sugerir uma codificação única, unificada e universal». O Unicode Consortium foi constituído em janeiro de 1991 e lançou o Unicode 1.0 em outubro daquele ano com cerca de 7.100 caracteres em 24 sistemas de escrita.
Em Unicode 17.0 (lançado em 9 de setembro de 2025), o padrão contém cerca de 159.801 caracteres em 172 sistemas de escrita, com espaço de código alocado para 1.112.064 pontos de código válidos, o que significa que o Unicode atribuiu cerca de 14% do seu espaço possível e tem décadas de margem. Marcos recentes importantes: o Unicode 6.0 (2010) foi a primeira versão a codificar formalmente os emojis (722 deles, tirados das operadoras japonesas); o Unicode 17.0 acrescentou quatro novos sistemas de escrita (Sidetic, Tolong Siki, Beria Erfe, Tai Yo) e levou a contagem total de ideogramas CJK a mais de 100.000.
Pontos de código, planos e codificações
Um ponto de código é apenas um número, escrito em hexadecimal com um prefixo U+, como U+2665 para ♥. Os pontos de código são agrupados em 17 planos de 65.536 pontos de código cada. Quase tudo o que você já leu vive no Plano 0, o Basic Multilingual Plane (BMP, U+0000 a U+FFFF). O Plano 1 (o Supplementary Multilingual Plane) contém sistemas de escrita históricos (Linear B, hieróglifos egípcios, cuneiforme), notação musical e quase todos os emojis. Os Planos 2 e 3 são extensões de ideogramas CJK. Os Planos 4-13 não estão atribuídos, reservados para o futuro. O Plano 14 carrega seletores de variação e modificadores de emoji. Os Planos 15 e 16 são áreas de uso privado onde as fontes e os aplicativos atribuem os seus próprios significados.
Um ponto de código é apenas um número; uma codificação é como esse número é armazenado em bytes. O Unicode define três:
- UTF-8: largura variável, de 1 a 4 bytes por caractere. Projetado por Ken Thompson e Rob Pike no Bell Labs em 1992 (esboçado em um jogo americano de uma lanchonete de Nova Jersey). Os primeiros 128 pontos de código (ASCII) ocupam exatamente 1 byte com o mesmo valor binário que o ASCII, então um arquivo puramente ASCII já é um arquivo UTF-8 válido. Em janeiro de 2026, o UTF-8 é usado por cerca de 98,9% dos sites, a codificação recomendada pelo WHATWG e o padrão para novos protocolos de texto.
- UTF-16: largura variável, 2 ou 4 bytes. Os caracteres do BMP ocupam 2 bytes; os caracteres nos planos suplementares ocupam 4 bytes via pares substitutos (um substituto alto U+D800-U+DBFF mais um substituto baixo U+DC00-U+DFFF). Usado internamente pelas APIs do Windows, pelo Java, pelo JavaScript (a
.lengthde uma string conta unidades de código UTF-16, o que é o motivo de um emoji muitas vezes «contar como 2») e pelo Qt. Menos de 0,004% das páginas web públicas o usam como transporte. - UTF-32: largura fixa, 4 bytes por ponto de código. Simples de indexar, mas ineficiente em espaço. Usado internamente por alguns runtimes Unix para indexação direta de pontos de código; raro em disco ou na transmissão.
Os 25 caracteres de espaço em branco invisíveis
O Unicode marca formalmente exatamente 25 caracteres com a propriedade White_Space=yes: o espaço comum (U+0020), a tabulação, o avanço de linha, o retorno de carro, o espaço inquebrável (U+00A0, o famoso que parece idêntico a um espaço comum, mas não quebra entre linhas), as larguras tipográficas em U+2000-U+200A, os separadores de linha / parágrafo (U+2028 / U+2029), o espaço estreito inquebrável comum na tipografia francesa (U+202F), o espaço matemático médio (U+205F) e o espaço ideográfico de largura completa (U+3000) usado no texto CJK.
Vários caracteres parecem invisíveis, mas não são classificados como espaço em branco e se comportam de forma diferente de um espaço comum:
- U+200B Zero-Width Space (espaço de largura zero): permite uma quebra de linha sem lacuna visível; não é espaço em branco pela classificação do Unicode.
- U+200D Zero-Width Joiner (juntor de largura zero): a cola dentro de emojis de múltiplos caracteres, como as sequências de família ou de profissão.
- U+200C Zero-Width Non-Joiner (não-juntor de largura zero): controla a junção de ligaduras.
- U+00AD Soft Hyphen (hífen suave): invisível até o renderizador quebrar a linha.
- U+FEFF Byte Order Mark (marca de ordem de byte): no início de um arquivo, declara o endianness; no meio, um espaço inquebrável invisível. As exportações de CSV UTF-8 do Excel acrescentam um no início, o que muitas vezes aparece nas ferramentas posteriores como um caractere inicial inesperado no cabeçalho da primeira coluna.
Esses caracteres invisíveis são rotineiramente a causa de sessões de depuração do tipo «por que esta string não casa?»: cole qualquer caractere na busca de um mapa de caracteres e ele vai te dizer o ponto de código real, para que você possa confirmar se está olhando para uma aspa inteligente disfarçada de uma reta, ou um NBSP onde deveria estar um espaço comum.
Faixas úteis de caracteres
| Bloco | Faixa | Exemplos |
|---|---|---|
| Suplemento Latin-1 | U+0080-U+00FF | à ñ ü © ® ¥ § ° ¶ |
| Grego | U+0370-U+03FF | α β γ π Σ Ω |
| Cirílico | U+0400-U+04FF | Russo / Ucraniano / Búlgaro etc. |
| Pontuação geral | U+2000-U+206F | -, … " " ' ' • † NBSP ZWSP |
| Símbolos de moeda | U+20A0-U+20CF | € £ ¥ ₩ ₽ ₹ ₿ |
| Símbolos similares a letras | U+2100-U+214F | ™ ℠ № ℃ ℉ ℗ |
| Setas | U+2190-U+21FF | ← → ↑ ↓ ↔ ⇒ ⇐ |
| Operadores matemáticos | U+2200-U+22FF | ∑ ∫ ∞ √ ≠ ≤ ≥ ± ∂ ∇ ∈ ∪ ∩ |
| Desenho de caixas | U+2500-U+257F | ─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ═ ║ ╔ ╗ |
| Alfanuméricos matemáticos | U+1D400-U+1D7FF | Os geradores de «texto chique» (𝓗𝓮𝓵𝓵𝓸) extraem daqui. |
Caracteres especiais na escrita do dia a dia
O caso de uso «eu só preciso digitar um símbolo»: uma referência rápida do que esta ferramenta existe para entregar em dois cliques:
- Travessão - U+2014 (
—), quebra no nível da frase. - Traço - U+2013 (
–): faixas (1950-1975) e emparelhamentos (Boston-Hartford). - Reticências … U+2026 (
…), três pontos como um único caractere. - Aspas inteligentes: de abertura " U+201C, de fechamento " U+201D, de abertura ' U+2018, de fechamento ' U+2019.
- Espaço inquebrável U+00A0 (
), mantém «100 km» juntos. - Direito autoral © U+00A9, Marca registrada ® U+00AE, Marca comercial ™ U+2122.
- Seção § U+00A7, Pé-de-mosca ¶ U+00B6, Grau ° U+00B0.
- Multiplicação × U+00D7, Divisão ÷ U+00F7, nenhum dos dois é a letra
xnem uma barra.
Quando você recorreria a um mapa de caracteres
- Digitar letras acentuadas sem o layout de teclado certo: résumé, jalapeño, fiancée, naïve.
- Matemática e ciência: colar ∑, ∫, ≠, π, ±, ∞, μ, Ω em um documento sem abrir o editor de equações.
- Moeda: o símbolo de que você precisa raramente está no seu teclado. Euro €, iene ¥, peso ₱, rupia ₹.
- Pontuação na escrita jurídica e acadêmica: travessões, aspas inteligentes, o sinal de seção §, a adaga †.
- Texto de exibição chique para bios de mídia social e identidade visual: os Mathematical Alphanumeric Symbols (U+1D400-U+1D7FF) permitem que você estilize o texto sem usar uma imagem.
- Design de CLI e TUI: caracteres de Desenho de Caixas para bordas em arte ASCII, programas ncurses e diagramas de README.
- Depurar bugs de codificação: cole um caractere para ver o seu ponto de código real e confirmar se você tem uma aspa inteligente disfarçada de uma reta.
Segurança: o problema dos homógrafos
Muitos caracteres Unicode parecem idênticos entre os sistemas de escrita. O «а» minúsculo cirílico (U+0430) é visualmente indistinguível do «a» latino (U+0061). Os atacantes registram nomes de domínio internacionalizados que se parecem com os legítimos (por exemplo, um «apple.com» com um а cirílico no lugar do a latino) e os usam para phishing. Um ataque de 2017 ao adoḅe.com usou o ḅ com ponto inferior (U+1E05) para entregar malware. Os navegadores modernos mitigam isso com regras restritivas de mistura de escritas, recorrendo à forma ASCII Punycode (xn--…) quando um domínio mistura escritas; o Safari é particularmente conservador. A mesma propriedade de semelhança que torna o Unicode rico para a escrita humana o torna perigoso em domínios, e um mapa de caracteres é uma forma de confirmar o ponto de código real de cada caractere de relance.
Mais perguntas
Qual é a diferença entre um caractere e um glifo?
Um caractere é a unidade abstrata que o Unicode codifica, a letra A, independentemente da fonte tipográfica. Um glifo é o desenho específico desse caractere em uma fonte particular: o A em Helvetica, o A em Garamond, o A em Comic Sans são todos o mesmo caractere, mas três glifos diferentes. O Unicode codifica caracteres; as fontes entregam glifos.
Por que o «1.0» tem 7.000 caracteres, mas o «17.0» tem 160.000?
O Unicode 1.0 cobria 24 sistemas de escrita, a maioria dos sistemas de escrita vivos do mundo então em uso regular na computação. O crescimento desde então veio de três lugares: expandir enormemente a cobertura de ideogramas CJK (trazendo caracteres chineses históricos e variantes regionais raras, a Extension J acrescentou 4.298 só na versão 17.0), codificar formalmente sistemas de escrita históricos (Linear B, cuneiforme, hieróglifos egípcios, fenício) e padronizar emojis a partir de 2010.
O que é uma entidade HTML?
Uma forma de codificar um caractere dentro do HTML usando uma sintaxe de escape especial. Há entidades nomeadas para caracteres comuns (© para ©, — para -) e entidades numéricas para qualquer ponto de código (♥ ou ♥ para ♥). Elas são úteis quando digitar o caractere diretamente é inconveniente, digamos em código-fonte com codificações mistas, ou em um sistema que remove caracteres não ASCII.
E os escapes de CSS?
O CSS usa uma barra invertida mais o ponto de código hexadecimal: .heart::before { content: "\2665"; } insere ♥. Útil dentro do conteúdo gerado por ::before / ::after, nos estilos de contador do CSS e em qualquer lugar em que não se possa confiar na codificação do arquivo-fonte.
Algo é enviado a um servidor?
Não. Os dados dos caracteres são empacotados com a página; a busca e a filtragem por categoria rodam localmente em JavaScript; o Copiar usa a Clipboard API do navegador. Nada sai do seu dispositivo, e a página funciona offline depois de carregada.