AI-systemen Onderzoeksartikel

Nederlands kost 20% meer GPT-tokens dan Engels. We maten het in 78 artikelparen

Dezelfde inhoud, dezelfde auteur, twee talen. De Nederlandse versie was 2% langer in woorden en 20% langer in tokens.

Twee stapels koekjes op een keukenweegschaal in de keuken van een Rotterdams appartement: een hogere stapel stroopwafels naast een lagere stapel shortbread, in warm gloeilamplicht
Evenveel betekenis. De Nederlandse stapel staat hoger.

Direct antwoord

Nederlands heeft voor dezelfde inhoud meer tokens nodig dan Engels. We telden alle 78 Engels-Nederlandse artikelparen op lenvanderhof.com met tiktoken, de opensource-tokenteller van OpenAI. Met o200k_base, de encoding die tiktoken koppelt aan GPT-4o tot en met GPT-5, had Nederlands 20% meer tokens nodig (109.235 tegen 90.765). Met cl100k_base, die OpenAI noemt voor zijn text-embedding-3-modellen, was dat 49%. Een token is het stukje tekst waarin een AI-model leest en schrijft, en waarvoor je betaalt; prijzen per token treffen Nederlands dus harder.

Nederlands had 20% meer tokens nodig dan Engels om hetzelfde te zeggen. Een token is het stukje tekst waarin een AI-model leest en schrijft, en waarvoor je betaalt: een kort woord, of een deel van een langer woord. We telden alle 78 Engels-Nederlandse artikelparen op deze site met de tokenizer (het programma dat tekst in tokens knipt) die in de eigen telbibliotheek van OpenAI is gekoppeld aan GPT-4o tot en met GPT-5. Engels kwam uit op 90.765 tokens, Nederlands op 109.235. AI-diensten rekenen per token, dus hetzelfde werk kost in het Nederlands ongeveer een vijfde meer. Met de oudere tokenizer die OpenAI noemt voor zijn text-embedding-3-modellen was het verschil 49%.

Wat hebben we precies gemeten?

Op 24 september 2026 namen we elk artikel op lenvanderhof.com dat zowel in het Engels als in het Nederlands is gepubliceerd: 78 paren. Elke Nederlandse versie is een zelfstandige bewerking van dezelfde inhoud door dezelfde auteur, geen vertaling woord voor woord.

We hielden alleen de hoofdtekst over. De metadata bovenaan en de webadressen in links haalden we weg; de linktekst bleef staan. Daarna telden we met tiktoken 0.14.0, de opensource-tokenteller van OpenAI, in twee encodings (een encoding is de vaste lijst stukjes van een tokenizer):

  • o200k_base, die tiktoken koppelt aan GPT-4o, GPT-4.1, GPT-5 en de modellen o1, o3 en o4-mini.
  • cl100k_base, die tiktoken koppelt aan GPT-4 en GPT-3.5-turbo, en die OpenAI in zijn handleiding noemt voor de text-embedding-3-modellen.
Alle 78 parenEngelsNederlandsNederlands ÷ Engels
Woorden70.54372.0711,02
Tekens408.399456.7231,12
Tokens, o200k_base90.765109.2351,20
Tokens, cl100k_base91.259135.5401,49
Tokens per woord, o200k_base1,291,52
Tokens per woord, cl100k_base1,291,88

De Nederlandse artikelen waren maar 2% langer in woorden. Bijna het hele verschil zit in de manier waarop de woorden in stukken worden geknipt.

Het lag niet aan een paar uitschieters. Alle 78 paren waren in het Nederlands duurder. Bij o200k_base liep de verhouding per paar van 1,11 tot 1,39, met een mediaan (de middelste waarde) van 1,19. Bij cl100k_base liep ze van 1,28 tot 1,74, met een mediaan van 1,47.

Waarom valt Nederlands in meer stukken uiteen?

Een tokenizer leert zijn stukjes uit een grote berg trainingstekst. Stukjes die vaak voorkomen, krijgen een eigen token. De rest wordt uit kleinere delen opgebouwd. Bevat die berg veel meer Engels dan Nederlands, dan is een Engels woord eerder één geheel.

Aleksandar Petrov en collega’s van de Universiteit van Oxford maten dit voor 200 talen, in een studie voor het congres NeurIPS 2023. Dezelfde tekst kan na vertaling tot vijftien keer zoveel tokens tellen, vonden ze, en tokenizers worden sterk gekleurd door de tekstverzameling waaruit ze hebben geleerd.

Het Nederlands heeft er een eigen probleem bij: samenstellingen. Waar het Engels losse woorden gebruikt, plakt het Nederlands ze aan elkaar. Dit deden de twee encodings in onze eigen test met een paar woorden:

Woordo200k_basecl100k_base
hospital1 token1 token
ziekenhuis1 token4 tokens
disability insurance2 tokens2 tokens
arbeidsongeschiktheidsverzekering7 tokens10 tokens

We telden elk woord met een spatie ervoor, zoals het midden in een zin staat.

De nieuwere encoding kent ‘ziekenhuis’ als één stuk. De lange samenstelling valt nog altijd in zeven stukken uiteen.

OpenAI wees in dezelfde richting toen het in 2024 GPT-4o lanceerde. De nieuwe tokenizer had minder tokens nodig voor alle twintig voorbeeldtalen op de lanceringspagina; een Duitse zin ging van 34 naar 29 tokens, een Engelse van 27 naar 24. Nederlands stond niet in die lijst. Onze cijfers laten dezelfde beweging zien: het Nederlandse verschil kromp van 49% bij de oude encoding naar 20% bij de nieuwe.

Komt die 20% door onze schrijfstijl?

Onze Nederlandse artikelen zijn bewerkingen, en één auteur schreef ze allemaal. Daarom controleerden we de uitkomst met een openbare benchmark.

FLORES-200 is een verzameling van 3.001 zinnen uit 842 webartikelen, door mensen vertaald in 200 talen. Het NLLB-onderzoeksteam van Meta stelde de set samen, en ook Petrov gebruikte hem. We namen de 2.009 zinnen uit de openbare dev- en devtest-sets, in het Engels en het Nederlands, en telden ze op dezelfde manier.

FLORES-200, 2.009 zinnenEngelsNederlandsNederlands ÷ Engels
Tokens, o200k_base52.40965.1741,24
Tokens, cl100k_base52.98384.5991,60

Bij cl100k_base kwamen we uit op 1,60. Petrov publiceerde voor Nederlands bij dezelfde encoding 1,59, dus onze telmethode houdt stand. Bij de nieuwere o200k_base waren letterlijke vertalingen in het Nederlands 24% duurder, iets meer dan bij onze bewerkingen. De 20% in onze kop zit dus eerder aan de voorzichtige kant.

Wat betekent 20% in euro’s?

Een hypothetisch rekenvoorbeeld voor een Nederlands bedrijf dat zijn AI-werk in het Nederlands doet:

Als hetzelfde werk in het Engels kostIn het Nederlands, bij +20%Extra per jaar
€ 500 per maand€ 600 per maand€ 1.200
€ 5.000 per maand€ 6.000 per maand€ 12.000
€ 50.000 per maand€ 60.000 per maand€ 120.000

Dit gaat ervan uit dat je per token betaalt en dat de tokenizer van je model zich gedraagt als o200k_base. Antwoordt het model ook in het Nederlands, dan groeit de output mee, en output is meestal de duurste regel op de rekening. De prijs per token zelf verschilt sterk per model; Undominated.ai is de index die ik bouwde om die prijzen te vergelijken.

Er is nog een tweede kostenpost, en die druk je niet in geld uit. Elk model heeft een contextvenster: het maximale aantal tokens dat het in één keer kan lezen. Met onze gemiddelden passen in 100.000 tokens ongeveer 77.700 Engelse woorden, maar slechts zo’n 66.000 Nederlandse. In hetzelfde venster past minder Nederlands.

Wat betekent dit voor RAG en embeddings?

RAG (retrieval-augmented generation) is de opzet waarbij een AI eerst passages in je eigen documenten opzoekt en pas daarna antwoordt. Om de juiste passages te vinden, worden de documenten vooraf omgezet in embeddings: reeksen getallen waarmee een zoeksysteem tekst met een vergelijkbare betekenis terugvindt.

De handleiding van OpenAI zegt dat je de tokens voor de text-embedding-3-modellen telt met cl100k_base, en dat je per inputtoken betaalt. Bij die encoding had onze Nederlandse tekst 49% meer tokens nodig. Een Nederlandse documentenverzameling omzetten kost dus ongeveer anderhalf keer zoveel tokens als dezelfde verzameling in het Engels. Knip je documenten in stukken met een vast aantal tokens, dan krijg je ook zo’n 49% meer stukken om op te slaan en te doorzoeken.

Volgens dezelfde handleiding is de maximale input 8.192 tokens per embedding. Met onze gemiddelden is dat ongeveer 6.300 Engelse woorden, of ongeveer 4.400 Nederlandse. Wat is RAG? legt de rest van de opzet uit.

Wat laat deze meting niet zien?

  • Bewerkingen, geen vertalingen. Onze Nederlandse artikelen zijn eigen bewerkingen. De controle met FLORES-200 wijst erop dat letterlijk vertalen een iets groter verschil geeft, geen kleiner.
  • Eén familie tokenizers. We maten de encodings van OpenAI via tiktoken. Andere aanbieders knippen tekst anders. Anthropic meldt op zijn prijspagina dat de nieuwere Claude-modellen een tokenizer gebruiken die voor dezelfde tekst ongeveer 30% meer tokens oplevert dan de vorige. Tokenizers verschillen zelfs binnen één bedrijf, dus meet het model dat je echt gebruikt.
  • Eén site, geen benchmark. Het gaat om 78 artikelparen over AI, vindbaarheid en ondernemerschap, van één auteur. Een juridisch archief of een verzameling chatgesprekken kan anders uitvallen.
  • Nieuwere modellen. De koppeling in tiktoken 0.14.0 loopt tot en met GPT-5. Welke encoding een nieuwer model gebruikt, staat er niet in.
  • Alleen tekst. We telden artikeltekst. Echte API-aanroepen voegen tokens toe voor de opmaak van berichten, tools en bestanden.

Hoe past ROUTE hierin?

Taal is een kosteninstelling, dus beheer haar ook zo. Daar helpt ROUTE bij. ROUTE is het framework uit mijn boek Het model-portfolio, dat nu verkrijgbaar is. Het helpt je meerdere AI-modellen te beheren als een beleggingsportefeuille: elke taak gaat om een vastgelegde reden naar een aangewezen model, en je meet wat die taak kost. De letters volgen de Engelse namen van de vijf stappen:

  1. R · Register. Zet elk model dat je gebruikt op een lijst, met doel, kostenklasse, privacyklasse en uitfaseringsstatus.
  2. O · Doel-typering (Objective typing). Schrijf per taak op wat die nodig heeft (redeneerdiepte, formaat, snelheid, kwaliteit, vertrouwelijkheid) voordat je een model kiest.
  3. U · Uitvoeringsbeleid (Utilize policy). Leg de regels vast die elk verzoek naar een model sturen, met reservemodellen.
  4. T · Tracken (Track). Meet kosten, snelheid en kwaliteit per route, dus per soort taak, zodat verspilling zichtbaar wordt vóór de factuur.
  5. E · Evolueren (Evolve). Promoveer, degradeer en faseer modellen uit volgens een vast schema.

Je hebt het boek niet nodig om dit toe te passen. Voor Nederlands doen twee stappen het werk.

Doel-typering: zet de taal in de taakomschrijving. Een Nederlandse klantenserviceroute en een Engelse hebben een ander tokenbudget, ook met hetzelfde model en dezelfde prompt. Het boek raadt daarnaast aan elk model te labelen met wat het goed en slecht doet. Weten dat een model een vastgelegde zwakte heeft bij niet-Engelse invoer, is volgens het boek “essentieel voor elk team dat meertalig verkeer routeert”.

Tracken: leg per taak en per taal vast hoeveel tokens er opgaan. Kosten Nederlandse taken ongeveer een vijfde meer, dan klopt dat met deze meting. Kosten ze veel meer dan je eigen gemeten verhouding, zoek dan uit waarom voordat je opschaalt.

Probeer dit vandaag (15 minuten)

Meet je eigen verschil. Je hebt Python nodig en vijf documenten die je zowel in het Engels als in het Nederlands hebt. Dit is onze methode, teruggebracht tot één script. Het verwacht Markdown-bestanden met metadata bovenaan; werk je met platte tekst, haal dan de regel weg die de metadata verwijdert.

# pip install tiktoken==0.14.0
import re, tiktoken

def body(path):
    text = open(path, encoding="utf-8").read()
    text = re.split(r"^---\s*$", text, maxsplit=2, flags=re.M)[2]  # metadata weg
    return re.sub(r"\]\([^)]*\)", "]", text)  # linktekst blijft, URL's gaan eruit

pairs = [("en/page.md", "nl/pagina.md")]  # vul je eigen Engels-Nederlandse paren in
for name in ["o200k_base", "cl100k_base"]:
    enc = tiktoken.get_encoding(name)
    en = sum(len(enc.encode(body(e))) for e, _ in pairs)
    nl = sum(len(enc.encode(body(n))) for _, n in pairs)
    print(name, en, nl, round(nl / en, 3))
  1. Installeer de teller met pip install tiktoken==0.14.0. (2 minuten)
  2. Zet je paren in de lijst en draai het script. Het toont de Engelse tokens, de Nederlandse tokens en de verhouding, voor beide encodings. (8 minuten)
  3. Zet de verhouding naast elke AI-taak die je in het Nederlands draait, en vermenigvuldig het tokenbudget van die taak ermee. (5 minuten)

Zit je verhouding rond 1,2, dan gedragen je documenten zich als de onze. Ligt ze veel hoger, dan weet je nu waar een deel van je AI-budget blijft.

Citeer deze pagina:Nederlands kost 20% meer GPT-tokens dan Engels. We maten het in 78 artikelparen.Len P. van der Hof. https://lenvanderhof.com/nl/blog/nederlands-kost-meer-tokens/ ·

Begrippen

Bronnen

  1. tiktoken: model.py (koppeling van model aan encoding) · OpenAI (GitHub)
  2. Vector embeddings (FAQ: tokens tellen met cl100k_base; prijs per inputtoken) · OpenAI
  3. Language Model Tokenizers Introduce Unfairness Between Languages · Petrov, La Malfa, Torr en Bibi, NeurIPS 2023 (arXiv)
  4. Tokenization fairness, projectdata (tokenization_lengths_validated.csv) · Petrov e.a., Universiteit van Oxford
  5. FLORES-200 · Meta AI, NLLB-team (GitHub)
  6. Hello GPT-4o (Language tokenization) · OpenAI
  7. Understanding and counting tokens · OpenAI Help Center
  8. Pricing · Anthropic
  9. Wat is RAG?
  10. ROUTE-framework
  11. Het model-portfolio

Verder lezen

Markdown voor LLMs