Convertisseur Emoji Unicode, gratuit

Convertissez des emoji en points de code Unicode (U+XXXX) ou collez des points de code pour obtenir l'emoji.

Emoji → Unicode

Unicode → Emoji

Détails des caractères

Convertissez un emoji ci-dessus pour voir les détails des caractères.

Comment utiliser

  1. Saisissez un emoji ou un point de code : collez un caractère emoji ou tapez son point de code Unicode (par ex. U+1F600).
  2. Voyez toutes les représentations : l'outil affiche le code décimal, la valeur hex, l'entité HTML, l'échappement CSS, les octets UTF-8 et la séquence d'échappement JavaScript.
  3. Copiez n'importe quel format : cliquez sur un résultat pour le copier instantanément afin de l'utiliser en HTML, CSS ou JavaScript.

Pourquoi utiliser le convertisseur Emoji Unicode ?

Les emoji sont codés en points Unicode, mais chaque système utilise un format différent. Le HTML a besoin d'entités 😀 ou 😀. Les pseudo-éléments CSS ont besoin de la forme échappée \1F600. Les chaînes JavaScript ont besoin de \u{1F600}. Les retrouver à la main est fastidieux, cet outil génère chaque format instantanément depuis une simple saisie d'emoji. Développeurs, designers et créateurs de contenu l'utilisent pour intégrer des emoji en toute sécurité dans du code où le copier-coller de caractères bruts peut provoquer des problèmes de codage.

Formats de sortie pris en charge

Une brève histoire des emoji, et ce que tout le monde comprend de travers

L'histoire des origines la plus répétée attribue à Shigetaka Kurita, chez NTT DoCoMo, la création du « premier emoji » en 1998-1999. Cette histoire est vraie, mais incomplète. Deux développements antérieurs à Kurita méritent d'être mentionnés :

Comment les emoji ont gagné le reste du monde

Pendant une décennie après le jeu de Kurita, les emoji sont restés un phénomène des opérateurs japonais, avec trois jeux concurrents et incompatibles selon le fournisseur (DoCoMo, KDDI, SoftBank). Le passage au grand public s'est fait en trois étapes :

Le travail de normalisation du Consortium Unicode s'est déroulé en parallèle. Octobre 2010, Unicode 6.0 a été la première version de la norme à ajouter les emoji comme ensemble reconnu, apportant environ 722 emoji issus de l'union des jeux des opérateurs japonais. Août 2014, le rapport technique Unicode #51 a été publié (plus tard promu au rang d'UTS #51 en mai 2017), la spécification formelle de la façon dont les emoji sont encodés, séquencés et présentés.

Pourquoi la plupart des points de code des emoji se trouvent au-dessus de U+FFFF

Unicode organise chaque caractère en 17 « plans » de 65 536 points de code chacun. Le plan 0 est le plan multilingue de base (BMP), de U+0000 à U+FFFF. La majeure partie de l'écriture courante s'y trouve. Les plans 1 à 16 sont des plans complémentaires (informellement les « plans astraux »), de U+10000 à U+10FFFF. La grande majorité des emoji résident dans le plan 1, le plan multilingue complémentaire, précisément dans des blocs comme Emoticons (U+1F600-U+1F64F), Miscellaneous Symbols and Pictographs (U+1F300-U+1F5FF), Transport and Map Symbols (U+1F680-U+1F6FF) et Supplemental Symbols and Pictographs (U+1F900-U+1F9FF). Le bloc plus récent Symbols and Pictographs Extended-A se situe à U+1FA70-U+1FAFF.

C'est important pour les développeurs à cause de l'UTF-16. L'UTF-16 encode les points de code du BMP sur une seule unité de 16 bits, mais les points de code complémentaires doivent être encodés sous forme de paire de substitution : deux unités de 16 bits, l'une dans la plage des substituts hauts U+D800-U+DBFF et l'autre dans la plage des substituts bas U+DC00-U+DFFF. Le type chaîne de JavaScript est en interne de l'UTF-16, ce qui explique pourquoi "😀".length renvoie 2 au lieu de 1 : le moteur compte les unités de code, et non les points de code. Le code JS moderne utilise Array.from("😀").length ou l'API Intl.Segmenter pour compter correctement les groupes de graphèmes.

L'UTF-8 traite le même emoji sous forme d'une séquence de 4 octets. Le caractère 😀 (U+1F600) s'écrit F0 9F 98 80 en UTF-8. C'est pourquoi l'ancien jeu de caractères utf8 de MySQL (qui est en réalité utf8mb3, plafonné aux séquences de 3 octets) ne peut pas stocker d'emoji ; il vous faut utf8mb4. MySQL 8.0 a fait de utf8mb4 la valeur par défaut, mais les bases de données héritées échouent encore à stocker les emoji et tronquent ou produisent une erreur en silence selon le mode SQL. C'est un bogue fréquent dans la pratique.

Les sélecteurs de variante, ou pourquoi le même cœur peut paraître noir ou rouge

Une poignée de caractères Unicode ont une « double personnalité » : ils peuvent apparaître comme un simple symbole texte monochrome ou comme un emoji coloré, selon le contexte. Deux sélecteurs de présentation ont été ajoutés à Unicode 3.2 (mars 2002) : U+FE0F (sélecteur de variante 16, VS16) demande la présentation emoji, et U+FE0E (VS15) demande la présentation texte. Exemple : (U+2764, « Heavy Black Heart ») est un symbole texte par défaut ; ❤️ (U+2764 U+FE0F) est le cœur rouge en présentation emoji que la plupart des applications affichent en couleur. Le même point de code, avec et sans VS16, a une apparence complètement différente.

Un exemple connexe célèbre est le soleil. U+2600 « Black Sun With Rays » s'affiche par défaut en style texte monochrome ; en ajoutant VS16 (U+2600 U+FE0F), on obtient le ☀️ coloré. En revanche, U+1F31E « Sun With Face » est un point de code distinct ajouté dans Unicode 6.0 (octobre 2010), en présentation emoji par défaut, qui s'affiche comme le 🌞 souriant sans nécessiter aucun sélecteur. Deux points de code différents, deux histoires différentes, tous deux informellement appelés « l'emoji soleil ».

Les modificateurs de teinte de peau et l'échelle de Fitzpatrick

Dans Unicode 8.0 (publié le 17 juin 2015), la norme a ajouté cinq caractères modificateurs qui ajustent la teinte de peau de tout emoji à présentation humaine. Les modificateurs reposent sur l'échelle de Fitzpatrick, une classification dermatologique mise au point en 1975 par le dermatologue américain Thomas B. Fitzpatrick, à Harvard. L'échelle médicale comporte six types (I à VI). Pour les emoji, les types I et II sont fusionnés en un seul modificateur, ce qui laisse cinq modificateurs d'emoji :

L'usage est positionnel : le modificateur vient immédiatement après un emoji humain pris en charge. Par exemple, 👋 (U+1F44B, main qui salue) + U+1F3FD produit 👋🏽, le salut en teinte moyenne. Si la police du destinataire ne prend pas en charge une combinaison base+modificateur donnée, le modificateur s'affiche comme un carré brun distinct, un mode d'échec courant sur les systèmes plus anciens.

Les séquences de jointeur de largeur nulle (ZWJ) : comment sont construits les emoji composés

Le jointeur de largeur nulle (Zero-Width Joiner), point de code U+200D, est le caractère « colle » qui permet à plusieurs emoji de se combiner en un seul glyphe composite lorsque le moteur de rendu reconnaît la séquence. Le ZWJ est invisible et n'a aucune chasse ; il existe uniquement pour signaler au moteur de rendu que les caractères environnants doivent fusionner. Trois schémas dominent :

Largement utilisées dans Unicode 15.1 (publié le 12 septembre 2023) : 118 nouveaux emoji y ont été ajoutés, dont 108 étaient des variantes directionnelles d'emoji existants (des personnes tournées vers la droite plutôt que vers la gauche par défaut). Fait crucial, la version 15.1 n'a ajouté aucun nouveau point de code de base : chaque nouvel emoji était une séquence construite à partir de composants existants.

Les touches (keycaps), les indicateurs régionaux et le mécanisme des drapeaux

Les séquences de touche. Un emoji de touche comme 1️⃣ est constitué de trois points de code : un chiffre (U+0031 = « 1 »), VS16 (U+FE0F) et le caractère Combining Enclosing Keycap U+20E3. La touche combinatoire a été approuvée dans le cadre d'Unicode 3.0 en 1999. L'ensemble complet des emoji de touche couvre 0-9 ainsi que # et *. Cette séquence de trois caractères met régulièrement en défaut les vérifications naïves de .length.

Les paires d'indicateurs régionaux (drapeaux). Unicode n'encode pas les drapeaux nationaux comme des caractères uniques. Il définit plutôt 26 symboles indicateurs régionaux, les points de code U+1F1E6 à U+1F1FF, chacun correspondant à une lettre latine de A à Z. Un drapeau est une paire d'indicateurs régionaux qui épelle un code de pays ISO 3166-1 alpha-2. Le drapeau français 🇫🇷 s'écrit U+1F1EB U+1F1F7 : les lettres indicatrices régionales F et R. Sur les 26 × 26 = 676 paires possibles, seules 270 environ correspondent à des codes de pays ISO valides ; les autres s'affichent comme deux symboles de lettre sur la plupart des plateformes.

Les versions récentes d'emoji, en bref

Les dessins selon le fournisseur : même point de code, œuvre graphique différente

Unicode normalise le sens et le point de code, jamais l'œuvre graphique. Chaque plateforme livre sa propre police d'emoji, et les différences visuelles sont suffisamment réelles pour avoir causé des malentendus documentés dans des études universitaires (Hecht et al., CSCW 2018, sur la mauvaise interprétation des emoji multiplateforme). Les principales polices :

Lorsque la police d'un appareil n'a aucun glyphe pour un point de code ou une séquence donnés, les navigateurs et les systèmes d'exploitation affichent un rectangle vide, communément appelé tofu. Le tofu est le signal le plus fort possible que l'appareil du destinataire est plus ancien que celui de l'expéditeur. Les nouveaux emoji mettent généralement six à dix-huit mois à se propager d'une publication Unicode à toutes les grandes plateformes.

L'accessibilité : ce que les auteurs de contenu devraient savoir

Les lecteurs d'écran modernes (NVDA, JAWS, VoiceOver, TalkBack) énoncent le nom court CLDR de chaque emoji, issu du Common Locale Data Repository d'Unicode, par exemple « visage souriant » pour 😀, « famille : homme, femme, fille, garçon » pour 👨‍👩‍👧‍👦. Le CLDR d'Unicode tient à jour des noms courts et des mots-clés officiels dans plus de 90 langues, ce qu'utilise tout lecteur d'écran majeur sur les plateformes Apple et Microsoft. La technique WCAG H86 recommande d'envelopper les emoji porteurs de sens dans <span role="img" aria-label="thumbs up">👍</span> ; les emoji décoratifs devraient être masqués avec aria-hidden="true". Trois pièges : les emoji répétés deviennent verbeux (😂😂😂😂😂 se lit « visage riant aux larmes » cinq fois) ; les émoticônes en style texte (:)) se lisent « deux-points parenthèse fermante » sans nom court Unicode ; les modificateurs de teinte de peau sont énoncés (👋🏽 se lit « main qui salue : peau légèrement mate », instructif mais plus lent).

Emojipedia et l'infrastructure culturelle

Emojipedia a été fondé en 2013 par Jeremy Burge, un designer australien qui a enregistré le domaine sur un coup de tête après un dîner d'anniversaire. C'est aujourd'hui le site de référence de facto pour le sens des emoji, les dessins selon le fournisseur et la couverture des nouveautés, totalisant environ 590 millions de pages vues en 2021. Burge a siégé au sous-comité Emoji d'Unicode, a occupé le poste de « Chief Emoji Officer » d'Emojipedia jusqu'en 2022, et a créé la Journée mondiale de l'emoji (17 juillet) : choisie parce que l'emoji calendrier d'Apple 📅 affiche la date du 17 juillet, elle-même un clin d'œil à la date de lancement initiale d'iCal d'Apple au Macworld Expo en 2002. Emojipedia a été racheté par Zedge, Inc. (NYSE : ZDGE) en août 2021 et continue d'opérer sous la même marque. Le sous-comité Emoji d'Unicode, qui évalue les propositions de nouveaux emoji, est actuellement présidé par Jennifer Daniel, ancienne responsable du design chez Google, première femme à présider le sous-comité.

Chiffres de référence rapide

Outils associés

Sélecteur d'emoji, gratuit Encodeur / décodeur d'entités HTML, gratuit Traducteur de code morse, gratuit Comptage de caractères en ligne, gratuit