Contador de Tokens
Estima la cantidad de tokens en modelos de IA con precios de principales LLM
Estadísticas
Costo estimado
$2.50 por 1M tokens de entrada
$10.00 por 1M tokens de salida
¿Qué es un Token?
El contador de tokens estima cómo los modelos de IA dividen un texto en unidades de procesamiento. Un token no siempre equivale a una palabra o un carácter; puede ser una palabra completa, parte de una palabra, puntuación, comportamiento de espacios o un carácter individual en algunos idiomas. El recuento importa para límites de contexto, costes, diseño de prompts, fragmentación RAG, gestión de historial y decisión de si una entrada cabe en una solicitud. Cada familia de modelos usa tokenizadores distintos, así que el número depende del modelo. La herramienta ayuda a recortar, dividir o estructurar texto antes de enviarlo, pero conviene verificar el límite real del modelo elegido.
Cómo usar
Operaciones básicas
- Introduce o pega el texto en el área de entrada
- Selecciona el modelo de IA deseado (GPT-4, Claude, Gemini, etc.)
- Consulta la estimación de tokens en el panel derecho
- Define la longitud estimada de salida para calcular el coste de la API
Reglas de tokenización
- Serie GPT: ~4 caracteres en inglés = 1 token; ~1,5 caracteres en chino = 1 token
- Serie Claude: similar a GPT con ligeras diferencias
- Serie DeepSeek: optimizada para chino, ~2 caracteres = 1 token
- Los caracteres especiales, la puntuación y los saltos de línea también consumen tokens
- El texto estructurado como código o JSON suele tener mayor densidad de tokens
Casos de uso
Principio técnico
Los tokenizadores de LLM modernos usan algoritmos de subpalabras — principalmente Byte Pair Encoding (BPE) y SentencePiece — en lugar de dividir por espacios en blanco. BPE parte de bytes individuales y fusiona iterativamente el par adyacente más frecuente, produciendo un vocabulario fijo de entre 32k y 200k símbolos. Las palabras comunes se convierten en un solo token, las palabras raras se dividen en varias subpalabras, y los bytes arbitrarios (emoji, caracteres de control) aún se codifican de forma segura porque el alfabeto cubre los 256 bytes. SentencePiece (usado por Llama, Mistral, variantes de Gemini) trata el espacio en blanco como un carácter regular mediante el marcador `▁`, por lo que los espacios iniciales pasan a formar parte del siguiente token, razón por la cual ` hello` y `hello` suelen tener IDs de token distintos. OpenAI publica tres vocabularios BPE principales a través de la biblioteca `tiktoken`: `p50k_base` (50.281 tokens, GPT-3 / Codex), `cl100k_base` (100.277 tokens, GPT-3.5 Turbo y GPT-4) y `o200k_base` (~200k tokens, GPT-4o y o1) que añade cobertura no inglesa y reduce los conteos de tokens en chino/japonés aproximadamente 1,4-1,7 veces. Claude usa un tokenizador relacionado pero propietario con una escala de vocabulario similar. Como ratios de trabajo aproximados, el texto en inglés promedia ~4 caracteres por token, el chino ~1,5-2 caracteres por token en cl100k_base y ~2 en o200k_base, y un solo emoji suele consumir 2-5 tokens porque se codifica como múltiples bytes UTF-8. El conteo de tokens impulsa tanto el uso de la ventana de contexto como el coste. Las ventanas actuales incluyen GPT-4o 128k, Claude 3.5 Sonnet 200k y Gemini 1.5 Pro 2M; el coste se factura como `tokens × precio_por_1M`, con precios separados para entrada y salida (p. ej. GPT-4o a $2,50/$10,00 por 1M, Claude 3.5 Sonnet a $3,00/$15,00). Este contador usa coeficientes heurísticos por familia porque incluir el archivo de vocabulario de cada tokenizador supondría megabytes de carga, por lo que el resultado es una estimación de trabajo — el número autoritativo es el campo `usage` de la respuesta API del modelo.
- BPE fusiona pares de bytes frecuentes en un vocabulario fijo; los vocabularios de OpenAI son `cl100k_base` (GPT-4/3.5), `o200k_base` (GPT-4o/o1), `p50k_base` (Codex).
- SentencePiece codifica los espacios en blanco iniciales como `▁`, por lo que ` world` y `world` se asignan a IDs de token distintos en Llama/Mistral/Gemini.
- Heurística en inglés ≈ 4 caracteres/token; CJK ≈ 1,5-2 caracteres/token en cl100k_base, ≈ 2 en o200k_base; emoji típicamente 2-5 tokens cada uno.
- Fórmula de coste: `(tokens_entrada / 1_000_000) × precio_entrada + (tokens_salida / 1_000_000) × precio_salida`, con precios separados para entrada y salida.
- Ventanas de contexto en 2025: GPT-4o 128k, GPT-4 Turbo 128k, Claude 3.5 Sonnet 200k, Gemini 1.5 Pro 2M, DeepSeek V3 128k.
- El mismo texto produce conteos de tokens distintos entre proveedores: el vocabulario del tokenizador, las reglas de respaldo de bytes y el manejo de espacios en blanco difieren.
- El conteo autoritativo es el campo `usage.prompt_tokens` / `usage.completion_tokens` (OpenAI) o `usage.input_tokens` / `usage.output_tokens` (Anthropic) de la respuesta API.
Ejemplos
Frase corta en inglés con GPT-4
Entrada: Hello, world!
Modelo: GPT-4 (cl100k_base)
Tokens: 4 -> ["Hello", ",", " world", "!"]
Caracteres: 13
Proporción: 3,25 caracteres/tokenEl texto en chino usa más tokens por carácter
Entrada: 你好,世界! (Hola, mundo! en chino)
GPT-4: ~8 tokens (1,5 caracteres/token)
DeepSeek V3: ~4 tokens (2 caracteres/token, optimizado para CJK)
Claude 3.5: ~7 tokensEstimar el costo de un artículo de 1.000 palabras
Entrada: 1.000 palabras en inglés (~1.330 tokens)
Salida esperada: 500 tokens
Modelo: GPT-4o ($2,50 entrada / $10,00 salida por 1M tokens)
Costo entrada: 1.330 / 1.000.000 * $2,50 = $0,00333
Costo salida: 500 / 1.000.000 * $10,00 = $0,00500
Total: ~$0,0083 por solicitudRegla práctica: ~75 palabras = ~100 tokens (inglés)
Párrafo (75 palabras):
"The quick brown fox jumps over the lazy dog. Pack my box with five
dozen liquor jugs. How vexingly quick daft zebras jump! The five
boxing wizards jump quickly. Sphinx of black quartz, judge my vow."
Tokens GPT-4: ~100
Tokens Claude: ~95Tamaño del fragmento antes de incrustarlo en una BD vectorial
Fragmento objetivo: 512 tokens (límite de text-embedding-3-small: 8191)
Texto en inglés: ~384 palabras por fragmento
Texto en chino: ~768 caracteres por fragmento (tokenizador GPT)
Solapamiento: 50 tokens entre fragmentos (preserva el contexto)Preguntas frecuentes
¿Qué tokenizador usa el contador?
Normalmente tiktoken de OpenAI (cl100k_base para GPT-4 y GPT-3.5; o200k_base para GPT-4o), y a veces el tokenizador de Claude de Anthropic o tokenizadores de Hugging Face para modelos abiertos. Cada modelo divide el texto de forma distinta, por lo que el conteo varía según el modelo.
¿Por qué el conteo no coincide con el número de palabras?
Los tokens son unidades sub-palabra. 'Hello world' son 2 tokens; 'antidisestablishmentarianism' son 5-6 tokens. El inglés promedia ~0,75 palabras por token (así que 1000 tokens ≈ 750 palabras). Otros idiomas son más densos: cada carácter chino suele ser 1-2 tokens, aunque sea un solo carácter.
¿Mi prompt se sube a algún servidor?
No. El tokenizador corre en tu navegador: tiktoken tiene un port en JavaScript que codifica localmente. Tu prompt no cruza la red.
¿Qué tan precisa es la estimación de costos?
El conteo de tokens es exacto. La cifra de costo depende del precio por 1K tokens del modelo elegido, que la página lee de una lista de precios publicada. Los cambios de precio del proveedor se reflejan al actualizarse la página; verifica los precios más recientes para decisiones críticas de presupuesto.
¿Por qué mis conteos difieren ligeramente respecto al playground de OpenAI?
Distintas versiones de tiktoken pueden tener pequeñas diferencias. Los tokens especiales (los mensajes de chat tienen tokens de role/system) añaden algunos tokens por mensaje que un contador sin estructura puede no incluir. Para facturación exacta de llamadas a la API, cuenta lo que tu código realmente envía.
¿Cómo trata el código, JSON y los datos estructurados?
Los tokenizadores dividen puntuación, corchetes y espacios en muchos tokens pequeños. JSON es denso: un objeto JSON pequeño puede usar más de 50 tokens. El código consume más tokens que prosa equivalente. Tenlo en cuenta al enviar JSON o código a un modelo con un límite de contexto ajustado.
¿Puedo contar tokens de un modelo no listado?
Solo si su tokenizador está disponible en el navegador. Los más comunes (GPT, Claude, Llama) tienen implementaciones en JS. Para modelos oscuros o propietarios, usa el contador oficial del proveedor o estima (4 caracteres ≈ 1 token en inglés).