Languages of the web · Common Crawl
Bulgarian makes up — of the web pages in Common Crawl, ranking — among all detected languages. That is — its share of the world's speakers.
Each bubble is a language, sized by its number of speakers. Languages above the diagonal have a bigger share of the web than of the world's speakers; those below have less. Both axes are logarithmic so small and large languages fit on one chart.
Source: Common Crawl language statistics (CLD2 primary language of HTML pages), average of the last 12 months of crawls · Speakers: Ethnologue via Wikipedia · World population ≈ 8.2 billion (UN)
How many times bigger a language's share of Common Crawl is than its share of the world's speakers. Right of the 1× line = over-represented on the web; left = under-represented.
Source: Common Crawl language statistics · Ethnologue via Wikipedia · World population ≈ 8.2 billion (UN). Some smaller languages count native speakers only (see table), which makes their index look higher.
Yearly average share of web pages in each language. Bulgarian is shown with each comparison group.
Source: Common Crawl language statistics, yearly average across crawls. 2018 covers Aug–Dec only (language detection began then); the latest year is partial.
Click a column to sort.
Share of Common Crawl is the percentage of HTML pages whose primary language, as detected by Common Crawl with the CLD2 language detector, is that language. It is averaged over every crawl in the last 12 months; pages with an undetected language are left out of the ranking.
Share of world population is the number of people who speak the language (native plus second-language speakers where available) divided by a world population of about 8.2 billion. People who speak several languages are counted for each, so these shares add up to more than 100%.
Representation index divides the first by the second. Index 1× means a language has exactly the web presence its speaker numbers would predict; 3× means three times more.
Caveats: Chinese uses Mandarin speakers only; Persian uses Iranian Persian; for Romanian, Greek, Hungarian, Serbian, Danish, Finnish, Norwegian, Lithuanian, Slovenian, Latvian and Estonian only native-speaker counts were available, which overstates their index somewhat. Common Crawl is one large web crawl, not the whole internet.
AI benchmark · MMLU in 21 European languages
MMLU is a 14,000-question multiple-choice test of general knowledge, from law to physics, widely used to rate language models. Across — open models, the Bulgarian version is answered correctly — of the time, against — in English. Bulgarian ranks — of — languages tested.
Bars show the average across models; each faint dot is one model. The dashed line marks random guessing (25% on four-option questions).
Source: EU20-MMLU (MMLU translated into 20 EU languages by openGPT-X) and the original English MMLU, 5-shot, as published by the EuroLLM team (utter-project/eurollm-evaluation); Llama-3.1-70B-Instruct from Thellmann et al. 2024.
Every model scores lower in Bulgarian than in English. The number on the right is the gap in percentage points; rank shows where Bulgarian lands among that model's 21 languages.
Source: as above. Mostly 7–9B open-weight models evaluated in early 2025. OpenAI's multilingual MMLU (MMMLU) and the MMLU-ProX and Global-MMLU sets don't include Bulgarian, so frontier commercial models have no comparable published Bulgarian score.
Tokenization · same sentences in 40 languages
AI models read text as tokens, and you pay, wait and run out of context per token. With the — tokenizer, a typical sentence takes — tokens in Bulgarian vs — in English: — as many for the same meaning.
Fewer tokens is better. Bars show the median sentence; the thin line spans the middle half of sentences (25th–75th percentile). The dashed line is English.
Method: 1,012 sentences from the FLORES-200 devtest set (the same news and wiki sentences professionally translated into every language), tokenized without special tokens. Tokenizers from gpt-tokenizer (OpenAI) and the published tokenizer files of each open model. Claude's current tokenizer is not public, so it isn't included.
Median tokens per sentence in English and Bulgarian for each tokenizer, sorted from the smallest Bulgarian penalty to the largest.
Source: FLORES-200 devtest · tokenizers: GPT-4o / GPT-5 (o200k_base), GPT-4 (cl100k_base), Llama 3.1, Qwen3, Gemma 3, DeepSeek-V3, Mistral NeMo.