BrowserTools
Accueil / IA / Compteur de tokens

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 ?
Non. Le tokeniseur est une bibliothèque JavaScript dont les tables de vocabulaire sont servies par ce site et qui s'exécute dans votre navigateur. La page n'envoie aucune requête contenant votre texte, vous pouvez donc coller des prompts privés, du code source ou des données clients sans qu'ils quittent votre appareil.
Quel encodage choisir ?
Choisissez o200k_base pour GPT-4o, GPT-4o mini, GPT-4.1, les modèles de raisonnement o1, o3 et o4 et la famille GPT-5. Choisissez cl100k_base pour GPT-4, GPT-4 Turbo, GPT-3.5 Turbo et les modèles d'embeddings text-embedding-3 et ada-002. o200k_base possède un vocabulaire d'environ 200 000 tokens contre environ 100 000 pour cl100k_base, ce qui aide surtout pour les textes non anglais et le code, où il demande généralement moins de tokens.
Le compte de tokens GPT est-il exact ?
Pour le texte brut, oui : il utilise les mêmes tables de byte pair encoding que la bibliothèque tiktoken d'OpenAI. Une requête de chat ajoute quelques tokens par message pour le rôle et la mise en forme, et les outils, images et instructions système en ajoutent davantage, donc le nombre facturé pour un appel complet à l'API sera légèrement supérieur au compte du texte seul.
Quelle est la précision de l'estimation Claude ?
C'est une approximation, pas une mesure. Anthropic ne publie pas de tokeniseur utilisable côté client, l'outil multiplie donc le compte o200k_base par une fourchette de 1,1 à 1,5. Les modèles Claude récents (Opus 4.7 et suivants, ainsi que les modèles Fable) utilisent un tokeniseur qui produit environ 1,0 à 1,35 fois plus de tokens que les anciennes versions de Claude pour un même texte, et les comptes Claude sont en général supérieurs à ceux d'OpenAI. Le code et les textes non anglais se situent plutôt en haut de la fourchette, la prose anglaise simple plutôt en bas.
Comment obtenir le nombre exact de tokens Claude ?
Appelez le point de terminaison de comptage de tokens d'Anthropic, POST /v1/messages/count_tokens, avec le même identifiant de modèle et les mêmes messages que ceux que vous comptez envoyer. Il est gratuit, renvoie input_tokens et compte aussi les prompts système, les outils et les images. Les comptes dépendent du modèle, indiquez donc toujours celui que vous utiliserez réellement. Les SDK officiels l'exposent sous le nom messages.count_tokens en Python et messages.countTokens en TypeScript.
Que m'apprend le ratio caractères par token ?
C'est le nombre moyen de caractères contenus dans chaque token. La prose anglaise avec o200k_base tourne généralement autour de quatre caractères par token. Un ratio plus faible signifie que le texte coûte plus cher à traiter par caractère, ce qui est typique du code riche en ponctuation, des chaînes en base64 ou en hexadécimal et des langues à écriture non latine.
À quoi sert la barre de fenêtre de contexte ?
Elle montre la part de la fenêtre de contexte d'un modèle que votre texte occuperait : 128K tokens pour GPT-4o et la série o, 200K pour Claude Haiku 4.5, 400K pour la famille GPT-5 et 1M pour GPT-4.1 et les modèles Claude Opus, Sonnet et Fable actuels. Les barres Claude utilisent le haut de l'estimation afin de pécher par prudence. N'oubliez pas que la fenêtre doit aussi contenir la réponse du modèle, gardez donc de la marge.
Pourquoi les mêmes mots sont-ils découpés différemment selon l'endroit ?
Les tokeniseurs considèrent l'espace initiale comme faisant partie du mot, donc "hello" en début de ligne et " hello" après une espace sont deux tokens différents. Les majuscules, la ponctuation collée au mot et les caractères voisins modifient aussi le découpage. Les nombres sont coupés en blocs de trois chiffres au maximum, et les mots rares sont décomposés en plusieurs fragments courants.
Puis-je compter les tokens d'un fichier ?
Oui. Déposez un fichier .txt, .md, .json, .csv ou de code source sur l'outil, ou utilisez le sélecteur de fichiers, et son contenu est chargé dans la zone de texte. Les fichiers sont lus en local avec la File API du navigateur. Les fichiers binaires comme les images ou les PDF sont refusés, car leur nombre de tokens dépend de la façon dont le modèle les traite et non de leurs octets.

À 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.

Soutenir