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.

Seus dados não saem do seu dispositivo

Como usar

  1. Clique em uma aba de categoria para exibir os caracteres desse grupo.
  2. Clique em um caractere para ver seus detalhes e as opções de cópia.
  3. Use a barra de busca para encontrar caracteres por nome (ex. « heart ») ou código hex (ex. « 2665 »).
  4. 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:

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:

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

BlocoFaixaExemplos
Suplemento Latin-1U+0080-U+00FFà ñ ü © ® ¥ § ° ¶
GregoU+0370-U+03FFα β γ π Σ Ω
CirílicoU+0400-U+04FFRusso / Ucraniano / Búlgaro etc.
Pontuação geralU+2000-U+206F-, … " " ' ' • † NBSP ZWSP
Símbolos de moedaU+20A0-U+20CF€ £ ¥ ₩ ₽ ₹ ₿
Símbolos similares a letrasU+2100-U+214F™ ℠ № ℃ ℉ ℗
SetasU+2190-U+21FF← → ↑ ↓ ↔ ⇒ ⇐
Operadores matemáticosU+2200-U+22FF∑ ∫ ∞ √ ≠ ≤ ≥ ± ∂ ∇ ∈ ∪ ∩
Desenho de caixasU+2500-U+257F─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ═ ║ ╔ ╗
Alfanuméricos matemáticosU+1D400-U+1D7FFOs 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:

Quando você recorreria a um mapa de caracteres

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.

Ferramentas relacionadas

Codificador / Decodificador de entidades HTML Conversor de maiúsculas/minúsculas Codificador / Decodificador de entidades HTML