BEINECKE MS 408 · Forensic Reading Technical detail
A Twelve-Experiment Investigation

The Withered Key

It looks like language. It cannot be language. We ran twelve experiments to find out which — and where the message would be hiding if it were real.

SUBJECT the world's most famous unread book TEXT 15,588 words, Currier B CONTROLS a real cipher · 8 languages VERDICT generated, not written — with one open door
The hundred-year trap

A book that is too tidy to be language, and too structured to be noise

Every serious theory of the Voynich manuscript must explain a contradiction. Measured one way, it behaves like a real written tongue. Measured another, like nothing humans speak. We began by taking its fingerprints and laying them beside real Latin.

Baseline · forensic comparison

The split personality

Two numbers contain the whole paradox. Symbol variety looks completely normal — but the predictability of the next symbol collapses to nearly half of Latin's. The words are built from rigid moulds, not from the free flow of speech.

Symbol variety
(want: similar)
3.97
Latin, same
3.99
Next-symbol surprise
(collapsed!)
1.85
Latin, same
3.16
Word-length distribution. Voynichese words crowd into a single unnatural peak at five glyphs; real language spreads wide with a long tail. A tight peak is what you get when words are assembled from fixed slots.
…and yet, on a log–log plot, both obey Zipf's law — the universal frequency curve of real language. This is the paradox in one image: structured like a tongue, built like a machine.

The trap: normal variety and textbook Zipf say "language"; collapsed surprise and moulded words say "not language." Everything that follows is an attempt to escape this pincer — by elimination.

The method

A dichotomous key — for a manuscript

A Renaissance herbalist identified an unknown plant with a dichotomous key: a ladder of either/or tests, each halving what remains. We did the same to the manuscript. Below, the investigation grows as a specimen — a stem of surviving reasoning, with each falsified theory a withered leaf that drops away, and the verdict as the fruit. Tap any node to jump to its experiment.

✕ noise ✕ card-cipher ✕ Czech ✕ fake spaces ✕ agglutinative ✕ state-cipher ✕ grid/table ✕ enciphered prose 1 2 3 4 5 6 THE VERDICT
falsified — branch closed
survived — reasoning continues
the ripened conclusion
1Couplet 1 — meaningful at all?

Noise, or structure?

First question: is there any system here, or is it random scribbling? We pointed an attack that recovers letters from real coded text at the manuscript, and asked whether it finds more than it finds in shuffled gibberish.

Experiment: measure word-to-word information against a shuffled-text floor.

Pure noise — eliminated. Word order carries real, repeatable information.word-to-word info 0.100 bits · Latin 0.104 · shuffled floor 0.015
Structured. Something systematic made this. Descend.
Technical

Mutual information between adjacent word-classes (top-60 + OTHER bucketing), shuffle-corrected. The VM's 0.100 bits is within 4% of De Bello Gallico under the identical protocol and ~7× the shuffled baseline — placing it firmly in the regime of genuine sequential dependence, not a memoryless source.

▸ enable "Technical detail" above for the methods behind each fork

2Couplet 2 — the newest theory

A simple card-cipher? (the 2025 "Naibbe" claim)

In 2025 a researcher showed that real Latin, enciphered by hand with a table and playing cards — all 15th-century technology — produces text that measures like Voynichese. We rebuilt his method exactly, then tested whether the real manuscript actually behaves like its output.

Experiment: three fingerprints — the homophone frequency ratios, their dependence on position, and the cross-word memory.

One word = one randomized chunk — falsified three independent ways.homophone ratios 8:7:4:2:1:1 ≠ deck's 4:2:1.6:1.6:1:1 · choice shifts with line position (cards can't) · 100× too much cross-word memory
But a real signature survived: the cipher's tell-tale homophone families are present — clusters that swap interchangeably (chedy/shedy/sheedy/cheedy). Whatever this is, it has a decorative spelling-variation layer.
Technical

We re-implemented Greshko's Naibbe tables and encrypted DBG to obtain ground-truth ciphertext. Context-vector homophone detection recovered true homophones at 73% nearest-neighbour precision on synthetic, and surfaced the chedy-family blind on the VM. Discriminators: (i) the family's rank-frequency profile correlates 0.99 with the deck only for synthetic, not VM; (ii) Cramér's V of member-choice vs next word = 0.21 for VM, near the 0.14–0.17 pure-randomness floor, but the choice is positionally conditioned; (iii) a hidden-state model recovers 100× the cross-word structure a memoryless cipher can emit. Card-randomisation is excluded; homophony as a property is retained.

3Couplet 3 — which tongue?

An enciphered language — and if so, which?

If it's a real language in disguise, which one? We built a "language ladder": score the manuscript against eight candidates, using genuine ciphertext in each as the calibration ceiling. Czech and Hungarian have been proposed for a century. English was slipped in as a control that should fail — if it scored high, our method would be broken.

Experiment: calibrated key-search lift, per language, per manuscript region.

Czech — eliminated, despite the manuscript's Prague history. Worst fit of all eight, at the noise floor, in every region and every random seed.Czech −5% to +12% · English control 39% · the method discriminates correctly
The plaintext, if any, is Romance-shaped. Italian, Latin, French and (surprisingly) Hungarian cluster at the top. But the cipher smears the whole family together — the ladder names a family, not a language. And French topping it, which no scholar proposes, is the method confessing its own ceiling.
Technical

Per language: 18-symbol letter model (unigram freq + bigram log-probs) from a period corpus, scored via simulated-annealing key search on the homophone-merged class stream, lift normalised between a shuffled floor and a self-enciphered ceiling, 3 seeds. Controls behaved correctly: English (implausible) 39%, Czech at/below floor. The top cluster (French 81 / Hungarian 65 / German 63 / Latin 62 / Italian 60, B-region) is within-jitter and reflects Romance-family letter-transition resemblance, not language identity — the cipher's homophone smearing destroys within-family resolution. Hungarian's persistence despite a 23-letter Latinisation penalty is the one genuine surprise.

4Couplet 4 — the spaces

Are the word-boundaries even real?

A slot-by-slot dissection of word anatomy showed information leaking across the gaps between words — seven times more than in real language. So maybe the spaces are fake, inserted to disguise a continuous stream. We tested it directly: delete every space, and let an algorithm re-discover the best boundaries.

Experiment: unsupervised re-segmentation, validated on de-spaced Latin and cipher first.

"The spaces are fake" — rejected. The algorithm's best boundaries agreed with the scribe's spaces better than they agree with real Latin's own optimum. The words are genuine units.boundary agreement F1 0.67 · Latin's own 0.62 · re-segmenting reduced structure
Real words, real spaces — but the cross-boundary leakage is real and still needs a mechanism. Descend.
Technical

Unigram-LM segmenter (hard-EM, Viterbi decode) trained on the de-spaced glyph stream. Validation: recovers true boundaries at F1 0.62 (Latin) / 0.69 (Naibbe). On VM it agrees with scribal spaces at F1 0.67 and lowers sequential MI (0.251→0.228) — no superior latent segmentation exists. Separately, cross-boundary/within-word glyph-MI ratio is 0.15 (VM-B) vs 0.05 (Latin), and space placement is 80% predictable from adjacent glyphs (Latin 40%): the boundaries are real but unusually permeable, motivating Fork 5.

5Couplet 5 — the deep fork

A language's grammar, or a machine's carry-rule?

The crux. Either the cross-word flow is real grammar (a language) or a mechanical carry linking each word to the next (a cipher with memory). Four probes, each making opposite predictions: vowel-harmony, how freely word-pieces recombine, how concentrated the linking is, and a hidden-state machine fitted against both controls.

Experiment: vowel harmony · morphological productivity · link-state count · HMM model selection.

Hidden-state model selection. Adding hidden "memory" states lifts how well a model predicts each text. The genuine card-cipher (grey) is flat — it has no memory to find. The manuscript (gold) climbs higher than real Latin — but, crucially, it never plateaus at a small number of states.
An agglutinative language (Hungarian-style) — strongly doubted. No vowel harmony (4% vs Hungarian's 16%); word-pieces recombine far too freely to be real grammar (25% vs language's 7%).the Hungarian ladder result was family-resemblance, not real morphology
A finite-state carry-cipher — disfavoured. The hidden-state machine found real structure (173% of Latin's, 100× the cipher's) but it never plateaued at a few clean states. A mechanical carry would show a small state set; this showed many, diffuse, language-shaped.likelihood still climbing at 12+ states, same curve-shape as Latin
Grammar-strength sequencing, but no clean machine and no real morphology. Neither prong fits. Descend — to the line.
Technical

E1 first–last vowel-slot MI: VM 4.2% vs Hungarian 16.4%, English 11.7% (Latin 1.0%, Naibbe 2.6%) — no harmony. E2 stem×suffix productivity: 25% multi-suffix stems vs ~7% in natural language, adjacent to Naibbe's 38% — combinatorially promiscuous. E3 next-initial uncertainty removed by prev-ending: 10.9% via only 30 end-types (Latin 14.3% via 70; Naibbe 5.6%) — concentrated linking. E4 Baum–Welch held-out per-token LL gain over K=1: VM +0.077 nats, Latin +0.025, Naibbe +0.000; VM gain = 173% of Latin, 112× Naibbe — but monotone to K=12 with no knee, i.e. distributed (syntactic-shaped) not finite-state.

6Couplet 6 — the smoking gun

What is the unit of generation?

We tagged every word with its grammatical class and asked one question three ways: what predicts the next word — its position in the line, or the word before it? And the decisive test: does the grammar flow across the line break, as every real sentence must?

Experiment: predictor shoot-out (position vs previous word) and grammar-flow across line breaks.

A grid walked column-by-column — ruled out. Position predicts almost nothing (1.8%); the previous word predicts half of everything (50%). The mechanism is a left-to-right chain, not a grid.position 1.8% vs previous-word 50.3%
Enciphered flowing prose — the disproof. Within a line, word-to-word grammar is nearly Latin-strength. Across a line break it is zero. Real sentences run past the margin; this text resets at it. Meaning does not cross the line.within-line grammar 1.48 bits · across-the-break 0.003 ≈ nothing
The line is the unit. Each line is generated left-to-right from a fresh starting word, then the process resets at the next line. One mechanism explains the entire pile of anomalies.
Technical

K=8 Viterbi class tags. Conditional-entropy reduction of next class: by line-position 1.8%, by previous class 50.3% (Latin 0.4% / 64.9%; Naibbe 0.3% / 47.8%) — chain-driven, not positional, with a flat per-position gradient (no reset-decay rightward). Within-line class MI 1.475 bits vs across-line-break 0.003 (Latin 1.668 / 0.019). The near-total severance at line boundaries, combined with tripled sentence-edge marking (edgeKL 0.690 vs Latin 0.222), is incompatible with running prose and diagnostic of per-line generation with hard reset.

The reconstruction — proving a generator did this

We built the machine. It fooled the manuscript's own statistics.

Sufficiency is the real test of a theory. We fitted the per-line reset-chain on one half of the manuscript, generated brand-new text, and compared it against the other half it had never seen. If the model is right, the forgery should be statistically indistinguishable from the real thing across every fingerprint we'd collected.

Held-out reconstruction

Generated text vs the unseen half

8 / 11 match
FingerprintRealMadeMatch
Next-symbol surprise1.691.72
Mean word length4.654.69
Zipf slope−0.71−0.70
Stutter (repeats /1k)10.39.8
Line-start y- %1.21.3
Line-end -m flourish %15.917.8
Grammar across line break−0.016−0.017
Mid-line -m leakage %0.52.9

The proof: a procedure simple enough to run by hand, fitted on half the book, reproduces the unseen half's deep statistics — entropy, word-shape, Zipf, the stutter, the line-rituals, and the tell-tale severed margins. The one real miss is revealing: the actual scribe was more disciplined about the line-final flourish than our crude rule. A generator demonstrably can produce this manuscript.

The recipe — how a person could do this in 1420

Translated out of mathematics: one practiced scribe, a habit-table held in memory, an afternoon. No arithmetic required.

Open the line

Begin each new line by choosing from a small set of "starter" words.

Chain word to word

Look at the word you just wrote; write one of its habitual followers. After a few pages the hand knows what comes next on its own.

Decorate the spelling

Vary each word cosmetically — chsh, stretch the e's, swap the endings. This manufactures the "homophone families" and the shimmering sameness.

Close with a flourish, then reset

End the line on a tail-stroke word (often -m). Then start the next line fresh, ignoring all that came before. This reset is the signature the statistics caught.

Let your habits drift

Favour different words on different days. This alone produces page-by-page "topic" clustering — without any topics.

The inverse — hunting the message

We tried to break our own conclusion

A sufficient generator does not prove a message is absent. So we did the opposite of everything above: we hunted for hidden content across six channels where a 15th-century author could smuggle one — each tested against message-free decoy text. Five came back empty. One did not.

Adversarial message hunt

Six hiding-places vs decoy text

The z-score measures how far the manuscript departs from message-free decoys. Inside the shaded band (±3) means "indistinguishable from no-message." Only one channel escapes it.

Negative bars mean the manuscript has less structure than a decoy — the opposite of a hidden signal. Word-length and rare-word channels (not shown) flagged weakly but trace to varying line-lengths, an artefact of the decoy, not a message.

The honest result: every channel a hidden cipher would use is empty or below random — except one. Mid-frequency words travel in correlated sets, clustering page by page far beyond any message-free process. That is the statistical shadow of topics. It is the one thing we could not explain away.

That single surviving channel decided the ending. We attacked it with two more experiments — the two "doors" that text alone can open.

Door 2 — recurrence vs driftweak signal · z +3.4

Do distant pages echo each other?

A tiring hand drifts one way and never returns. Real topics recur — a subject can reappear forty pages later. We built the page-to-page vocabulary-similarity map and looked for distant echoes beyond what drift produces.

Result: four distant folio-pairs share vocabulary far beyond their separation (f103↔f116, f104↔f114, f76↔f103, f76↔f108) — a drifting hand produces ~0.8 such echoes; the manuscript has four (z = +3.4). A faint real tendency to recur. A point toward genuine organisation.

Door 4 — the function-word backbonedecisive · anti-language

Does it have the skeleton of a language?

Every real language has a backbone of function words — the/of/and — that appear evenly everywhere, holding the grammar together, while content words cluster by topic. So real text is bursty for content words and flat for function words. We checked whether the manuscript's clustering splits that way.

In real language the bars would rise left-to-right: flat common words, bursty rare words. The manuscript is inverted — its most frequent words are its most clustered. It has no function-word floor.

Result: the dispersion ratio is 0.24 — the inverse of every natural language (which exceeds 1). The clustering is real, but it is anti-linguistic: clusters of bursty common words, not a function-word grammar. Even a drift-generator (0.37) is less skewed than the manuscript (z = −5.4).

The two doors resolve the channel — by disagreeing. The page-clustering is genuine (Door 2 confirms even faint long-range recurrence), but it has no function-word backbone (Door 4). It is real structure of a kind that is not how meaning is organised in a natural tongue. The "tired hand" explanation is now also insufficient; the "real language underneath" explanation is firmly rejected. What survives is the architecture of the generator itself — different word-stocks for different sections of the book.

Where it lands

Four theories went in. This is how they came out.

Random gibberishmeaningless scribbles
RULED OUT
A simple cipherone word = one coded chunk
RULED OUT
An enciphered languagereal text in a secret script
STRONGLY DOUBTED
A generated artefactwords made by a hand-method
BEST FIT — one open door

It is not noise, not a simple cipher, and almost certainly not enciphered prose. The best explanation is a hand-executable generative performance — a procedure that manufactures the appearance of language, line by line. One residual, the way words cluster by page, keeps a single door open to genuine content — but it is anti-linguistic, and most likely reflects the architecture of the generator, not a hidden message.

If the maker's goal was a beautiful, mystical, convincing book — something that would look meaningful to any onlooker for centuries — then on this evidence they succeeded almost completely. The manuscript fools every measure of language a reader can perceive, while failing the measures only a machine can see. That is not the fingerprint of a failed cipher. It is the fingerprint of a triumphant illusion.

And yet, honesty forbids the clean ending. The topic-clustering is real and unexplained by generation alone. It may be a craftsman working in deliberate sections — herbal, then bathing, then stars — each with its own word-stock. It may be the faint heat of a real subject underneath. The text cannot say which. So the case closes where every honest Voynich investigation should: a far narrower mystery than we started with, with the one remaining doubt named precisely.

What this report does not claim

— It does not claim to have decoded anything. No plaintext was recovered.

— It does not prove a message is absent. It shows no message survives in any tested channel — which is weaker, and honest.

— Findings are for Currier "Language B" (biological & recipe folios). The A-region behaves differently and was only partly tested.

— The chsh families may be partly scribal spelling variation rather than a designed layer; both readings fit.

— All conclusions are statistical. The controls behaved correctly throughout — which is what gives them force — but statistics on 15,588 words near the theoretical unicity limit cannot be the last word.

Reflection — the one door text cannot open

If a message is anywhere, it is in the pictures

Every textual channel is now closed or explained. The clustering is real but anti-linguistic — which means the last question is no longer about the words at all. It is whether the generator's "sections" line up with the illustrations. That requires the folio images, a different kind of analysis than anything run here, and it is the genuine tiebreaker.

The decisive testuntried · needs the images

Do the word-clusters track the drawings?

If the pages sharing a word-stock also share botanical or visual features — if the "cluster" of bathing pages is where the bathing illustrations are — that is deliberate authorial structure, and possibly content. No text-internal process knows what is drawn on the page; only cross-referencing the imagery can break the final ambiguity between sectioned generator and real subject matter.

The definitive controluntried · settles the null

Hand the recipe to a human

Have a person generate 5,000 words by the five-step recipe above, then run the entire battery on their output. If their meaningless text also clusters at z≈15, drift in sections is sufficient and the last door closes. If it cannot, the manuscript has something a human generator does not — and the case for content strengthens.

For the curious

Glossary

Every technical term in this report, in plain language. Dashed-underlined words above are tappable too.

Conditional entropy
How surprising the next symbol is, given the current one. Real language is fairly unpredictable; the Voynich is far too predictable, meaning its words follow rigid moulds.
Zipf's law
The universal pattern where the 2nd most common word appears half as often as the 1st, the 3rd a third as often, and so on. Real languages obey it — and so, strangely, does the Voynich.
Homophone
Different symbols that secretly mean the same thing — a classic cipher trick to disguise letter frequencies. The Voynich has families of interchangeable words that behave this way.
Mutual information (MI)
A measure, in bits, of how much knowing one thing tells you about another — here, how much one word predicts the next. Zero means no relationship.
Cramér's V
A 0-to-1 score of how strongly two categories are linked. Near 0 means independent (random); higher means context-driven, as real words are.
HMM / Baum–Welch
A "hidden-state machine" — a model that assumes invisible states drive what you observe, and an algorithm that learns them from data. Used here to test for hidden cipher "memory."
Currier A / B
The Voynich is written in two statistically distinct "dialects," A and B, first noticed by Prescott Currier. This study focused on B (the biological and recipe pages).
EVA transliteration
A standard way of typing Voynichese symbols as Latin letters, so the manuscript can be analysed by computer. All our text came from one such transcription.
Dispersion index
Whether a word is spread evenly through a book (≈1) or clumped in patches (>1). Function words spread; topic words clump — a key test of whether language is present.
z-score
How many standard deviations a measurement sits from "expected." Within ±3 is unremarkable; beyond is a genuine anomaly worth chasing.
Unicity distance
The minimum amount of text a cipher needs before a unique solution even exists. The Voynich's ~38,000 words may sit at or below this limit — meaning some answers could be permanently unrecoverable.
Naibbe cipher
A 2025 proposal showing that real Latin, enciphered by hand with tables and playing cards, mimics Voynichese statistics. We rebuilt it as a control — and then ruled it out for the real text.
Function words
The grammatical glue of a language — the, of, and, to. They appear everywhere regardless of topic. The Voynich appears to lack this backbone entirely.
Folio
A numbered leaf (page) of the manuscript. "f103" means folio 103. The Voynich has around 240 surviving pages of text and illustration.
Term