Conversor de texto para Unicode e de Unicode para texto
Digite um texto para ver o código Unicode de cada caractere no formato que você precisa, ou cole um texto cheio de \u00e7, ç e %C3%A7 para lê-lo normalmente. A conversão acontece no seu navegador, enquanto você digita.
Neste formato todos os caracteres são convertidos: no meio de um texto comum a notação ficaria ambígua.
Como usar
- Escolha a direção: Texto → Unicode ou Unicode → Texto.
- Na ida, escolha o formato de saída. Marque Converter só os caracteres não-ASCII para manter letras, números e pontuação comuns e trocar apenas acentos, símbolos e emoji — é o jeito de “consertar” um texto para colar em código-fonte, JSON ou arquivo
.properties. - Na volta, deixe em Detectar automaticamente: o decodificador reconhece vários formatos misturados no mesmo texto. Para listas de bytes ou de unidades em hexadecimal, escolha o formato correspondente.
- Copie o resultado, ou use Decodificar de volta para conferir a ida e volta.
O que significa \u00e7?
É a letra ç escrita como escape Unicode. O Unicode dá a cada caractere um número, o code point; o do ç é 231 em decimal, ou E7 em hexadecimal, escrito oficialmente como U+00E7. Linguagens como JavaScript, Java e o formato JSON permitem escrever esse número no lugar da letra: \u seguido de quatro dígitos hexadecimais. Assim, Jo\u00e3o é apenas João, e a\u00e7\u00e3o é ação.
Esses códigos aparecem quando um sistema grava o texto de forma “segura” para não depender da codificação do arquivo: respostas de API em JSON, arquivos de tradução, logs, e-mails e páginas HTML antigas.
Formatos disponíveis
| Formato | ç | 😀 | Onde é usado |
|---|---|---|---|
| Code point | U+00E7 | U+1F600 | Documentação e tabelas Unicode |
| JavaScript / JSON / Java | \u00e7 | \ud83d\ude00 | Strings em código e em JSON |
| JavaScript ES6 | \u{e7} | \u{1f600} | JavaScript a partir do ES2015 |
| Entidade HTML decimal | ç | 😀 | HTML e XML |
| Entidade HTML hexadecimal | ç | 😀 | HTML e XML |
| CSS | \00E7 | \1F600 | Propriedade content, seletores |
| Python | \u00e7 | \U0001F600 | Strings em Python |
| Percent-encoding | %C3%A7 | %F0%9F%98%80 | URLs (bytes UTF-8) |
| Bytes UTF-8 | C3 A7 | F0 9F 98 80 | Depuração de arquivos e redes |
| Unidades UTF-16 | 00E7 | D83D DE00 | Depuração, Windows, Java |
Por que o emoji vira dois códigos?
O formato \uXXXX só tem quatro dígitos hexadecimais, então alcança até U+FFFF. Caracteres acima disso — quase todos os emoji — são representados em UTF-16 por duas unidades, o chamado par substituto (surrogate pair). O 😀 (U+1F600) vira \ud83d\ude00. O JSON só conhece essa forma; o JavaScript moderno também aceita \u{1F600}, e o Python usa \U0001F600, com oito dígitos.
Alguns “caracteres” visíveis são, na verdade, vários code points em sequência:
- A bandeira 🇧🇷 são dois indicadores regionais:
U+1F1E7 U+1F1F7(as letras B e R). - A família 👨👩👧 são três emoji unidos por
U+200D, o zero width joiner:U+1F468 U+200D U+1F469 U+200D U+1F467.
Esta ferramenta percorre o texto por code point, não por unidade UTF-16, então emoji não são cortados ao meio. Na volta, \ud83d\ude00 é reunido em um único 😀.
O que o decodificador reconhece
No modo automático, em uma única passada (nada é decodificado duas vezes):
\u00e7,\u{1F600}e\U0001F600;\xE7(JavaScript) e sequências como\xC3\xA7, tratadas como bytes UTF-8 quando formam um texto válido;- entidades numéricas
çeç; U+00E7, com um espaço entre códigos seguidos;- percent-encoding
%C3%A7; - escapes CSS de quatro a seis dígitos, como
\201C.
O que não é reconhecido fica exatamente como estava, e um caminho como C:\dados\nota.txt não é alterado. Marque a opção de escapes simples se quiser que \n, \t e \" também sejam interpretados.
Limitações
- Entidades HTML com nome (
ç,ã, ) não são convertidas aqui; para<,>e&use o HTML Encode/Decode. - Escapes CSS curtos, como
\E7ou\A, só são lidos no modo Somente escapes CSS: no automático eles se confundiriam com\b,\fe caminhos de arquivo. Pela regra do CSS, um espaço logo depois do escape faz parte dele e é consumido. - A opção de converter só os não-ASCII não vale para
U+, bytes UTF-8 e UTF-16: no meio de um texto comum essas notações ficariam ambíguas (cafeé um texto, mas também é hexadecimal válido). - Bytes isolados de outras codificações (Latin-1, Windows-1252) não são UTF-8 válido; nesse caso o
%E7é mantido como está. - O limite é de 200 mil caracteres por conversão.
Perguntas frequentes
Qual é o código Unicode do ç e do ã?
O ç é U+00E7 (231 em decimal): \u00e7, ç, %C3%A7. O ã é U+00E3 (227): \u00e3, ã, %C3%A3. Para ver os dados de um caractere isolado, use Informações de Caractere Unicode.
Como converter um texto para código decimal de HTML?
Escolha Entidade HTML decimal. “Ação” vira Ação; com a opção de só não-ASCII marcada, vira Ação, que o navegador exibe do mesmo jeito.
Qual a diferença entre Unicode e UTF-8?
Unicode é a tabela que dá um número a cada caractere. UTF-8 e UTF-16 são formas de gravar esse número em bytes. O ç é sempre U+00E7, mas ocupa dois bytes em UTF-8 (C3 A7) e uma unidade de 16 bits em UTF-16 (00E7).
Por que o percent-encoding do ç tem dois códigos?
Porque a URL codifica os bytes UTF-8, não o code point: o ç tem dois bytes, %C3%A7, e o 😀 tem quatro. Para codificar uma URL inteira, com as regras de quais caracteres preservar, use o URL Encode/Decode.
O texto é enviado para algum servidor?
Não. A conversão é feita por JavaScript no seu navegador.