Emoji Copiar e Colar
Selecione um emoji para copiá-lo. Emojis que seu dispositivo não consegue exibir ficam ocultos.
Nada do que você digita aqui é armazenado, registrado ou compartilhado.
Clique em qualquer emoji para copiá-lo e cole onde quiser. Navegue por categoria ou pesquise em português - todos os emojis aqui são caracteres Unicode padrão, então aparecem corretamente onde você colar.
Como usar
- Escolha uma categoria ou digite o que procura na busca.
- Passe o mouse sobre um emoji para ver o nome dele.
- Clique em um emoji para copiá-lo.
- Cole onde precisar.
Um emoji é um caractere, não uma imagem
O que você copia desta página é texto. Um rosto sorridente é o code point U+1F600, o mesmo tipo de coisa que a letra A, e passa pela sua área de transferência como caractere, e não como arquivo de imagem.
É por isso que um emoji muda de aparência quando chega a outro lugar. Apple, Google, Microsoft, Samsung e Twitter encomendam cada um a própria arte para o mesmo code point, e o dispositivo que exibe desenha a versão que a própria fonte oferece. O caractere é idêntico; só o desenho muda. É também por isso que um emoji acompanha o tamanho do texto ao redor, pode ser buscado e funciona num nome de arquivo ou mensagem de commit, onde uma imagem não funcionaria.
Às vezes as diferenças vão além da estética. Fabricantes já redesenharam emoji quando a interpretação deles se afastou demais da dos outros - a pistola que virou pistola d'água em todas as grandes plataformas é o caso mais conhecido -, então um caractere enviado num ano pode causar outra impressão quando lido em outro.
Por que alguns emoji não aparecem
O Unicode adiciona novos emoji quase todo ano, e um dispositivo só consegue desenhar os que a fonte instalada conhece. Um emoji mais novo que a fonte aparece como um "tofu": um retângulo vazio, às vezes com os dígitos hexadecimais do code point dentro.
Para não deixar você copiar algo invisível, esta página verifica o que o seu navegador consegue de fato desenhar e esconde o resto. Isso significa que a grade varia um pouco conforme o dispositivo e a data da última atualização do sistema, e significa que tudo o que você vê aqui é algo que você consegue ver. Não garante que quem recebe consiga: essa pessoa pode estar num aparelho mais antigo, e um emoji muito novo pode chegar como um quadradinho do outro lado. Para o que importa, quanto mais antigo e amplamente suportado o emoji, mais seguro.
Sequências, joiners e tons de pele
Muitos emoji não são um code point, e sim vários. Uma família, um casal, uma profissão, uma bandeira: são montados unindo vários caracteres com um zero-width joiner invisível, U+200D. Um dispositivo que entende a sequência desenha um único glifo combinado; um que não entende mostra as partes lado a lado, e é por isso que um emoji de família às vezes chega como pessoas separadas.
O tom de pele funciona do mesmo jeito. O Unicode define cinco modificadores de tom, aplicados a um emoji base como caractere seguinte, e eles só existem para parte dos emoji - basicamente mãos, pessoas e partes do corpo, onde o tom faz sentido. Tudo aqui é copiado na forma padrão; o teclado ou o painel de emoji do seu celular pode aplicar um tom depois.
A consequência prática de tudo isso é que um emoji costuma ter mais de um caractere no código. Limites de tamanho, colunas de banco de dados e lógica de truncamento de texto contam as partes, não o glifo, então um único emoji de família pode consumir sete ou mais unidades do limite de caracteres e ser cortado ao meio por um truncamento ingênuo.
Onde os emoji quebram
A falha clássica é uma coluna MySQL declarada como utf8, que não é UTF-8, e sim um subconjunto de três bytes que não representa nada acima de U+FFFF. Emoji inseridos nela são rejeitados ou o texto é truncado em silêncio no primeiro deles. A correção é utf8mb4, e é uma mudança de schema, não uma configuração.
Além do armazenamento, emoji são ordenados pela ordem dos code points e não por qualquer ordem significativa, costumam ser invisíveis para a busca textual a menos que ela esteja configurada para eles, e podem carregar seletores de variação que fazem duas strings visualmente idênticas serem comparadas como diferentes. Nada disso é motivo para evitá-los; é motivo para testar com um antes de supor que um campo os aceita.
Como um emoji novo passa a existir
Emojis entram no Unicode por um processo formal de proposta conduzido pelo Unicode Consortium. Qualquer pessoa pode enviar uma, mas a proposta precisa sustentar o argumento com evidências: frequência de uso esperada, se o conceito já não está coberto por algo existente, se não é específico demais, passageiro demais ou, na prática, um logotipo. A maioria das submissões é rejeitada por um desses motivos.
Os caracteres aceitos são publicados em uma versão anual, e então cada fabricante desenha a própria arte e a distribui em uma atualização do sistema operacional. É esse intervalo que torna um emoji recém-anunciado inutilizável na prática por um ano ou mais: o code point existe, mas a maioria dos aparelhos não tem glifo para ele e mostra um quadradinho vazio no lugar.
Junto com os caracteres, o Consortium publica os dados do CLDR - os nomes curtos e as palavras-chave de busca de cada emoji, traduzidos por locale. São esses dados que sustentam qualquer busca de emoji que funcione em mais de um idioma, inclusive a busca desta página, e é por isso que a mesma figura é encontrada por palavras diferentes dependendo de onde você está.
O que o leitor de tela anuncia
Um emoji tem um nome na árvore de acessibilidade, e o leitor de tela o lê em voz alta. Isso é útil quando o emoji carrega significado e cansativo quando não carrega: uma linha que termina com cinco emojis de confete é anunciada como cinco descrições separadas, e uma lista em que cada item começa com um símbolo decorativo repete esse símbolo linha após linha.
A orientação que realmente ajuda é colocar o emoji no fim da frase, e não no meio, para que o texto continue fluindo quando cada um deles for falado; evitar usar um emoji como único rótulo de um controle, já que o nome anunciado pode não corresponder ao sentido que você pretendia; e manter a repetição decorativa fora do corpo do texto.
Emojis em nomes e apelidos de usuário são um problema à parte, porque são anunciados toda vez que o nome aparece. Onde a interface os permite, ela também deveria permitir um nome de exibição em texto simples.
Armazenar e buscar emojis em um banco de dados
A falha clássica é uma coluna MySQL declarada como utf8, que é um subconjunto de três bytes incapaz de representar qualquer coisa acima de U+FFFF. Emojis inseridos ali são rejeitados ou truncados no primeiro deles, e a correção é utf8mb4 - uma mudança de esquema, junto com o charset da conexão e, em versões antigas, os limites de tamanho de índice que levaram as pessoas a escolher utf8 em primeiro lugar.
A busca é a surpresa seguinte. Emojis são ordenados por code point, o que não significa nada para quem lê, e índices de full-text costumam descartá-los como pontuação, a menos que sejam configurados de outro jeito. Se os usuários podem buscar por emoji, a abordagem prática é indexar o nome do CLDR junto com o caractere.
A comparação tem sua própria armadilha: seletores de variação e zero-width joiners fazem com que duas strings visualmente idênticas difiram byte a byte. Normalizar antes de comparar, ou comparar a saída renderizada em vez dos bytes crus, é o que faz a deduplicação se comportar.
O mesmo caractere, outro desenho
Como cada fabricante desenha a própria arte, o emoji carrega um tom que quem envia não controla. As pesquisas sobre isso são consistentes: as pessoas interpretam o mesmo emoji de formas diferentes entre plataformas, às vezes com valência oposta, e é assim que uma mensagem escrita com carinho chega como ironia.
Alguns caracteres mudaram de sentido ao longo do tempo, à medida que os fabricantes convergiram. A pistola foi redesenhada como pistola d'água em todas as grandes plataformas entre 2016 e 2018, e vários gestos foram refeitos depois que o desenho original passou a ser lido como outra coisa em determinadas regiões.
A regra prática para qualquer coisa que importe - a interface de um produto, uma mensagem de suporte, documentação - é preferir emojis antigos e consolidados, cuja renderização é estável em todo lugar, testar em pelo menos um aparelho Apple e um Android, e nunca depender de um desenho específico para carregar um sentido que o texto não carregue também.
Emojis em código, nomes de arquivo e identificadores
Emojis são caracteres comuns, então a maioria dos sistemas os aceita em lugares que as pessoas não esperam: mensagens de commit, nomes de branch, nomes de arquivo, chaves de JSON e, em algumas linguagens, até identificadores. Se devem ser usados ali é outra conversa.
As mensagens de commit são o caso mais comum, e a convenção tem até nome - gitmoji - em que um caractere inicial classifica a mudança. Funciona bem num time que concorda com o mapeamento e mal com ferramentas que fazem parsing das mensagens de commit, já que uma categoria codificada como desenho é mais difícil de casar do que um prefixo como fix: ou feat:.
Nomes de arquivo são mais arriscados do que parecem. Eles sobrevivem em sistemas de arquivos modernos, mas podem quebrar ferramentas de build antigas, formatos de arquivamento e qualquer coisa que monte um comando de shell concatenando strings. Para tudo que atravessa a fronteira entre sistemas, nomes em ASCII com o emoji nos metadados, e não no nome, é a versão que continua funcionando.
Perguntas frequentes
- Por que o emoji fica diferente depois que eu colo?
- Porque você copiou um caractere, não uma imagem. Apple, Google, Microsoft e Samsung desenham o mesmo caractere de um jeito próprio, então ele aparece no estilo do aparelho de quem lê. O significado é o mesmo em todos.
- Por que não consigo ver alguns emojis?
- Todo ano o Unicode ganha emojis novos, e seu aparelho só desenha os que a fonte dele conhece. Os que ele não consegue exibir ficam ocultos aqui automaticamente, para você não copiar um quadradinho vazio.
- Dá para escolher o tom de pele?
- Aqui não - todo emoji é copiado na forma padrão. O Unicode define tons de pele para apenas 323 deles, quase todos mãos, pessoas e partes do corpo, e o teclado de emojis do seu aparelho pode aplicar um depois que você colar.
- O que eu copio é enviado para algum servidor?
- Não. A lista de emojis faz parte da própria página e a cópia acontece no seu navegador, então nada do que você clica é registrado ou enviado.
Última atualização:
Inclua os passos, o resultado esperado e o resultado real. Remova segredos e dados pessoais.
