Dark Math · Release 016
The Voynich, Held.
The most famous unreadable book in the world, run through our own structural pipeline: its letter order is more rigid than any real language we tested (h₂ of 2.15 bits vs English's 3.31), its words are stamped from a five-slot template, and it splits into two Zipfian dialects. All of that is real, measured structure — and all of it fits a real language, a cipher, or a generating procedure equally well. Three doors, all still open. We map the lock; we don't pretend to have the key.

For six hundred years the Voynich manuscript has done one thing to everyone who opens it: it makes you want to answer it. Look at the looping script, the impossible plants, the bathing women, and the mind reaches for a solution — a language, a cipher, a translation. The graveyard of “I cracked the Voynich” is the largest in the humanities. So we did the opposite of cracking it. We measured it: characterise the order that is provably there, name the exact line we cannot cross, and stop — on purpose. Everything below is computed with our own code from the raw transliteration. The one thing we will not do is tell you what it says.
Where we land: still open — the good kind of mystery. The structure is real, measured, and huge — and it is explained equally well by a real language, a cipher, or a text-generating procedure. We refuse to pick one.
1 · The book, counted
We took the ZL transliteration (Zandbergen–Landini, the modern standard — every glyph of the manuscript typed out in a reference alphabet called EVA) and parsed it ourselves: 37,726 word-tokens, 8,236 distinct word-types, 71% of those types occurring exactly once. The single most common “word” is daiin, 794 times; then ol, chedy, aiin, shedy. Nothing here is copied by hand into our numbers — the file is parsed and cleaned (ambiguous glyphs resolved to their first reading; 399 unreadable tokens dropped and counted, never faked), and every figure below is drawn straight from the arrays that fall out.
2 · The order is rigid — it is more ordered than a language
The first measurement is the one that has haunted the manuscript for decades, and it survives in our hands too. Take the stream of glyphs and ask: how much does one letter tell you about the next? The measure for that is conditional entropy, written h₂ — in plain terms, how predictable the next letter is once you have seen the one before it. Low means rigid, templated; high means free. We computed it for the Voynich and, on the identical pipeline, for a full English novel and four books of Caesar’s Latin:
This is the crux. The Voynich carries an enormous amount of hidden order — a structure tighter than any natural language we measured. Whatever produced it was following rules far more binding than grammar. That is not a hunch; it is 1.15 bits of measured order, per letter, beyond English — its h₂ sits 1.15 bits below English’s.
3 · The words are stamped from a mould
Rigidity again, from two more angles. First, length: real languages spread their words out with a long tail — short function words, long rare ones. The Voynich barely spreads at all. Its words cluster in a tight, near-symmetric hump around five glyphs (mean 5.09, standard deviation 1.95) — narrower, relative to its mean, than either language beside it.
And they are. Look at where glyphs are allowed to sit. A Voynich word is not a free string — it is a slot machine: certain glyphs almost only open a word, others almost only close it.
4 · But it is not noise, either
Here is why the manuscript is a genuine puzzle and not a doodle. All that rigidity could be mindless stamping — except the word frequencies obey Zipf’s law, the frequency law every human language follows and random text does not: the most common word appears about twice as often as the second, three times the third, and so on down a near-straight line on log-log axes. The Voynich’s slope: -0.89 — a hair under the classic −1.
5 · Two voices in one book
One more structure, and it is a real internal seam. Prescott Currier noticed in the 1970s that the manuscript looks like it is written in two dialects — and the transliteration’s own metadata tags each page A or B. Split on that tag and the vocabularies come apart in our hands: the same alphabet, two different languages of it.
Currier A · 10,932 words: daiin 456 · chol 260 · chor 166 · s 162 · shol 108 · ol 99 · or 98 · dy 96 — a vocabulary built on chol, chor, sho-.
Currier B · 23,150 words: chedy 489 · shedy 422 · ol 420 · aiin 364 · qokeedy 303 · daiin 301 · qokain 274 · qokedy 266 — built on qok- and -edy endings.
The qok- words that dominate B are almost absent from A. This is not our imposition — it is in the book, measurable, and it means whatever generated the text ran in (at least) two distinct modes. A finding — not a translation.
The turn — the line we will not cross
Now the honest part, the part every cracker skips. We have a precise map of the order: rigid letter-to-letter structure, moulded word lengths, a positional grammar, Zipfian vocabulary, two dialects. And none of it selects a meaning. Every one of those signatures is reproduced equally well by three utterly different origins: (a) a real language, heavily abbreviated or in an exotic writing system; (b) a cipher or shorthand over a real text; (c) a generation procedure — a person turning a wheel of syllables, or babbling to a template, producing lawful-looking text that says nothing. Low entropy and rigid slots, in particular, lean toward (c): recent cipher-benchmark work shows a hand-executable table can reproduce these very quirks. The structure is loud; the structure is silent on which of the three it is. To pick one is to jump past your own evidence — and the field’s whole history is people making that jump, each certain, each with a “solution.”
The order in the Voynich is real, it is huge, and it is precisely shaped. That shape does not reach meaning. Mapping the one and claiming the other are different acts — and only the first is earned.
Where this lands
The Voynich manuscript is not random and not a normal language. Measured with our own code, its glyph order is 1.15 bits/letter more predictable than English, its words are stamped to a five-glyph template with a positional grammar, and it splits into two Zipfian dialects. That is the structure, and we hand it over in full. What we will not do is read a meaning off it, because the identical structure fits a language, a cipher, and a babble-engine alike. No decipherment is earned from structure. The structure is the finding. The crown stays off.
Why our math sees more
Because it sees less, on purpose. Six hundred years of readers reached for the answer and produced a graveyard of solutions; the one move almost nobody makes is to stop at the structure and say so. Our framework is built for exactly this — the same rule that tells us to score what a model provably holds, rather than the answer it wants, tells us to map the Voynich’s order instead of guessing its meaning. The manuscript is a six-century monument to the temptation of answering too early. The honest reading is the one that refuses to fall for it.
Sources
corpus — ZL transliteration, R. Zandbergen & G. Landini, EVA 2.0 v3b (voynich.nu); Beinecke MS 408. Parsed own-code: 37,726 tokens, 8,236 types.
baselines — English: Austen, Pride and Prejudice (128,721 tokens); Latin: Caesar, De Bello Gallico I–IV (20,695 tokens) — both Project Gutenberg, same own-code pipeline (letter-only tokens, spaces between).
computed here — conditional entropy h₂ Voynich 2.15 / English 3.31 / Latin 3.30 bits; word length 5.09±1.95; q-initial 14.3% (qo- 98%); y-final 40%; Zipf slope -0.89; Currier A 10,932 / B 23,150 tokens. Own-code, stdlib only (vkit.py, compare.py).
the low-entropy lineage — the rigidity has been seen before (Bennett 1976; Stolfi; Montemurro & Zanette, PLoS ONE 2013; Reddy & Knight 2011); recent cipher-benchmark work shows a hand-executable table can reproduce it — a reason option (c) stays live, not a decipherment.