Website Language Statistics 2026: English, German, Spanish and Japanese Across the Web
25.6% of the web sets no content language at all: 40,632,351 of the 158,455,698 live websites whose pages we read. Across the 117,823,347 that do set one, English is 65.5%, which works out at 48.7% of the whole web. Every figure below is about what a website says it is, not what it is written in.
- English is 65.5% of every website that sets a content language, 77,225,929 of 117,823,347. Against the whole readable web, including the quarter that sets nothing, that is 48.7%. Every language share in this report uses the first base, the 117,823,347.
- 25.6% of the web sets no language at all, 40,632,351 of the 158,455,698 websites whose pages we read. No
langattribute, noog:locale, noContent-Languageheader, nothing. - German is the second language of the web at 5.1%, or 3.8% of the whole web, on 5,970,807 websites. Spanish follows at 3.5%, Chinese 3.3%, French 3.0% and Japanese 2.8%. English is 65.5% and nothing else reaches even 6%.
- A generic domain is English 73.7% of the time against 44.0% on a country's own, while both set a language at the same rate, 74.3% and 74.4%. The habit is identical; the language is not.
- Squarespace leaves the language empty on more than half its websites. It sets one on 41.9% of 23,677,732 sites, against 98.1% for WordPress and 98.8% for the GoDaddy Website Builder.
- The website builders are the English ones. The GoDaddy Website Builder is English on 92.6% of the sites where it sets a language, Weebly 94.2% and Squarespace 94.4%, against 52.5% for WordPress. Tilda, a Russian builder, is 13.6%.
- English falls steadily down the ranking, from 88.9% of the top thousand to 60.0% across every ranked domain. The internet as a whole then comes out higher, at 65.5%, because 13.1% of it came off a hosted website builder against 1.0% of the ranked web.
- Japan's domain is the least English place on the internet. .jp is English 5.1% of the time against 98.7% for .uk, 99.6% for .au and 90.9% for .ca. Japanese takes 94.0% of .jp on its own.
- 47,619,139 websites ship a Twitter card. 192,855 of them put a language in it, 0.4%. Open Graph has the same field and 29,513,090 websites fill it in.
- 29,145,386 websites fill in both the html element and
og:locale, and the two agree 98.5% of the time. A further 367,704 fill in Open Graph and leave the html element empty.
English is 65.5% of the web's content languages
| Language | Code | Websites | Share of those with one set | Share of the web |
|---|---|---|---|---|
| English | en | 77,225,929 | 65.5% | 48.7% |
| German | de | 5,970,807 | 5.1% | 3.8% |
| Spanish | es | 4,093,137 | 3.5% | 2.6% |
| Chinese | zh | 3,865,069 | 3.3% | 2.4% |
| French | fr | 3,548,016 | 3.0% | 2.2% |
| Japanese | ja | 3,264,498 | 2.8% | 2.1% |
| Portuguese | pt | 2,955,110 | 2.5% | 1.9% |
| Russian | ru | 2,855,597 | 2.4% | 1.8% |
| Italian | it | 2,016,486 | 1.7% | 1.3% |
| Dutch | nl | 1,768,849 | 1.5% | 1.1% |
| Indonesian | id | 1,367,351 | 1.2% | 0.9% |
| Turkish | tr | 1,125,343 | 1.0% | 0.7% |
| Polish | pl | 1,038,722 | 0.9% | 0.7% |
| Vietnamese | vi | 683,256 | 0.6% | 0.4% |
| Korean | ko | 588,167 | 0.5% | 0.4% |
| Czech | cs | 551,456 | 0.5% | 0.4% |
| Swedish | sv | 470,743 | 0.4% | 0.3% |
| Arabic | ar | 386,536 | 0.3% | 0.2% |
| Persian | fa | 337,204 | 0.3% | 0.2% |
| Thai | th | 334,358 | 0.3% | 0.2% |
| Danish | da | 297,192 | 0.2% | 0.2% |
| Hungarian | hu | 296,043 | 0.2% | 0.2% |
| Bengali | bn | 238,696 | 0.2% | 0.2% |
| Finnish | fi | 209,832 | 0.2% | 0.1% |
| Slovak | sk | 208,207 | 0.2% | 0.1% |
| Romanian | ro | 196,582 | 0.2% | 0.1% |
| Ukrainian | uk | 189,577 | 0.2% | 0.1% |
| Hebrew | he | 172,152 | 0.2% | 0.1% |
| Greek | el | 167,667 | 0.1% | 0.1% |
| Bulgarian | bg | 108,821 | 0.1% | 0.1% |
| Norwegian Bokmal | nb | 106,182 | 0.1% | 0.1% |
| Every other value in the field | 1,185,762 | 1.0% | 0.8% |
Embed this figure
77,225,929 websites are set to English, 65.5% of the 117,823,347 that carry a content language at all, and 48.7% of every readable website. Nothing else is close. German is second at 5,970,807 and 5.1%, and nothing other than English reaches even 6%.
That is every language on at least a hundred thousand websites, thirty-one of them. Read down it once and the shape is clear enough. One language takes two thirds. The next thirty together take under a third. Everything below the hundred-thousand line, the remainder of 908 distinct values, comes to 1.0%.
Everything in this report is what a website says it is, not what it is written in, and every language share below is taken over those 117,823,347 websites. The 40,632,351 with an empty field are a separate question with a section of their own, never folded into a language's share. To put any figure here on the whole readable web instead, multiply it by 74.4%: English becomes 48.7%, German 3.8%.
The order after English is the order of the internet's large economies rather than the order of its large languages. Chinese is 3.3%, Spanish 3.5%, Dutch 1.5%, and Hindi does not reach the chart at all.
This is not a measurement of what languages people write in. It is a measurement of what websites say about themselves, which is the only thing that can be counted across the whole internet, and the distance between the two is a running theme of this report.
A quarter of the web leaves the field empty
Embed this figure
40,632,351 websites, 25.6% of the web, say nothing about their language anywhere: no lang attribute on the html element, no og:locale, no Content-Language header, nothing.
The bar above splits three ways and two of the pieces are the same size. The websites set to some language other than English come to 40,597,418, and the websites set to nothing come to 40,632,351. For every website on the internet that says it is in a language other than English, there is another that says nothing at all.
This section is the only one taken over the whole web, because it is the only question about the whole web. Everything after it is about the 117,823,347 with a language set, and this quarter never appears inside one of those shares. Fold it in and you are treating an empty field as if it were a language, which is how two correct figures for English, 65.5% and 48.7%, end up looking like a contradiction.
A .com and a .de are two different internets
| Kind of domain name | Websites | Language set | English |
|---|---|---|---|
| Generic, .com and the rest | 114,882,293 | 74.3% | 73.7% |
| A country's own | 43,573,405 | 74.4% | 44.0% |
Embed this figure
114,882,293 websites sit on a generic domain and 43,573,405 on a country's own. They fill the field in at almost exactly the same rate, 74.3% against 74.4%, and they put completely different things in it: a generic domain is English 73.7% of the time against 44.0% on a country one.
Whether the field is filled in is a property of the software. What goes in it is a property of the owner. Splitting the web this way separates the two cleanly, and everything below is inside one half or the other.
Inside the country-code web
| Top level domain | Websites | Language set | English | Most used | Then |
|---|---|---|---|---|---|
| .de | 6,725,831 | 68.6% | 26.8% | German 72.3% | Dutch, Polish, French |
| .ru | 2,934,056 | 70.8% | 19.8% | Russian 79.6% | Italian, German, Spanish |
| .uk | 2,914,512 | 76.5% | 98.7% | English 98.7% | Indonesian, German, Dutch |
| .nl | 2,035,067 | 78.4% | 34.9% | Dutch 64.3% | German, Vietnamese, Indonesian |
| .fr | 1,639,376 | 85.8% | 21.4% | French 76.8% | Italian, German, Dutch |
| .br | 1,634,365 | 80.9% | 17.3% | Portuguese 82.1% | Spanish, Indonesian, Turkish |
| .it | 1,560,453 | 81.0% | 27.6% | Italian 70.5% | German, Czech, French |
| .ch | 1,429,341 | 79.2% | 32.1% | German 51.5% | French, Italian, Dutch |
| .cn | 1,373,375 | 45.8% | 32.5% | Chinese 66.0% | Italian, German, Japanese |
| .au | 1,282,837 | 74.4% | 99.6% | English 99.6% | Chinese, Indonesian, Japanese |
| .pl | 1,255,699 | 77.0% | 19.5% | Polish 79.5% | German, French, Russian |
| .jp | 1,077,377 | 79.9% | 5.1% | Japanese 94.0% | Chinese, Korean, Italian |
| .ca | 978,874 | 78.7% | 90.9% | English 90.9% | French, Indonesian, Chinese |
| .eu | 941,354 | 72.3% | 47.1% | English 47.1% | German, Italian, Dutch |
| .se | 926,623 | 58.6% | 36.1% | Swedish 61.4% | German, Danish, Finnish |
| .in | 823,570 | 80.3% | 96.7% | English 96.7% | Hindi, Vietnamese, Indonesian |
| .cz | 711,964 | 75.2% | 21.2% | Czech 76.1% | Slovak, German, Polish |
| .es | 665,653 | 83.0% | 23.2% | Spanish 72.3% | Italian, Catalan, German |
| .be | 614,525 | 75.6% | 33.0% | Dutch 45.0% | French, German, Italian |
| .co | 593,786 | 76.4% | 75.7% | English 75.7% | Spanish, French, Chinese |
| .at | 579,542 | 79.0% | 21.8% | German 77.0% | Dutch, Czech, Italian |
| .us | 579,114 | 76.4% | 96.1% | English 96.1% | Spanish, Chinese, German |
| .dk | 553,217 | 68.7% | 35.8% | Danish 62.7% | German, Swedish, Norwegian Bokmal |
| .za | 543,046 | 71.4% | 99.2% | English 99.2% | German, Indonesian, French |
Embed this figure
A country-code domain is a choice, and the language that follows it is mostly the country's own. .jp is English 5.1% of the time, .br 17.3% and .ru 19.8%.
The English-speaking country domains sit at the other end and go almost all the way: 98.7% for .uk and 99.6% for .au. What separates those countries from the rest is not that some of their websites are in another language, it is that a quarter of them leave the field empty. .uk fills it on 76.5% and .au on 74.4%.
Switzerland and Belgium behave like the multilingual countries they are, and the Most used column is where that shows. German leads .ch on 51.5% against 72.3% for German on .de, with French and Italian behind it; Dutch leads .be on only 45.0%. A leading language at half is a different country from a leading language at four fifths, which is why that column carries a share and not just a name.
Everywhere else the leader is the obvious one and the share is the story: Portuguese takes 82.1% of .br, Russian 79.6% of .ru, Japanese 94.0% of .jp and French 76.8% of .fr.
China's domain is the outlier on a different axis. Only 45.8% of .cn websites carry one at all, the lowest rate of any large domain here, against 74.4% across the web.
Inside the generic web
| Top level domain | Websites | Language set | English | Most used | Then |
|---|---|---|---|---|---|
| .com | 81,595,825 | 74.6% | 74.8% | English 74.8% | Spanish, Chinese, Japanese |
| .org | 6,101,824 | 74.5% | 80.2% | English 80.2% | Indonesian, Spanish, French |
| .net | 5,208,353 | 68.4% | 67.4% | English 67.4% | Japanese, Indonesian, German |
| .shop | 1,688,246 | 77.6% | 74.6% | English 74.6% | Portuguese, Chinese, Spanish |
| .info | 1,601,293 | 71.7% | 72.5% | English 72.5% | German, Japanese, Italian |
| .online | 1,581,300 | 69.4% | 65.1% | English 65.1% | Russian, Portuguese, Spanish |
| .xyz | 1,356,961 | 72.1% | 78.2% | English 78.2% | Chinese, Indonesian, Turkish |
| .top | 1,315,779 | 63.8% | 60.7% | English 60.7% | Chinese, Russian, Portuguese |
| .site | 971,669 | 79.3% | 64.6% | English 64.6% | Indonesian, Portuguese, Japanese |
| .store | 936,040 | 64.1% | 67.7% | English 67.7% | Russian, Spanish, Indonesian |
| .app | 893,746 | 85.0% | 76.2% | English 76.2% | Spanish, Vietnamese, Portuguese |
| .pro | 565,916 | 77.8% | 59.3% | English 59.3% | Russian, Chinese, Spanish |
| .vip | 537,727 | 59.9% | 60.2% | English 60.2% | Chinese, Vietnamese, Thai |
| .biz | 464,983 | 66.8% | 64.0% | English 64.0% | Japanese, German, Russian |
Embed this figure
.com is English 74.8% of the time across 81,595,825 readable websites, close enough to the generic average of 73.7% to say that .com is the generic web.
The newer names sort themselves by who bought them. .app carries a language on 85.0% of its websites, the highest rate in either table, because the people registering .app are developers who ship the attribute. .top and .vip carry one least often, 63.8% and 59.9%, and after English their most used is Chinese.
Squarespace fills the field in on 41.9% of its sites
| Platform | Websites | Language set | English | Next three languages |
|---|---|---|---|---|
| 31,669,960 | 98.1% | 52.5% | German, Spanish, Japanese | |
| 23,677,732 | 41.9% | 94.4% | German, French, Spanish | |
| 18,987,828 | 74.8% | 71.3% | German, French, Portuguese | |
| 9,602,074 | 98.0% | 78.8% | Spanish, French, German | |
| 6,494,368 | 98.8% | 92.6% | Spanish, German, Thai | |
| 4,848,493 | 99.2% | 52.5% | Persian, Spanish, Russian | |
| 2,289,412 | 16.6% | 13.6% | Russian, Ukrainian, German | |
| 693,758 | 99.7% | 76.5% | Spanish, Portuguese, French | |
| 682,516 | 96.6% | 29.9% | German, Russian, Italian | |
| 672,226 | 75.0% | 65.8% | Spanish, Italian, German | |
| 570,214 | 62.3% | 78.7% | German, French, Chinese | |
| 547,159 | 100.0% | 73.1% | Spanish, Portuguese, French | |
| 469,850 | 97.6% | 94.2% | German, French, Dutch | |
| 443,416 | 100.0% | 23.6% | German, French, Spanish | |
| 381,127 | 83.3% | 76.3% | German, French, Spanish | |
| 349,399 | 95.0% | 48.7% | French, German, Russian |
Embed this figure
The single largest fact about language on the web is that most websites do not choose. A platform ships the attribute or it does not, and the customer never sees the field.
Squarespace fills it in on 41.9% of its 23,677,732 websites. WordPress does on 98.1%, the GoDaddy Website Builder on 98.8% and Zyro on 100.0%, which is every site it has ever built. Three platforms ship the attribute as a matter of course and one ships it on fewer than half. That is a product decision, not twenty-three million individual ones.
Tilda is the other end of both columns: it fills the field on 16.6% of its websites and only 13.6% of those are English, the lowest of any platform here, because its customers are Russian speakers using a Russian product.
The builders are the English ones. The GoDaddy Website Builder is English on 92.6% of the sites where it fills the field, Weebly 94.2% and Squarespace 94.4%, against 52.5% for WordPress and 29.9% for Joomla. A hosted builder sold mainly in one market builds mainly one language of website, and Squarespace is the sharpest case: it fills the field on fewer sites than anyone, and when it does the answer is almost always English.
English falls down the ranking, then the builders put it back
| Where the website sits | Websites | Language set | Empty | Most used | Second |
|---|---|---|---|---|---|
| Top 1,000 | 646 | 80.8% | 19.2% | English 88.9% | Russian 2.7% |
| Top 10,000 | 7,244 | 83.0% | 17.0% | English 73.6% | Japanese 3.3% |
| Top 100,000 | 75,319 | 82.3% | 17.7% | English 68.0% | Russian 4.0% |
| Top 500,000 | 382,969 | 82.5% | 17.5% | English 66.3% | Russian 4.7% |
| Top million | 782,259 | 83.4% | 16.6% | English 63.7% | Russian 4.5% |
| Every ranked domain | 3,167,025 | 81.4% | 18.6% | English 60.0% | Russian 6.7% |
| The entire internet | 158,455,698 | 74.4% | 25.6% | English 65.5% | German 5.1% |
Embed this figure
The tiers are cumulative, so each row is every website down to that rank and can be read straight against the one below it. English takes 88.9% of the top thousand, 73.6% of the top ten thousand, 63.7% of the top million and 60.0% once every ranked domain is in. The most visited part of the web is its most English part, and the further down you go the less true that gets.
Then the last row breaks the line. The internet as a whole comes out at 65.5%, higher than the ranked web above it, and the reason is what built the tail rather than who writes it. 13.1% of the whole came off a hosted website builder against 1.0% of the ranked web, and those builders as a group fill the field with English 85.8% of the time, 13,270,171 websites. The rise is not a return of English speakers, it is GoDaddy, Squarespace, Wix and Weebly answering for people who never saw the question.
The second language changes with the tier, and the change is worth pulling apart rather than repeating. Japanese is second in the top ten thousand. Russian takes the position from the top hundred thousand down, at 6.7% across the ranked web, and German only takes it back once the unranked tail is counted. Russian is the fourth language of the internet as a whole, so that is a real inversion and it does not mean what it looks like.
It is not that the Russian web is concentrated at the top. It is concentrated at the bottom of the list. 83.2% of ranked Russian websites sit beyond a millionth place, against 75.0% of German ones, and a Russian website is ranked at all 6.06% of the time against 1.77% for German. Three and a half times the chance of appearing on the list, mostly in its last three million places.
What those sites sit on says the rest. 21.5% of ranked Russian websites use one of the cheap top level domains that bulk registration favours, .top, .buzz, .xyz and their neighbours, against 0.8% of German, 0.7% of French and 5.9% of English. A fifth of the Russian entry into the ranked web is on domains that cost a dollar, which is what a network looks like rather than an audience. Read the Russian row as a fact about the ranking list, not about readers.
Filling the field in at all runs the other way and barely moves: 83.0% in the top ten thousand against 74.4% across the internet. Whether a website has a language set has almost nothing to do with how important it is and almost everything to do with what built it.
Where a website says what language it is
| Where the answer sits | Websites | Share of the web |
|---|---|---|
| The lang attribute on the html element | 117,823,347 | 74.4% |
| og:locale, the Open Graph field | 29,513,090 | 18.6% |
| The Content-Language response header | 9,679,161 | 6.1% |
| A meta tag named language | 1,380,960 | 0.9% |
| dc.language, the Dublin Core field | 260,170 | 0.2% |
| twitter:locale, inside a Twitter card | 192,855 | 0.1% |
| A meta http-equiv of content-language | 165,340 | 0.1% |
Embed this figure
There are seven places a website can say what language it is in and one of them is used. The lang attribute on the html element covers 74.4% of the web. og:locale, the Open Graph field, reaches 18.6%. The Content-Language response header, the oldest of the three, is on 6.1%.
Everything else is a rounding error. A <meta name="language"> tag appears on 0.87% of the web, Dublin Core's dc.language on 0.16% and the http-equiv form of Content-Language on 0.10%.
Then the one that stands out. 47,619,139 websites ship a Twitter card, 30.0% of the web, and 192,855 of them fill in the locale, 0.4%. The field exists, thirty percent of the internet ships the card that carries it, and nobody uses it. Open Graph put its locale field next to the fields people actually wanted and got 29,513,090 websites to fill it in.
When a page and its Open Graph disagree
| The page says | Open Graph says | Websites |
|---|---|---|
| English | Spanish | 20,782 |
| Portuguese | English | 19,929 |
| English | Chinese | 15,550 |
| English | French | 14,596 |
| English | German | 13,399 |
| English | Portuguese | 11,250 |
| German | English | 9,992 |
| French | English | 9,835 |
Embed this figure
29,145,386 websites fill in both places. They agree 98.5% of the time, which is the best evidence that either field is worth reading. A further 367,704 fill in Open Graph and leave the html element empty, so the Open Graph field is the only answer available.
The 440,938 that contradict themselves are mostly what a translation looks like when only half of it landed: a page rebuilt in Portuguese with the English Open Graph left in place, or the other way round. Every pair in the table has English on one side of it.
The pattern is worth more than the pairs. A website whose own two fields disagree is a website where nobody read either of them, and at this scale that is almost always one generator shipping one combination across a large number of sites rather than a person making a mistake.
908 values, and some of them are countries
| The code published | Websites | What it actually is |
|---|---|---|
| zx | 149,064 | zxx, the code for "no linguistic content", folded to two characters by our own field |
| cn | 86,719 | the country code for China; the language is zh |
| jp | 26,400 | the country code for Japan; the language is ja |
| ua | 13,000 | the country code for Ukraine; the language is uk |
| x | 12,405 | a single letter, which is not a code at all |
| cz | 9,108 | the country code for Czechia; the language is cs |
| us | 6,776 | the country code for the United States, which is not a language |
| se | 3,908 | the country code for Sweden; the language is sv |
| gb | 3,782 | the country code for the United Kingdom, which is not a language |
| dk | 1,849 | the country code for Denmark; the language is da |
Embed this figure
The language field takes an ISO 639 code. 908 distinct values appear across the 117,823,347 websites that fill it in, and 151,542 of them hold a code that is not a language.
They are country codes, and that is the mistake the field invites. The author is thinking about a locale, a market or an audience, and a locale is written en_US, so the country is the half that feels like the answer. cn is on 86,719 websites when Chinese is zh, jp on 26,400 when Japanese is ja, ua on 13,000 when Ukrainian is uk, cz on 9,108 when Czech is cs. us and gb are not languages under any reading and appear on 6,776 and 3,782 websites between them.
The largest row in the table is not a mistake anybody made. 149,064 websites appear under zx, and zx is not a code anybody typed: the field we store holds the first two characters of the declaration, so zxx, the code that means "no linguistic content", arrives folded. The three letter codes fold the same way, which is why this report names no language that needs three letters. The methodology says what that costs.
Then the ones that are not letters at all. 8,362 websites publish a value containing something other than a letter, and 914 of those publish an unrendered template variable, {{ and whatever followed it, because the templating engine never ran over that attribute. A handful publish <? or <%, which is the same failure in another language.
None of this is large enough to move a share in this report. It is worth counting because it answers what the field is in practice: a slot in a template that somebody filled in once, and sometimes did not.
Frequently asked questions
What percentage of websites are in English?
65.5% of the websites that declare a content language declare English, 77,225,929 of 117,823,347. Counted against every readable website, including the quarter that declares nothing, the same websites are 48.7%.
What is the second most common language on the internet?
German, at 5.1% of the websites with a language set, or 3.8% of the whole web, ahead of Spanish at 3.5% and Chinese at 3.3%. English is 65.5% and nothing else reaches even 6%.
How many websites have no language set?
40,632,351, 25.6% of the web. No lang attribute, no og:locale, no Content-Language header and no Twitter locale.
Does this measure the language a website is written in?
No. It measures what a website declares about itself, which is a different thing and the only one that can be measured at this scale. A page written in French that declares English is counted as English here, and the distance between the two is one of the findings rather than an error in it.
Which country domain is the least English?
Japan's. 5.1% of .jp declarations are English, against 98.7% of .uk, 99.6% of .au and 90.9% of .ca.
How many websites are multilingual?
We cannot say, and no figure for it appears in this report. hreflang, the mechanism a translated site uses, is stored only for the 22,171,556 websites we extracted links from, and that set is biased towards sites that carry it. The Open Graph alternate-locale tag covers every website but misses most multilingual sites, so neither number is worth publishing.
Does this show which languages people use on the internet?
No. This counts websites, one per domain, so a platform where a hundred million people read and write to each other counts once, the same as a forum with four posts. A language whose speakers mostly sit inside a few large platforms comes out low here however many of them there are, and Chinese is the clearest case at 3.3% of the field. What people search for and read is a different question that a website census cannot answer.
Where should a website set its language?
On the html element. 74.4% of the web already does, and it is the declaration search engines and screen readers agree on. og:locale reaches 18.6% of the web and a Content-Language header 6.1%, and neither replaces the attribute.
Methodology and sources
Population. 158,455,698 domains whose most recent crawl returned a page we could read.
Two questions, two bases, and which is which is never left to the reader. How many websites carry a content language at all is a question about the web, so it is a share of all 158,455,698: 74.4% do and 25.6% do not. Which language they carry is a question about the ones that have one, so every language share in this report, in every cut, is taken over the 117,823,347 with a language set. A figure never mixes the two, and every figure's subtitle names the base it is using.
That choice moves the headline. English is 65.5% on the first base and 48.7% on the second, and both are the same 77,225,929 websites. The first is the useful number because the alternative silently treats an empty field as if it were a language; the second is here so the conversion is never more than one multiplication away. Any language figure in the report goes onto the whole-web base by multiplying it by 74.4%.
A cut's share is taken inside that cut. When a table says a top level domain or a platform is some percentage English, the denominator is that domain's or that platform's own declarations, not its websites and not the web. It is why Squarespace can declare on 41.9% of its sites and be 94.4% English in the same row: those are answers to different questions about the same platform.
Declared, not detected. Every language figure here is what a website says about itself, read from the lang attribute on its html element. Nothing here inspects the text of a page. We checked the field against the live web on a sample of 400 websites that had declared something: 302 still answered, and of those 90.1% declare the same code today, 4.0% declare a different one and 6.0% now declare nothing. The disagreements are sites rebuilt since the crawl rather than misreadings, so read every share here as a floor on agreement rather than a precise one.
The field holds two characters. The declaration is stored as its first two characters, which is why en-US and en-GB both appear as en and why this report has nothing to say about regional variants. It also folds the three letter ISO 639-2 codes into their first two letters, so zxx appears as zx, and a language that needs three letters cannot be separated from the two letter code it collides with. Those codes are rare enough on the web not to move any share above, and common enough that no three letter language is named in this report.
Where the declaration can sit. Seven places are counted: the lang attribute, og:locale, the Content-Language response header, a <meta name="language"> tag, dc.language, twitter:locale and the http-equiv form of Content-Language. A website can carry several, so those shares are not exclusive and do not add up. The main language figures use the html attribute alone.
What is not here: how multilingual the web is. There is no figure in this report for the share of websites available in more than one language, and the reason is that we cannot count it. hreflang, the mechanism a translated site actually uses, is stored only for the 22,171,556 websites we extracted links from, a seventh of the web, and that seventh is not random with respect to the tag: a rate taken from it puts the top thousand at 39.2% against 23.2% when the same tier is fetched and read one page at a time. og:locale:alternate does cover the whole population, 742,278 websites carry it, and checking against live pages says that count is right. It is the wrong measure rather than a wrong number. Fetching 185 websites we record as not carrying the tag, 6 of them turned out to be in more than one language by their own hreflang links. Six of 185 is too thin to put a rate on, and it does not need to be: at any value in that range the tag is missing most of what it is supposed to find. Reliable about a tag and far too low about the thing the tag stands for is not worth publishing as either.
Platforms. A website's platform comes from the same technology detection the CMS report uses, joined domain by domain. A platform's row counts every website we detect it on, and both of its shares are taken over that row's own total, so the two columns can be read against each other.
The ranking. Rank comes from the Tranco list, which is built from several ranking providers rather than one. A website with no rank is counted as unranked rather than dropped.
A tier is what we could read of it. The top thousand row counts 646 websites, not a thousand: the rest of that tier is content delivery hosts, API endpoints and other names that never return a page to read. The same is true further down, a little less severely, and every share in the ranking table is taken over the websites in the row rather than over the tier.
This counts websites, not people. One row per domain. A platform where a hundred million people read and write to each other is one website: QQ is one, VK is one, Facebook is one, and a forum with four posts is also one. So a language whose speakers mostly live inside a small number of large platforms comes out low here however many of them there are, and a language whose speakers run a lot of small sites comes out high. Chinese is the obvious illustration at 3.3% of the field, but that is an illustration and not a measurement: we hold no audience data and this report makes no claim about how many people read in any language. It is a count of how many web servers answer in each language, which is a different question with a different answer.
Limits. A page that answered once is a page; nothing here follows a redirect chain to a different language, and a site that serves different languages by geography is counted as whatever it served us. A platform running only on a subfolder or a subdomain is not counted, so the platform totals are floors. Rank comes from a list, and a list is a sample of the web's attention rather than a measurement of it: the Russian row in the ranking table is the worked example of what that costs.