Tabela de referência Unicode/código de caracteres

Ferramenta gratuita que mostra, lado a lado, o ponto de código Unicode, a sequência de bytes UTF-8 e as representações de escape JavaScript/HTML/URL/CSS de um caractere digitado. Tudo é executado no navegador.

Tabela de referência de caracteres comuns

Caractere Ponto de código UTF-8 Nota
A U+0041 41 Letra maiúscula (ASCII, 1 byte)
0 U+0030 30 Dígito (ASCII, 1 byte)
␣ U+0020 20 Espaço (ASCII, 1 byte)
! U+0021 21 Ponto de exclamação (símbolo ASCII, 1 byte)
@ U+0040 40 Arroba (símbolo ASCII, 1 byte)
© U+00A9 C2 A9 Símbolo de copyright (suplemento Latin-1, 2 bytes)
€ U+20AC E2 82 AC Símbolo do euro (3 bytes)
→ U+2192 E2 86 92 Seta para a direita (bloco de setas, 3 bytes)
あ U+3042 E3 81 82 Caractere hiragana (3 bytes)
漢 U+6F22 E6 BC A2 Ideograma unificado CJK (3 bytes)
한 U+D55C ED 95 9C Sílaba hangul (3 bytes)
😀 U+1F600 F0 9F 98 80 Emoji (fora do BMP, 4 bytes, codificado como par substituto em JS)

O que este conversor de código de caracteres Unicode faz

Esta ferramenta recebe qualquer caractere que você digitar e exibe, ao mesmo tempo, sete representações de código diferentes lado a lado: o ponto de código Unicode, a sequência de bytes UTF-8, o escape de JavaScript, a entidade HTML (decimal e hexadecimal), a codificação percentual de URL e o escape CSS. Cada conversão -do caractere para o ponto de código, e do ponto de código para cada representação em bytes- é calculada instantaneamente no seu navegador enquanto você digita, sem enviar nenhum dado a um servidor.

Um detalhe importante: muitos emojis têm pontos de código fora do Plano Multilíngue Básico do Unicode (BMP, U+0000-U+FFFF), então as strings JavaScript os representam internamente como um par substituto, ou seja, duas unidades de código de 16 bits em vez de uma. Esta ferramenta usa `codePointAt` internamente para que um par substituto seja sempre resolvido de volta em um único ponto de código correto, garantindo que emojis produzam resultados precisos em vez de dois meios caracteres separados. Se você digitar mais de um caractere, cada um recebe seu próprio bloco de resultado.

Como usar este conversor Unicode

  1. Digite o caractere que deseja consultar Insira qualquer letra, símbolo ou emoji no campo de entrada. Você também pode colar vários caracteres de uma vez.
  2. Confira o bloco de resultado de cada caractere Um cartão separado aparece para cada caractere digitado, mostrando as sete representações de código.
  3. Localize a representação de que precisa Percorra as linhas até encontrar o formato relevante para sua tarefa: ponto de código, bytes UTF-8, escape de JavaScript e assim por diante.
  4. Copie o valor com o botão de copiar Clique no botão de copiar ao lado de qualquer linha para enviar apenas aquele valor à área de transferência, pronto para colar no seu código.
  5. Teste outro caractere Edite o campo de entrada ou clique em "Limpar" para recomeçar, e então digite o próximo caractere que deseja verificar.

Dicas para aproveitar melhor

  • Você pode digitar mais de um caractere; cada um recebe seu próprio bloco de resultado abaixo do campo de entrada.
  • Emojis como 😀 ficam fora do Plano Multilíngue Básico do Unicode (BMP, U+0000-U+FFFF), então as strings JavaScript os representam internamente com duas unidades de código (um par substituto); por isso a linha "Escape de JavaScript" mostra duas sequências `\uXXXX`.
  • Um escape CSS como `\41` escreve o ponto de código em hexadecimal sem nenhum prefixo. Adicione um espaço no final quando o caractere seguinte puder ser interpretado como parte dos dígitos hexadecimais.
  • Os navegadores tratam entidades HTML decimais (A) e hexadecimais (A) da mesma forma; use a que for mais conveniente para sua marcação.
  • Use o botão de copiar em cada linha para levar um valor diretamente para a área de transferência e colá-lo em código ou CSS.

Situações em que esta ferramenta é útil

Diagnosticar texto corrompido ou mal codificado

Quando um programa ou banco de dados exibe um caractere inesperado, comparar o ponto de código real e os bytes UTF-8 ajuda a identificar se uma incompatibilidade de codificação é a causa.

Verificar como os emojis são codificados

Veja rapidamente quantas unidades de código um emoji precisa como par substituto em JavaScript e quantos bytes ele ocupa em UTF-8.

Verificar o armazenamento de caracteres em banco de dados

Útil quando você precisa saber antecipadamente quantos bytes um caractere específico ocupará, por exemplo, para decidir se uma coluna do MySQL precisa de utf8mb4.

Incorporar caracteres especiais em HTML ou CSS

Obtenha a entidade HTML ou o escape CSS correto para um símbolo ou caractere de outro idioma e cole diretamente na sua marcação ou folha de estilo.

Validar a codificação de URL

Confirme que parâmetros de consulta com caracteres não ASCII ou símbolos estão codificados em percentual conforme esperado antes de enviar uma requisição.

Glossário

Unicode
Um padrão internacional de codificação de caracteres que atribui um único número, um ponto de código, a cada caractere usado no mundo, com o objetivo de evitar caracteres corrompidos entre idiomas.
Ponto de código
O número que o Unicode atribui a um caractere, escrito como U+0041: um número hexadecimal após o prefixo "U+" que identifica de forma exclusiva qual caractere é.
UTF-8
Um esquema de codificação específico para armazenar ou transmitir pontos de código Unicode como bytes. Usa de 1 a 4 bytes de comprimento variável por caractere e é totalmente compatível com ASCII, motivo pelo qual domina na web.
UTF-16
Um esquema de codificação que representa pontos de código Unicode em unidades de 16 bits (unidades de código). As strings JavaScript usam essa codificação internamente.
Par substituto
Uma combinação de duas unidades de código usada em UTF-16 para representar um ponto de código além do Plano Multilíngue Básico (BMP). A maioria dos emojis exige um par substituto.
BMP (Plano Multilíngue Básico)
A faixa de pontos de código Unicode de U+0000 a U+FFFF. Caracteres dessa faixa podem ser representados com uma única unidade de código UTF-16.
Entidade HTML
Uma forma de escrever caracteres especiais com segurança dentro de uma marcação HTML, como A (decimal) ou A (hexadecimal).
Codificação percentual
Um esquema que converte caracteres não permitidos em uma URL em bytes UTF-8 e escreve cada byte como %XX. Comumente usado para texto não ASCII em URLs.

Perguntas frequentes

As strings JavaScript são representadas internamente em UTF-16, em que uma única unidade de código pode conter apenas 16 bits (0-65535). O Unicode define muitos pontos de código além desse intervalo (a partir de U+10000, onde está a maioria dos emojis), então eles são representados usando duas unidades de código especiais -um "substituto alto" e um "substituto baixo"- combinadas em um par substituto. Ao ler uma string unidade por unidade com `charCodeAt`, você obtém essas duas metades separadamente, por isso é necessário usar `codePointAt` para obter o ponto de código correto e completo.

Um ponto de código Unicode (como U+3042) é simplesmente o número atribuído para identificar um caractere. Já o UTF-8 é um esquema de codificação específico para armazenar ou transmitir esse ponto de código como uma sequência de bytes em um computador. O mesmo ponto de código pode ser representado de forma diferente dependendo da codificação: o UTF-8 usa de 1 a 4 bytes de comprimento variável, enquanto UTF-16 ou UTF-32 produzem sequências de bytes diferentes.

O UTF-8 consegue representar caracteres ASCII puros (letras do inglês, dígitos, pontuação básica) em um único byte cada, o que lhe dá forte compatibilidade com sistemas antigos centrados no inglês, ao mesmo tempo em que consegue representar qualquer caractere do Unicode. Em 2026, a grande maioria do texto na web é codificada em UTF-8, e essa é a codificação de caracteres padrão recomendada para documentos HTML.

Não, eles usam sintaxes diferentes. Uma entidade HTML é escrita como A (decimal) ou A (hexadecimal, com prefixo `x`) e só funciona dentro de marcação HTML. Um escape CSS é escrito como `\41` -apenas dígitos hexadecimais, sem prefixo `U+` ou `x`- e é usado dentro de seletores ou valores de propriedades CSS. Certifique-se de usar o formato correto conforme o contexto em que estiver trabalhando.
Tool-kun

Curiosidade — Como o Unicode unificou um mundo fragmentado de codificações de caracteres

Antes de o Unicode existir, as codificações de caracteres variavam enormemente de um país para outro, e até mesmo de um idioma para outro. Só o texto japonês tinha vários esquemas concorrentes -Shift_JIS, EUC-JP e o código JIS, entre outros- e a troca de texto entre sistemas com codificações diferentes frequentemente produzia caracteres corrompidos e ilegíveis. O Unicode 1.0, publicado em 1991, propôs-se a resolver isso atribuindo um único ponto de código a cada caractere usado em qualquer lugar do mundo.

O Unicode e a norma internacional ISO/IEC 10646 foram desenvolvidos inicialmente de forma um tanto independente, mas depois passaram a ser coordenados para compartilhar o mesmo repertório de caracteres e as mesmas atribuições de pontos de código. Hoje o Unicode cobre mais de 150 mil caracteres, incluindo emojis, e uma nova versão é publicada todo ano acrescentando mais.

O UTF-8 foi projetado em 1992 por Ken Thompson e Rob Pike. Seu grande diferencial foi manter compatibilidade total com texto ASCII puro e, ao mesmo tempo, conseguir representar qualquer caractere do Unicode -um design que se mostrou exatamente o que a web precisava, e que desde então se tornou o padrão de fato para codificação de documentos na internet.