Every article on this blog goes out in 3 languages and one of them is Belarusian. I knew Belarusian is small on the internet, but I never had a number, only a feeling. The one figure I could quote was Wikipedia. On 8 October 2026 Belarusian has 358692 articles in its 2 editions and Russian has 2121411. One to six. That does not sound so bad.
The first real number I got was from Common Crawl. It was 1 to 400. After that I wrote down what I expected from everything else before counting it: Wikipedia at about 1 to 6, the open text corpora near Common Crawl, the .by domain under 10% Belarusian and 2 different language detectors agreeing there within 10%. The last guess was wrong.
Where I counted
Common Crawl is the open copy of the web that many language models and open text corpora start from. Since August 2018 it labels every HTML page with its main language using CLD2 and publishes the totals. I took them for all 77 crawls up to September 2026. I also took the sizes of 3 big cleaned corpora from their dataset cards as they were on 8 October 2026. FineWeb-2 and MADLAD-400 are built from Common Crawl, HPLT 2.0 mostly from the Internet Archive.
The latest crawl, CC-MAIN-2026-39, has 2171285702 pages and 364316 of them are in Belarusian. That is 0.017%. W3Techs, which looks at sites and not pages, says Belarusian is used by less than 0.1% of all websites, so this part is not news. For every Belarusian page in the crawl there are 399 Russian ones and 2495 English ones. In the corpora Russian against Belarusian lands between 333 and 505, depending on the corpus and on whether you count documents or words.
So Wikipedia is the exception by a lot. The gap there is 5.9 times by articles and 13.5 times by the size of the article dump. The 2 Belarusian Wikipedias together are even larger than the Lithuanian one, 358692 articles against 226895. In Common Crawl Lithuanian has 10 times more pages than Belarusian. On the same day the 2 Belarusian editions had 584 registered users active in the last 30 days, Russian had 16120.
My feeling came from the one place where the language looks almost normal. I never checked it against anything else, although the other numbers were always public.
The ratio over 8 years
I took the median of the crawls of each year. Russian against Belarusian fell from 713 in 2018 to about 400 and has stayed between 359 and 412 since 2019. Single crawls jump around much more than that, so I only trust the medians. Lithuanian stayed between 9.6 and 10.8 all 8 years. Ukrainian went from 30 in 2018 down to between 19 and 26 in 2019 to 2023. Then it rose to 49 this year.
I can not say from this whether the Ukrainian web grew or the crawler started to visit it more. Common Crawl decides what to fetch and that changes from crawl to crawl. Belarusian did not follow either way, its median share was 0.0128% in 2018 and between 0.015% and 0.019% in every year after.
Where the Belarusian text lives
FineWeb-2 has 1.17 billion words of Belarusian by its own count. I split the text by spaces instead and got 965 million words on 22588 domains. All shares below are of that count. One site, Radio Svaboda, holds 8.5% of all of it. Next come zviazda.by, which is a state newspaper, Wikipedia, the book library knihi.com and cloudfront.net. The last one surprised me. I opened a few of its pages. Most of the text there is copies of Nasha Niva articles, with the same article numbers as on nashaniva.com. The 10 biggest domains hold 28.9% of the words and the 100 biggest hold 59.5%.
For comparison I took 2 of the 6 Lithuanian files in the same corpus. Each has about 1.3 billion words, a third more than all of Belarusian. There the 10 biggest domains hold 13.7% and 12.8%, about half of the Belarusian share.
The current crawl looks the same. Its 364316 Belarusian pages are on 6394 domains and the 10 biggest have 33% of them. Wikipedia alone is 9.9%. Only 39% of the Belarusian pages are on .by, the rest are mostly on .org and .com.
The .by check
From the other side, I took every HTML page under .by in the September crawl. My first try was the page API of the index. It answered with 504 and 400 and gave me roughly 1 block of 3000 records a minute, so I gave up on it. The columnar index of Common Crawl gave me all 4843281 pages on 34107 domains in a few seconds. Then the data server started to return 403 to me and I waited until it let me back in.
CLD2 says only 2.7% of .by pages are Belarusian, against 86.6% Russian. Only 208 domains have most of their pages in Belarusian, 0.6% of all of them. W3Techs gives 0.9% of .by sites.
I did not want to trust one detector on 2 languages this close. So I sampled 500 .by pages labeled Belarusian and 1000 labeled Russian and downloaded them. Then I ran 2 other checks. One was fastText lid.176, the other a plain count of letters only Belarusian has (ў, і) against letters only Russian has (и, щ, ъ).
On 489 Belarusian pages with enough text fastText agrees on 85.5% and both checks agree on 79.8%. But more than a third of the rest are entries of skarnik.by, a Belarusian and Russian dictionary. Such an entry is half one language and half the other by design. In the 985 Russian pages the 2 checks together found no Belarusian page. fastText alone flagged 1. So on this sample CLD2 counts Belarusian a bit too generously and the corrected .by share is between 2.1% and 2.3%. That is up to 20% less than CLD2 says, up to twice the gap I expected.
What I did not check
Common Crawl barely sees Telegram channels and nothing behind a login. Whatever is written in Belarusian there is not in these numbers.
I did not split the 2 spellings of Belarusian, the official one and tarashkevitsa. CLD2 has one label for both and in Wikipedia I added them together. Belarusian in Latin letters I did not look for at all. Pages that CLD2 labeled English or left without a label I did not sample.
The 1 to 400 is a count of pages and words. How many people read Belarusian online is a different question and I did not try to answer it here.