Contador de tokens
Vê quantos tokens o teu texto ocupa no ChatGPT e noutros modelos de IA, e uma estimativa para o Claude. Nada sai do teu navegador.
A carregar Contador de tokens… Se nada acontecer, ativa o JavaScript.
Os modelos de linguagem não leem caracteres nem palavras, leem tokens: pequenos pedaços de texto retirados de um vocabulário fixo com que o modelo foi treinado. Preços, limites de utilização e janelas de contexto são todos medidos em tokens, por isso saber quantos usa um prompt diz-te quanto vai custar um pedido e se um documento longo cabe. Cola texto, um prompt ou um ficheiro de código neste contador e ele divide-o em tokens com as mesmas tabelas de byte pair encoding que a OpenAI usa: o200k_base para o GPT-4o, o GPT-4.1, os modelos de raciocínio da série o e a família GPT-5, e cl100k_base para o GPT-4 e o GPT-3.5 Turbo. Além da contagem de tokens tens caracteres, palavras, linhas e a média de caracteres por token, uma forma rápida de perceber quão eficiente é a codificação de uma língua ou de um formato.
Perguntas frequentes
O meu texto é enviado para algum lado?
Que codificação devo escolher?
A contagem de tokens GPT é exata?
Quão fiável é a estimativa para o Claude?
Como obtenho a contagem exata de tokens do Claude?
O que me diz a razão caracteres por token?
O que é a barra da janela de contexto?
Porque é que as mesmas palavras são divididas de forma diferente em sítios diferentes?
Posso contar tokens num ficheiro?
Sobre Contador de tokens
A vista de tokens por baixo mostra exatamente onde caem as fronteiras, com cada token num fundo alternado e a opção de mostrar os IDs numéricos em vez do texto. Isto ajuda quando um prompt se comporta de forma estranha: vês que um espaço inicial faz parte da palavra seguinte, que um número comprido é partido em grupos de três algarismos, ou que uma palavra em português ou japonês precisa de vários tokens onde o equivalente em inglês precisa de um. Código, JSON e texto minificado costumam gastar mais tokens por caráter do que prosa, e a razão caracteres por token torna isso visível. Para manter a página rápida, só são desenhados os primeiros 2000 tokens, mas as contagens abrangem sempre o texto inteiro.
Os modelos Claude usam um tokenizador próprio, e a Anthropic não o disponibiliza numa forma que corra no navegador. O valor para o Claude é por isso uma estimativa, calculada a partir da contagem o200k_base com um intervalo de fatores, e está identificado como tal. Os modelos Claude mais recentes (Opus 4.7 e posteriores, e os modelos Fable) usam um tokenizador que produz bastante mais tokens para o mesmo texto do que as versões anteriores, por isso usa o limite superior do intervalo como número seguro para planear e recorre ao endpoint count_tokens da API da Anthropic quando precisares da contagem exata. Tudo corre localmente: as tabelas do tokenizador são carregadas deste site e o teu texto nunca é enviado para lado nenhum.
O byte pair encoding nasceu como truque de compressão
O algoritmo por trás destes tokenizadores não foi inventado para modelos de linguagem. Philip Gage descreveu o byte pair encoding em 1994 no The C Users Journal como um método simples de compressão de dados: encontrar o par de bytes adjacentes mais frequente, substituí-lo por um byte que não exista nos dados e repetir até que nenhum par seja comum o suficiente para valer a pena.
Em 2015, Rico Sennrich e colegas adaptaram a ideia à tradução automática neuronal. Em vez de comprimir um ficheiro, usaram a mesma fusão gananciosa para construir um vocabulário de unidades abaixo da palavra, de modo que um modelo de tradução conseguisse lidar com palavras raras e nomes próprios montando-os a partir de peças conhecidas. O GPT-2 da OpenAI, em 2019, levou o processo até aos bytes em bruto, o que permitiu codificar qualquer texto, em qualquer língua ou com qualquer emoji, sem recorrer a um token desconhecido.
É esse desenho ao nível do byte que explica porque um único emoji pode ocupar vários tokens e porque uma palavra pode ser partida em sítios inesperados: o vocabulário reflete as sequências de bytes que eram comuns nos dados de treino, não a forma como as pessoas pensam nas palavras. É também por isso que os vocabulários continuam a crescer, de cerca de 50 000 entradas no GPT-2 para perto de 100 000 no cl100k_base e 200 000 no o200k_base, e cada passo deixa o texto comum caber em menos tokens.