Compteur de tokens
Voyez combien de tokens votre texte utilise dans ChatGPT et d'autres modèles d'IA, avec une estimation pour Claude. Rien ne quitte votre navigateur.
Chargement de Compteur de tokens… Si rien ne se passe, activez JavaScript.
Les modèles de langage ne lisent ni des caractères ni des mots, ils lisent des tokens : de courts morceaux de texte tirés d'un vocabulaire fixe avec lequel le modèle a été entraîné. Les tarifs, les limites d'utilisation et les fenêtres de contexte se mesurent tous en tokens, donc savoir combien en utilise un prompt vous dit ce que coûtera une requête et si un long document tiendra. Collez du texte, un prompt ou un fichier de code dans ce compteur : il le découpe en tokens avec les mêmes tables de byte pair encoding qu'OpenAI, o200k_base pour GPT-4o, GPT-4.1, les modèles de raisonnement de la série o et la famille GPT-5, et cl100k_base pour GPT-4 et GPT-3.5 Turbo. En plus du nombre de tokens, vous obtenez les caractères, les mots, les lignes et le nombre moyen de caractères par token, un moyen rapide de voir à quel point une langue ou un format est encodé efficacement.
Questions fréquentes
Mon texte est-il envoyé quelque part ?
Quel encodage choisir ?
Le compte de tokens GPT est-il exact ?
Quelle est la précision de l'estimation Claude ?
Comment obtenir le nombre exact de tokens Claude ?
Que m'apprend le ratio caractères par token ?
À quoi sert la barre de fenêtre de contexte ?
Pourquoi les mêmes mots sont-ils découpés différemment selon l'endroit ?
Puis-je compter les tokens d'un fichier ?
À propos de Compteur de tokens
La vue des tokens, en dessous, montre exactement où tombent les frontières, chaque token sur un fond alterné, avec une option pour afficher les identifiants numériques à la place du texte. C'est utile quand un prompt se comporte bizarrement : on voit qu'une espace initiale fait partie du mot suivant, qu'un long nombre est coupé en groupes de trois chiffres, ou qu'un mot en français ou en japonais demande plusieurs tokens là où son équivalent anglais n'en demande qu'un. Le code, le JSON et le texte minifié consomment en général plus de tokens par caractère que la prose, et le ratio caractères par token le rend visible. Pour garder la page fluide, seuls les 2 000 premiers tokens sont affichés, mais les compteurs portent toujours sur la totalité du texte.
Les modèles Claude utilisent leur propre tokeniseur, et Anthropic ne le publie pas sous une forme exécutable dans le navigateur. Le chiffre Claude affiché ici est donc une estimation, calculée à partir du compte o200k_base avec une fourchette de facteurs, et il est présenté comme tel. Les modèles Claude récents (Opus 4.7 et suivants, ainsi que les modèles Fable) utilisent un tokeniseur qui produit nettement plus de tokens pour un même texte que les versions précédentes : prenez le haut de la fourchette comme valeur prudente pour vos prévisions et utilisez le point de terminaison count_tokens de l'API d'Anthropic lorsque vous avez besoin du chiffre exact. Tout s'exécute en local : les tables du tokeniseur sont chargées depuis ce site et votre texte n'est jamais envoyé nulle part.
Le byte pair encoding était d'abord une astuce de compression
L'algorithme derrière ces tokeniseurs n'a pas été inventé pour les modèles de langage. Philip Gage a décrit le byte pair encoding en 1994 dans The C Users Journal comme une méthode simple de compression de données : trouver la paire d'octets adjacents la plus fréquente, la remplacer par un octet absent des données, puis recommencer jusqu'à ce qu'aucune paire ne soit assez fréquente pour que cela vaille la peine.
En 2015, Rico Sennrich et ses collègues ont adapté l'idée à la traduction automatique neuronale. Au lieu de compresser un fichier, ils ont utilisé la même fusion gloutonne pour construire un vocabulaire d'unités plus petites que le mot, afin qu'un modèle de traduction puisse gérer les mots rares et les noms propres en les assemblant à partir de morceaux connus. En 2019, GPT-2 d'OpenAI a fait descendre le procédé au niveau des octets bruts, ce qui permettait d'encoder n'importe quelle chaîne, dans n'importe quelle langue ou avec n'importe quel emoji, sans jamais recourir à un token inconnu.
C'est cette conception au niveau de l'octet qui explique pourquoi un seul emoji peut occuper plusieurs tokens et pourquoi un mot peut être coupé à des endroits surprenants : le vocabulaire reflète les suites d'octets fréquentes dans les données d'entraînement, pas la façon dont les gens pensent les mots. C'est aussi pour cela que les vocabulaires ne cessent de grossir, d'environ 50 000 entrées pour GPT-2 à près de 100 000 pour cl100k_base et 200 000 pour o200k_base, chaque étape permettant de faire tenir le texte courant dans moins de tokens.