Conversor de Emoji Unicode

Converta emojis em pontos de código Unicode (U+XXXX) ou cole pontos de código para obter o emoji.

Emoji → Unicode

Unicode → Emoji

Detalhes dos caracteres

Converta um emoji acima para ver os detalhes dos caracteres.

Como usar

  1. Insira um emoji ou um ponto de código : cole um caractere emoji ou digite seu ponto de código Unicode (por ex. U+1F600).
  2. Veja todas as representações : a ferramenta exibe o código decimal, o valor hex, a entidade HTML, o escape CSS, os bytes UTF-8 e a sequência de escape JavaScript.
  3. Copie qualquer formato : clique em um resultado para copiá-lo instantaneamente para usá-lo em HTML, CSS ou JavaScript.

Por que usar o conversor Emoji Unicode ?

Os emojis são codificados em pontos Unicode, mas cada sistema usa um formato diferente. O HTML precisa de entidades 😀 ou 😀. Os pseudo-elementos CSS precisam da forma escapada \1F600. As strings JavaScript precisam de \u{1F600}. Recuperá-los à mão é tedioso, esta ferramenta gera cada formato instantaneamente a partir de uma simples entrada de emoji. Desenvolvedores, designers e criadores de conteúdo a usam para integrar emojis com segurança em código onde o copiar-colar de caracteres brutos pode causar problemas de codificação.

Formatos de saída suportados

Uma breve história do emoji, e as partes que todo mundo erra

A história de origem mais repetida atribui a Shigetaka Kurita, da NTT DoCoMo, a criação do «primeiro emoji» em 1998-1999. Essa história é verdadeira, mas incompleta. Dois desenvolvimentos anteriores a Kurita merecem menção:

Como o emoji chegou ao resto do mundo

Durante uma década depois do conjunto de Kurita, os emoji foram um fenômeno das operadoras japonesas, com três conjuntos de fornecedores concorrentes e incompatíveis (DoCoMo, KDDI, SoftBank). A passagem para o resto do mundo aconteceu em três etapas:

O trabalho de padronização do Unicode Consortium corria em paralelo. O Unicode 6.0, de outubro de 2010, foi a primeira versão do padrão a incluir o emoji como um conjunto reconhecido, contribuindo com cerca de 722 emoji a partir da união dos conjuntos das operadoras japonesas. O Unicode Technical Report #51, de agosto de 2014, foi publicado (mais tarde promovido a UTS #51 em maio de 2017), a especificação formal de como os emoji são codificados, sequenciados e apresentados.

Por que a maioria dos pontos de código de emoji fica acima de U+FFFF

O Unicode organiza cada caractere em 17 «planos» de 65.536 pontos de código cada. O Plano 0 é o Plano Multilíngue Básico (BMP, na sigla em inglês), de U+0000 a U+FFFF. A maior parte da linguagem escrita do dia a dia mora aqui. Os Planos 1-16 são planos suplementares (informalmente «planos astrais»), de U+10000 a U+10FFFF. A enorme maioria dos emoji vive no Plano 1, o Plano Multilíngue Suplementar, especificamente em blocos como Emoticons (U+1F600-U+1F64F), Símbolos e Pictogramas Diversos (U+1F300-U+1F5FF), Símbolos de Transporte e Mapa (U+1F680-U+1F6FF) e Símbolos e Pictogramas Suplementares (U+1F900-U+1F9FF). O bloco mais recente, Símbolos e Pictogramas Estendido-A, fica em U+1FA70-U+1FAFF.

Isso importa para quem desenvolve por causa do UTF-16. O UTF-16 codifica os pontos de código do BMP como uma única unidade de 16 bits, mas os pontos de código suplementares precisam ser codificados como um par substituto: duas unidades de 16 bits, uma da faixa de substitutos altos U+D800-U+DBFF e outra da faixa de substitutos baixos U+DC00-U+DFFF. O tipo string do JavaScript é internamente UTF-16, e é por isso que "😀".length retorna 2 em vez de 1: o motor está contando unidades de código, não pontos de código. O código JS moderno usa Array.from("😀").length ou a API Intl.Segmenter para contar corretamente os clusters de grafemas.

O UTF-8 trata o mesmo emoji como uma sequência de 4 bytes. O caractere 😀 (U+1F600) é F0 9F 98 80 em UTF-8. É por isso que o antigo charset utf8 do MySQL (que na verdade é utf8mb3, limitado a sequências de 3 bytes) não consegue armazenar emoji: é preciso usar utf8mb4. O MySQL 8.0 tornou o utf8mb4 o padrão, mas bancos de dados legados ainda falham ao armazenar emoji e truncam silenciosamente ou geram erro, dependendo do modo SQL. Esse é um bug comum no mundo real.

Seletores de variação: por que o mesmo coração pode parecer preto ou vermelho

Um punhado de caracteres Unicode tem «dupla personalidade»: eles podem aparecer como um símbolo de texto monocromático simples ou como um emoji colorido, dependendo do contexto. Dois seletores de apresentação foram adicionados ao Unicode 3.2 (março de 2002): o U+FE0F (Seletor de Variação-16, VS16) solicita a apresentação como emoji, e o U+FE0E (VS15) solicita a apresentação como texto. Exemplo: (U+2764, «Heavy Black Heart») é um símbolo cujo padrão é texto; ❤️ (U+2764 U+FE0F) é o coração vermelho com apresentação de emoji que a maioria dos aplicativos renderiza colorido. O mesmo ponto de código, com e sem o VS16, fica completamente diferente.

Um exemplo famoso relacionado é o sol. O U+2600 «Black Sun With Rays» tem como padrão o estilo de texto monocromático; ao acrescentar o VS16 (U+2600 U+FE0F), obtém-se o colorido ☀️. Em contraste, o U+1F31E «Sun With Face» é um ponto de código separado, adicionado no Unicode 6.0 (outubro de 2010), com apresentação padrão de emoji, e é renderizado como o sorridente 🌞 sem precisar de nenhum seletor. Dois pontos de código diferentes, duas histórias diferentes, ambos informalmente chamados de «emoji do sol».

Modificadores de tom de pele e a escala de Fitzpatrick

No Unicode 8.0 (lançado em 17 de junho de 2015), o padrão acrescentou cinco caracteres modificadores que ajustam o tom de pele de qualquer emoji de aparência humana. Os modificadores se baseiam na escala de Fitzpatrick, uma classificação dermatológica desenvolvida em 1975 pelo dermatologista americano Thomas B. Fitzpatrick, em Harvard. A escala médica tem seis tipos (I a VI). Para fins de emoji, os tipos I e II são fundidos em um único modificador, deixando cinco modificadores de emoji:

O uso é posicional: o modificador vem imediatamente depois de um emoji humano compatível. Por exemplo, 👋 (U+1F44B, mão acenando) + U+1F3FD produz 👋🏽, o aceno de tom médio. Se a fonte de quem recebe não suportar uma combinação específica de base+modificador, o modificador é renderizado como um quadrado marrom separado, um modo de falha comum em sistemas mais antigos.

Sequências de Zero-Width Joiner: como os emoji compostos são construídos

O Zero-Width Joiner, ponto de código U+200D, é o caractere de «cola» que permite que vários emoji se combinem em um único glifo composto quando o renderizador reconhece a sequência. O ZWJ é invisível e não tem largura; ele existe puramente para sinalizar ao motor de renderização que os caracteres ao redor devem se fundir. Três padrões predominam:

Muito usado no Unicode 15.1 (lançado em 12 de setembro de 2023): 118 novos emoji foram adicionados na 15.1, dos quais 108 eram variantes direcionais de emoji existentes (pessoas voltadas para a direita, em vez da esquerda padrão). O ponto crucial: a 15.1 acrescentou zero novos pontos de código de base: cada novo emoji era uma sequência construída a partir de componentes existentes.

Keycaps, indicadores regionais e o mecanismo de bandeiras

Sequências de keycap. Um emoji de keycap como 1️⃣ é construído a partir de três pontos de código: um dígito (U+0031 = «1»), o VS16 (U+FE0F) e o caractere Combining Enclosing Keycap U+20E3. O keycap combinante foi aprovado como parte do Unicode 3.0 em 1999. O conjunto completo de emoji de keycap cobre 0-9 mais # e *. A sequência de três caracteres atrapalha o tempo todo as verificações ingênuas de .length.

Pares de indicadores regionais (bandeiras). O Unicode não codifica as bandeiras nacionais como caracteres únicos. Em vez disso, ele define 26 Símbolos Indicadores Regionais, os pontos de código de U+1F1E6 a U+1F1FF, cada um correspondendo a uma letra latina de A a Z. Uma bandeira é um par de indicadores regionais que soletra um código de país ISO 3166-1 alpha-2. A bandeira da França 🇫🇷 é U+1F1EB U+1F1F7: as letras indicadoras regionais F e R. Dos 26 × 26 = 676 pares possíveis, apenas cerca de 270 correspondem a códigos de país ISO válidos; o restante é renderizado como dois símbolos de letra na maioria das plataformas.

Versões recentes de emoji, em resumo

Designs de fornecedores: mesmo ponto de código, arte diferente

O Unicode padroniza o significado e o ponto de código, nunca a arte. Cada plataforma distribui sua própria fonte de emoji, e as diferenças visuais são reais o suficiente para terem causado falhas de comunicação documentadas em estudos acadêmicos (Hecht et al., CSCW 2018, sobre a má interpretação de emoji entre plataformas). As principais fontes:

Quando a fonte de um dispositivo não tem glifo para um ponto de código ou sequência específica, navegadores e sistemas operacionais exibem um retângulo em branco, comumente chamado de tofu. O tofu é o sinal mais forte possível de que o dispositivo de quem recebe é mais antigo que o de quem envia. Em geral, os novos emoji levam de seis a dezoito meses para se propagar de um lançamento do Unicode até todas as grandes plataformas.

Acessibilidade: o que os autores de conteúdo devem saber

Os leitores de tela modernos (NVDA, JAWS, VoiceOver, TalkBack) leem em voz alta o nome curto do CLDR de cada emoji, vindo do Unicode Common Locale Data Repository, por exemplo «rosto sorridente» para 😀, «família: homem, mulher, menina, menino» para 👨‍👩‍👧‍👦. O Unicode CLDR mantém nomes curtos e palavras-chave oficiais em mais de 90 idiomas, e é isso que todo grande leitor de tela nas plataformas Apple e Microsoft utiliza. A técnica H86 do WCAG recomenda envolver os emoji significativos em <span role="img" aria-label="thumbs up">👍</span>; os emoji decorativos devem ser ocultados com aria-hidden="true". Três armadilhas: emoji repetidos ficam prolixos (😂😂😂😂😂 é lido como «rosto chorando de rir» cinco vezes); emoticons em estilo de texto (:)) são lidos como «dois-pontos parêntese-que-fecha», sem nome curto do Unicode; os modificadores de tom de pele são lidos em voz alta (👋🏽 é lido como «mão acenando: tom de pele médio», informativo, mas mais lento).

A Emojipedia e a infraestrutura cultural

A Emojipedia foi fundada em 2013 por Jeremy Burge, um designer australiano que registrou o domínio por capricho depois de um jantar de aniversário. Hoje é o site de referência de fato para significados de emoji, designs de fornecedores e cobertura de lançamentos, com cerca de 590 milhões de visualizações de página em 2021. Burge fez parte do Subcomitê de Emoji do Unicode, atuou como «Chief Emoji Officer» da Emojipedia até 2022 e criou o Dia Mundial do Emoji (17 de julho): escolhido porque o emoji de calendário da Apple 📅 mostra a data de 17 de julho, em si uma referência à data original de lançamento do iCal da Apple na Macworld Expo, em 2002. A Emojipedia foi adquirida pela Zedge, Inc. (NYSE: ZDGE) em agosto de 2021 e continua a operar sob a mesma marca. O Subcomitê de Emoji do Unicode, que avalia as propostas de novos emoji, é atualmente presidido por Jennifer Daniel, ex-líder de design do Google, a primeira mulher a presidir o subcomitê.

Números de referência rápida

Ferramentas relacionadas

Seletor de emojis gratuito Codificador / Decodificador de entidades HTML Tradutor de Código Morse Contador de caracteres