Aussi disponible en : English · Español · Português · العربية
Liste d’émojis
L’ensemble complet des émojis Unicode, avec recherche et par groupes, et une réponse honnête à combien il y en a et à ce que pèse un émoji.
Qu’est-ce que cette liste d’émojis ?
C’est chaque émoji défini par Unicode, tiré d’emoji-test.txt — le fichier que le consortium Unicode publie comme liste de référence — dans sa version 17.0. Ce n’est pas une sélection maison : les groupes, les sous-groupes et l’ordre sont ceux qu’Unicode spécifie lui-même, si bien que rien n’a été ajouté, retiré ni réarrangé.
Cliquez sur un émoji pour le copier. Cherchez par nom dans votre langue, puisque les noms viennent d’Unicode CLDR et non d’une passe de traduction, et filtrez par l’un des neuf groupes qu’Unicode définit : frimousses, personnes, animaux, nourriture, voyages, activités, objets, symboles et drapeaux.
La page fait en outre ce qu’aucune liste d’émojis ne fait d’ordinaire, et c’est la raison de la lire plutôt que de la faire défiler : elle vous dit ce que pèse réellement un émoji. Ce nombre n’est pas celui qu’on devinerait, et il est à l’origine de toute une famille de bogues.
Comment utiliser cette page
- Cherchez ou choisissez un groupe. Ce que vous tapez est comparé au nom de l’émoji dans la langue où vous lisez ceci : « fusée », « rocket » et « cohete » trouvent donc la même chose. Coller un émoji dans le champ le retrouve aussi, ce qui sert quand on en a un et qu’on veut savoir comment il s’appelle.
- Activez les variantes de teinte de peau si vous en avez besoin. Elles sont désactivées par défaut, d’où un décompte qui commence à 1914 et non à 3944. En les activant, toutes les formes modifiées apparaissent et le groupe Personnes et corps est plus que triplé.
- Collez quelque chose dans le compteur du bas. Il donne trois nombres : ce que compte un lecteur, combien il y a de points de code, et ce qu’annonce la propriété length de JavaScript. Pour du texte ordinaire les trois coïncident. Pour des émojis non, et cet écart est ce qui casse les limites de longueur.
Combien y a-t-il d’émojis ?
Il y a deux réponses honnêtes et mieux vaut savoir laquelle on vous donne. Unicode 17.0 répertorie 3944 émojis pleinement qualifiés. Mais 2030 d’entre eux — plus de la moitié — sont des variantes de teinte de peau des 1914 autres. La même main qui salue apparaît six fois : une fois non modifiée et une fois par teinte.
« 3944 émojis » et « 1914 émojis » sont donc vraies toutes les deux, et laquelle est la bonne dépend de si un émoji modifié compte pour un émoji distinct. Cette page affiche par défaut l’ensemble de base de 1914, parce que c’est ce que veut réellement quelqu’un qui cherche quelque chose à coller, et montre le nombre complet dès qu’on le lui demande. Toute source qui avance un seul chiffre sans dire lequel a sauté la partie intéressante.
Les groupes sont déséquilibrés pour la même raison. Personnes et corps rassemble 2418 des 3944 — 61 % de tous les émojis — parce que presque tout ce qui s’y trouve accepte une teinte de peau. Désactivez les variantes et il retombe à quelques centaines. Drapeaux, à l’inverse, en compte 270 et aucun ne varie.
Un émoji est un caractère et en pèse environ cinq
Voilà ce qui compte si vous écrivez du code. Chacun des 3944 émojis est exactement un groupe de graphèmes : un caractère, au sens où un lecteur les compte. Nous l’avons vérifié sur tous, pas sur un échantillon. Mais 3884 d’entre eux, soit 98,5 %, ont un length JavaScript différent de 1.
Sommé sur l’ensemble, length annonce 20 064 pour ce qu’un lecteur compte comme 3944 caractères : 5,09 fois trop. Le pire cas isolé est une séquence de baiser à 15 unités UTF-16 : un caractère à l’écran, quinze pour à peu près tous les compteurs de caractères, limites de champ de saisie et colonnes de base de données jamais écrits.
La raison est que la plupart des émojis sont des séquences. 1614 sont assemblés par un liant sans chasse, un caractère invisible qui colle plusieurs émojis en une seule image — c’est ainsi qu’on construit une famille ou un couple. Les teintes de peau ajoutent un point de code de plus. Et 1180 portent un sélecteur de variante, U+FE0F, une marque invisible qui dit « dessine ceci en émoji, pas en symbole noir et blanc ».
Le remède n’a rien d’ingénieux, il est seulement moins répandu qu’il ne devrait : Intl.Segmenter en granularité graphème compte ce que compte un lecteur, et il a raison sur les 3944. Le compteur de cette page s’en sert, et affiche les deux autres nombres à côté pour que vous voyiez l’écart sur votre propre texte.
Pourquoi deux émojis identiques peuvent être inégaux
Unicode marque chaque séquence de sa liste comme pleinement qualifiée, minimalement qualifiée ou non qualifiée, et toute la distinction tient à ce caractère invisible. Nous l’avons vérifié comme une propriété plutôt que de nous fier à la description : les 1029 séquences minimalement qualifiées deviennent un émoji pleinement qualifié dès qu’on leur retire U+FE0F. Pas la plupart : toutes.
Ainsi, un cœur rouge écrit U+2764 U+FE0F et un cœur rouge écrit U+2764 seul sont identiques dans toutes les polices et constituent des chaînes différentes. L’un ne correspond pas à l’autre, ne donne pas la même empreinte et échoue à tout test d’égalité, dans n’importe quel langage. Si vous avez déjà eu un filtre d’émojis qui laissait mystérieusement passer certains cœurs, c’est presque sûrement cela.
La règle pratique : normalisez avant de comparer. Retirez les sélecteurs de variante des deux côtés, ou comparez systématiquement les formes pleinement qualifiées. Les émojis que cette page copie dans le presse-papiers sont les formes pleinement qualifiées, ce que l’on veut dans presque tous les cas, puisque c’est l’écriture qui s’affiche en couleur partout.
Limites honnêtes
Qu’un émoji s’affiche seulement dépend de votre appareil, pas de cette page. Unicode définit le caractère ; Apple, Google, Microsoft, Samsung et les projets de polices libres le dessinent, chacun à son rythme. Un émoji tout juste sorti en version 17.0 apparaîtra comme un carré vide sur un téléphone non mis à jour, et aucune page web n’y peut rien. Si une case semble vide, l’émoji existe et votre système ne l’a pas encore.
Ils ne se ressemblent pas non plus partout. Le même point de code est un dessin différent sur chaque plateforme, et quelques-uns ont différé au point de changer le sens d’un message. Ce que vous copiez est le caractère, jamais l’image : l’image est choisie par celui qui lit.
Cette liste est un instantané d’Unicode 17.0. De nouveaux émojis arrivent environ une fois par an, si bien qu’une version publiée après la construction de cette page n’y figure pas. Le générateur est dans le dépôt et régénérer tient en une commande.
Enfin, le compteur mesure des groupes de graphèmes, ce qui est la bonne réponse à « combien de caractères cela fait-il ». Ce n’est pas toujours la bonne à « est-ce que ça rentre ? », car chaque service impose ses règles : certains comptent des octets UTF-8, d’autres des unités UTF-16, d’autres facturent l’émoji à prix fixe. Les trois nombres sont affichés pour que vous puissiez retenir celui qu’emploie le service en face de vous.
Pourquoi est-ce gratuit ?
Parce que c’est une liste et quelques mesures de chaînes. L’ensemble des données se trouve dans la page que vous avez déjà chargée, tout s’exécute dans votre navigateur, et rien de ce que vous collez dans le compteur n’est envoyé ni conservé.
Il n’y a donc ni compte, ni inscription, ni rien de réservé. Le générateur qui construit tout cela depuis l’emoji-test.txt d’Unicode et les annotations de noms du CLDR se trouve dans le dépôt, à côté de la page, avec les 139 vérifications qui contrôlent les décomptes, l’affirmation sur les graphèmes et la propriété de qualification — y compris les contrôles négatifs qui empêchent ces tests de passer pour la mauvaise raison.