BrowserTools
Inicio / IA / Contador de tokens

Contador de tokens

Mira cuántos tokens ocupa tu texto en ChatGPT y otros modelos de IA, y una estimación para Claude. Nada sale de tu navegador.

Cargando Contador de tokens… Si no ocurre nada, activa JavaScript.

Los modelos de lenguaje no leen caracteres ni palabras, leen tokens: fragmentos cortos de texto sacados de un vocabulario fijo con el que se entrenó el modelo. Los precios, los límites de uso y las ventanas de contexto se miden en tokens, así que saber cuántos usa un prompt te dice cuánto costará una petición y si un documento largo cabe. Pega texto, un prompt o un archivo de código en este contador y lo divide en tokens con las mismas tablas de byte pair encoding que usa OpenAI: o200k_base para GPT-4o, GPT-4.1, los modelos de razonamiento de la serie o y la familia GPT-5, y cl100k_base para GPT-4 y GPT-3.5 Turbo. Junto al número de tokens obtienes caracteres, palabras, líneas y la media de caracteres por token, una forma rápida de ver lo eficiente que es la codificación de un idioma o de un formato.

Preguntas frecuentes

¿Se sube mi texto a algún sitio?
No. El tokenizador es una biblioteca JavaScript cuyas tablas de vocabulario sirve este mismo sitio y que se ejecuta dentro de tu navegador. La página no hace ninguna petición con tu texto, así que puedes pegar prompts privados, código fuente o datos de clientes sin que salgan de tu dispositivo.
¿Qué codificación debo elegir?
Elige o200k_base para GPT-4o, GPT-4o mini, GPT-4.1, los modelos de razonamiento o1, o3 y o4 y la familia GPT-5. Elige cl100k_base para GPT-4, GPT-4 Turbo, GPT-3.5 Turbo y los modelos de embeddings text-embedding-3 y ada-002. o200k_base tiene un vocabulario de unos 200 000 tokens frente a unos 100 000 de cl100k_base, lo que ayuda sobre todo con texto que no está en inglés y con código, donde suele necesitar menos tokens.
¿El recuento de tokens GPT es exacto?
Para el texto en sí, sí: usa las mismas tablas de byte pair encoding que la biblioteca tiktoken de OpenAI. Una petición de chat añade unos pocos tokens por mensaje para el rol y el formato, y las herramientas, imágenes e instrucciones de sistema añaden más, así que lo que se factura en una llamada completa a la API será algo mayor que el recuento del texto solo.
¿Qué precisión tiene la estimación para Claude?
Es una aproximación, no una medición. Anthropic no publica un tokenizador que funcione en el cliente, así que la herramienta multiplica el recuento o200k_base por un rango de 1,1 a 1,5. Los modelos Claude más recientes (Opus 4.7 y posteriores, y los modelos Fable) usan un tokenizador que genera aproximadamente entre 1,0 y 1,35 veces más tokens que las versiones anteriores de Claude para el mismo texto, y los recuentos de Claude suelen ser más altos que los de OpenAI. El código y el texto en otros idiomas tienden a quedar cerca del extremo superior, y la prosa sencilla en inglés cerca del inferior.
¿Cómo obtengo el recuento exacto de tokens de Claude?
Llama al endpoint de recuento de tokens de Anthropic, POST /v1/messages/count_tokens, con el mismo ID de modelo y los mismos mensajes que vayas a enviar. Su uso es gratuito, devuelve input_tokens y cuenta también prompts de sistema, herramientas e imágenes. Los recuentos dependen del modelo, así que indica siempre el que vayas a usar de verdad. Los SDK oficiales lo ofrecen como messages.count_tokens en Python y messages.countTokens en TypeScript.
¿Qué me dice la proporción de caracteres por token?
Es el número medio de caracteres que caben en cada token. La prosa en inglés con o200k_base suele rondar los cuatro caracteres por token. Una proporción más baja significa que el texto es más caro de procesar por carácter, algo típico del código con mucha puntuación, de las cadenas en base64 o hexadecimal y de los idiomas con alfabetos no latinos.
¿Qué es la barra de ventana de contexto?
Muestra qué parte de la ventana de contexto de un modelo ocuparía tu texto: 128K tokens para GPT-4o y la serie o, 200K para Claude Haiku 4.5, 400K para la familia GPT-5 y 1M para GPT-4.1 y los modelos Claude Opus, Sonnet y Fable actuales. Las barras de Claude usan el extremo superior de la estimación para pecar de prudentes. Recuerda que la ventana también tiene que alojar la respuesta del modelo, así que deja margen para ella.
¿Por qué las mismas palabras se dividen distinto según dónde estén?
Los tokenizadores tratan el espacio inicial como parte de la palabra, así que "hello" al principio de una línea y " hello" después de un espacio son tokens distintos. Las mayúsculas, la puntuación pegada a la palabra y los caracteres de alrededor también cambian el corte. Los números se parten en bloques de hasta tres cifras y las palabras poco frecuentes se dividen en varios fragmentos comunes.
¿Puedo contar los tokens de un archivo?
Sí. Suelta un archivo .txt, .md, .json, .csv o de código fuente sobre la herramienta, o usa el selector de archivos, y su contenido se carga en el cuadro de texto. Los archivos se leen en local con la File API del navegador. Los archivos binarios, como imágenes o PDF, se rechazan, porque su recuento de tokens depende de cómo los procese el modelo y no de sus bytes.

Acerca de Contador de tokens

La vista de tokens de debajo muestra exactamente dónde caen los cortes, con cada token sobre un fondo alterno y la opción de ver los ID numéricos en lugar del texto. Resulta útil cuando un prompt se comporta de forma rara: ves que un espacio inicial forma parte de la palabra siguiente, que un número largo se parte en grupos de tres cifras o que una palabra en español o japonés necesita varios tokens donde su equivalente en inglés necesita uno. El código, el JSON y el texto minificado suelen gastar más tokens por carácter que la prosa, y la proporción de caracteres por token lo deja a la vista. Para que la página vaya fluida solo se dibujan los primeros 2000 tokens, pero los recuentos cubren siempre el texto completo.

Los modelos Claude usan su propio tokenizador, y Anthropic no lo publica en una forma que pueda ejecutarse en el navegador. Por eso la cifra de Claude es una estimación, calculada a partir del recuento o200k_base con un rango de factores, y aparece marcada como tal. Los modelos Claude más recientes (Opus 4.7 y posteriores, y los modelos Fable) usan un tokenizador que genera bastantes más tokens para el mismo texto que las versiones anteriores, así que toma el extremo superior del rango como cifra prudente para planificar y usa el endpoint count_tokens de la API de Anthropic cuando necesites el número exacto. Todo se ejecuta en local: las tablas del tokenizador se cargan desde este sitio y tu texto nunca se envía a ningún sitio.

El byte pair encoding nació como un truco de compresión

El algoritmo que hay detrás de estos tokenizadores no se inventó para modelos de lenguaje. Philip Gage describió el byte pair encoding en 1994 en The C Users Journal como un método sencillo de compresión de datos: buscar el par de bytes contiguos más frecuente, sustituirlo por un byte que no aparezca en los datos y repetir hasta que ningún par sea lo bastante común como para compensar.

En 2015, Rico Sennrich y sus colegas adaptaron la idea a la traducción automática neuronal. En lugar de comprimir un archivo, usaron la misma fusión voraz para construir un vocabulario de unidades más pequeñas que la palabra, de modo que un modelo de traducción pudiera manejar palabras raras y nombres propios montándolos con piezas conocidas. GPT-2, de OpenAI, llevó el proceso en 2019 hasta los bytes en bruto, lo que permitió codificar cualquier cadena, en cualquier idioma o con cualquier emoji, sin recurrir a un token desconocido.

Ese diseño a nivel de byte explica por qué un solo emoji puede ocupar varios tokens y por qué una palabra se puede partir por sitios inesperados: el vocabulario refleja qué secuencias de bytes eran frecuentes en los datos de entrenamiento, no cómo pensamos las personas en las palabras. También explica por qué los vocabularios no paran de crecer, de unas 50 000 entradas en GPT-2 a unas 100 000 en cl100k_base y 200 000 en o200k_base, y cada salto permite que el texto habitual quepa en menos tokens.

Apoyar