Wie viele Tokens hat dein Prompt?

Texte schnell für Claude, GPT und Gemini schätzen — alle Modelle nebeneinander, mit Context-Window-Check.

{{ stats.chars }} {{ __t('chars') }} · {{ stats.words }} {{ __t('words') }} · {{ stats.lines }} {{ __t('lines') }} · {{ stats.bytes }} {{ __t('bytes') }}

{{ __t('tokens_per_model') }}
{{ m.name }}
{{ estimateTokens(m).toLocaleString() }}
{{ m.note }}
{{ __t('note_label') }}: {{ __t('disclaimer') }}
{{ __t('context_check') }}
{{ __t('th_model') }} {{ __t('th_tokens') }} {{ __t('th_context') }} {{ __t('th_usage') }} {{ __t('th_status') }}
{{ row.name }} {{ row.tokens.toLocaleString() }} {{ row.context.toLocaleString() }} {{ row.pct.toFixed(1) }}% {{ __t('status_ok') }} {{ __t('status_tight') }} {{ __t('status_over') }}

Was sind Tokens?

Tokens sind die Bausteine, in die ein LLM einen Text zerlegt, bevor es ihn verarbeitet. Ein Token ist meist ein Wortfragment — bei englischem Text ungefähr 4 Zeichen oder ¾ eines Wortes, bei chinesischer oder japanischer Schrift oft 1–2 Tokens pro Zeichen. Tokens bestimmen sowohl die Kosten (Abrechnung pro Million Tokens) als auch die Kapazität (Context-Window in Tokens).

Warum unterscheiden sich die Werte zwischen Modellen?

Jeder LLM-Anbieter trainiert seinen eigenen Tokenizer auf einem bestimmten Korpus. GPT-4o nutzt o200k_base mit ~200k Vokabeln, ältere GPT-Modelle cl100k_base mit 100k. Claude und Gemini haben eigene Tokenizer mit anderen Subword-Splits. Das gleiche „internationalization“ wird je nach Tokenizer in 4, 6 oder mehr Tokens zerlegt. Bei Sprachen mit speziellen Skripten (Arabisch, Thai, CJK) sind die Unterschiede besonders groß.

Praktische Tipps

  • Faustregel: 1 Token ≈ 4 Zeichen Englisch, 3 Zeichen Deutsch, 1–2 Tokens pro CJK-Zeichen.
  • Code und JSON brauchen wegen Sonderzeichen oft mehr Tokens — kompakte Notation kann sparen.
  • Bei langen System-Prompts: Prompt-Caching aktivieren — spart bis zu 90 % der Input-Kosten.

Wie Tokenizer wirklich arbeiten — BPE, SentencePiece und der CJK-Effekt

Ein Tokenizer ist die Schicht, die Text in die Einheiten zerlegt, die ein Sprachmodell verarbeitet. OpenAI nutzt seit GPT-2 Byte-Pair-Encoding (BPE), dokumentiert in der Library tiktoken. Anthropic verwendet ein eigenes BPE-Vokabular für Claude. Google Gemini setzt auf SentencePiece. Alle drei Verfahren teilen denselben Grundgedanken: häufige Buchstabenfolgen werden zu einem Token zusammengefasst, seltene Zeichenketten werden in mehrere Tokens zerlegt. Das Wort tokenization wird in cl100k_base (GPT-4) zu zwei Tokens — token und ization — während strawberry zu drei Tokens wird: straw, berry und das Leerzeichen-Präfix.

Die Vokabular-Größe ist ein Schlüsselparameter. cl100k_base (GPT-4, GPT-3.5) hat 100.256 Tokens. o200k_base (GPT-4o, GPT-4o-mini) hat 200.019 Tokens — fast doppelt so viele, was vor allem Code, mehrsprachigen Text und CJK-Schriften (Chinesisch, Japanisch, Koreanisch) effizienter macht. Claude (Anthropic) liegt zwischen beiden und ist insbesondere für Englisch dichter (kürzere Texte = weniger Tokens). Gemini SentencePiece ist auf Multilingualität optimiert: ein japanischer Satz braucht in Gemini oft 30-40 % weniger Tokens als in cl100k_base.

Diese Unterschiede sind kein Detail — sie beeinflussen direkt Kosten und Latenz. Bei Anthropic, OpenAI und Google werden Eingabe- und Ausgabe-Tokens getrennt abgerechnet (Stand Mitte 2026). Wer einen 50.000-Wörter-Dokument mit deutschem Text an Claude und an GPT-4o schickt, sieht in der Rechnung typischerweise 10-20 % Unterschied — bei produktiven Workloads (Millionen Tokens pro Tag) zählt das. Das hier verwendete Schätzverfahren approximiert über chars per token-Faktoren je Modell und passt sich an den CJK-Anteil im Text an; für eine exakte Zählung brauchst du das offizielle SDK (tiktoken, anthropic.tokenize_count) oder die /v1/messages/count_tokens-API von Anthropic.

Die Schätzformel im Detail

Das Tool nutzt eine empirische Heuristik, die für reinen Lauftext (kein Code, kein Base64) ±10 % an die echte Token-Zahl rankommt:

// Pro Modell: zwei Faktoren
//   chars_per_token   = wie viele Zeichen je Token in lateinischem Text
//   cjk_chars         = wie viele Zeichen je Token in CJK-Text

cjkRatio = (Anzahl CJK-Codepoints) / (Anzahl aller Codepoints)
eff      = chars_per_token * (1 - cjkRatio) + cjk_chars * cjkRatio
tokens   = ceil(charLen / eff)

// Faktoren (Stand Mitte 2026):
// GPT-4o (o200k_base) : chars_per_token = 4.0 , cjk_chars = 1.5
// GPT-4  (cl100k_base): chars_per_token = 3.8 , cjk_chars = 1.4
// Claude              : chars_per_token = 3.5 , cjk_chars = 1.3
// Gemini SentencePiece: chars_per_token = 4.0 , cjk_chars = 1.4

// Faustregel fuer englischen Lauftext: 1 Token ≈ 0.75 Woerter ≈ 4 Zeichen.

Reale Token-Zahlen aus der Praxis

Fünf Texte aus dem Alltag und ihre typische Token-Größenordnung in GPT-4o (o200k_base). Werte schwanken um ±5 % je nach exaktem Inhalt:

  • Ein Tweet (280 Zeichen Englisch) — ca. 65-75 Tokens. Genug, dass eine GPT-Antwort darauf inkl. Kontext immer noch in 1.000 Tokens bleibt. Für High-Volume-Generation (Social-Media-Drafting) eine wichtige Größe.
  • Eine A4-Seite Lauftext (ca. 500 Wörter / 3.000 Zeichen) — ca. 650-700 Tokens für Englisch, 750-850 Tokens für Deutsch (längere Zusammensetzungen erzeugen seltenere Subwords). Eine Diplom-Arbeit mit 80 Seiten landet so bei rund 55.000 Tokens — passt in den 128K-Kontext von GPT-4o, aber lässt wenig Spielraum für die Antwort.
  • Eine REST-API-Antwort als JSON (10 KB) — ca. 3.500-4.500 Tokens. JSON-Strukturzeichen ({}, [], ",) sind in BPE als eigene Tokens kodiert, weshalb JSON dichter ist als YAML aber lockerer als reiner Text. Für Function-Calling-Workflows: nicht den ganzen Datensatz reinkippen, vorher per Code filtern.
  • 500 Zeilen Python-Code (ca. 15 KB) — ca. 5.000-7.000 Tokens. Code ist nicht so token-effizient wie Prosa: Variablennamen, Einrückungen, Schließklammern. Eine mittelgroße Klasse plus Tests passt aber locker in den 1M-Kontext von Claude Sonnet — du kannst das gesamte Modul übergeben statt RAG-Snippets zu schicken.
  • Ein japanisches Wikipedia-Inline (1.000 CJK-Zeichen) — in Gemini SentencePiece ca. 700 Tokens, in GPT-4 cl100k_base ca. 900-1.100 Tokens, in GPT-4o o200k_base ca. 650-800 Tokens. Bei japanischen/chinesischen Workloads ist die Modellwahl auch eine Kosten-Wahl: 30 % weniger Tokens = 30 % weniger Rechnung.

Was diese Schätzung nicht kann

Die Heuristik ist eine Approximation, kein exakter Zähler. Drei Fälle, in denen sie systematisch danebenliegt: (1) Code mit vielen seltenen Tokens — minifiziertes JavaScript, lange Hash-Strings, Base64-Blobs braucht oft 1.5x mehr Tokens als die Faustregel hergibt. (2) Bilder, Audio, PDF-Anhänge — multimodale Modelle (GPT-4o, Claude Sonnet, Gemini) berechnen Bilder als feste Token-Pauschalen je Auflösung (z.B. ca. 765-1100 Tokens für ein 1024x1024-Bild bei GPT-4o, je nach detail-Setting). Das hier ist ein Text-Tool. (3) Tool-Calls und Function-Schemas — die JSON-Schemas, die du in tools=[] übergibst, zählen auch — gerne mal 1.000+ Tokens pro Aufruf. Für genaue Abrechnung: die offiziellen Token-Counting-APIs (OpenAI tiktoken, Anthropic /v1/messages/count_tokens) sind verbindlich. Diese Schätzung ist für "passt das in den Kontext?" und Kapazitätsplanung.

Häufige Fragen

Wie genau ist diese Token-Schätzung?
Für natürliche Sprache (Deutsch, Englisch, Spanisch, Französisch) liegt sie typischerweise innerhalb von ±5-10 % am echten Wert. Für Code, JSON und Base64 ist sie tendenziell etwas zu niedrig. Für CJK-Sprachen passt die Größenordnung, einzelne Modelle weichen aber ab. Für exakte Abrechnung musst du auf offizielle Tokenizer zurückgreifen — OpenAI tiktoken (Python/JS), Anthropic /v1/messages/count_tokens, Google Vertex countTokens.
Sind die Token-Zähler für GPT-3.5 und GPT-4 identisch?
Ja — beide nutzen das cl100k_base-Vokabular. GPT-4o und GPT-4o-mini hingegen nutzen o200k_base und brauchen für identischen Text oft 5-15 % weniger Tokens. Wenn du eine alte GPT-3.5-Anwendung auf GPT-4o migrierst, kannst du die Token-Schätzung deshalb nicht 1:1 übernehmen.
Was zählt zum Kontext-Fenster — nur meine Eingabe oder auch die Antwort?
Beides plus alles dazwischen. Das Kontext-Fenster (z.B. 128K bei GPT-4o, 200K oder 1M bei Claude Sonnet 4.5, 1M bei Gemini 2.0 Flash) ist die maximale Summe aus System-Prompt + Conversation-History + dem aktuellen User-Input + der erzeugten Antwort. Bei längeren Konversationen musst du also Output-Tokens (max_tokens-Parameter) und Input-Tokens zusammenrechnen, um nicht in den Limit zu fallen.
Wie viele Wörter sind 1.000 Tokens?
Bei Englisch ungefähr 750 Wörter, bei Deutsch eher 600-700 (längere Wörter, mehr Subwords), bei Französisch und Spanisch 750-800, bei Japanisch 500-700 CJK-Zeichen. Eine grobe Faustregel: "1.000 Tokens = 1 Seite Buch in Standardlayout".
Wird mein Text irgendwohin geschickt?
Nein. Die Zählung läuft komplett im Browser als JavaScript-Heuristik. Es gibt keinen API-Call, kein Logging, kein Analytics, das den Inhalt sieht. Du kannst das in den DevTools (Tab "Network") überprüfen — beim Eintippen wird kein Request abgesetzt. Für tatsächliche Tokenization mit offiziellen Tokenizern bräuchtest du serverseitige Aufrufe; das vermeidet dieses Tool bewusst.
Wie reduziere ich Token-Verbrauch und Kosten?
Fünf Stellschrauben, sortiert nach Wirkung: (1) Prompt-Caching für wiederverwendete System-Prompts — Anthropic und OpenAI verrechnen Cache-Hits mit 10 % des normalen Input-Preises. (2) RAG statt Full-Context — nicht 500 Seiten Doku übergeben, sondern per Vector-Search die relevanten 5 Absätze. (3) Kleineres Modell wählen, wo möglich: GPT-4o-mini, Claude Haiku, Gemini Flash kosten 5-10x weniger als die großen Modelle. (4) max_tokens limitieren — die Antwort wird ohnehin selten so lang, dass die Default-Werte ausgeschöpft werden. (5) JSON-Antworten kompakt: ein gut entworfenes Schema mit kurzen Keys spart 20-30 %.

Verwandte Tools