Voynich LabNL

The Voynich manuscript, searchable and fully cross-linked

Beinecke MS 408 is a 15th-century book in an unknown script. It has not been deciphered: every claim so far is disputed or cannot be tested. This site is a workbench: every folio, word and claim is linked to the others, and you can test hypotheses statistically against real languages.

Zipf plot

Word frequency against rank, both logarithmic. The dashed line (slope −1) is roughly what natural languages follow.

Word length

Sections

SectionFoliosWordsCharacteristic words

Section is approximated from the folio number. Click a section to see its folios.

Two “languages” in one book

30 most frequent words

Folios

All leaves with their relationships. In the network, folios sit closer together the more their word usage is alike (tf-idf). Click a folio to open its page.

Word structure

Voynich words are not built at random: certain characters almost always appear at the start, middle or end. This is one of the best-known peculiarities of the text, and any model that wants to explain the text must be able to reproduce it.

Claims & test bench

Many people have claimed that the manuscript is “deciphered”. Here they are with their status, and below you can test any concrete mapping yourself.

What a real solution must be able to do

  1. A complete, public mapping or method that someone else can reproduce.
  2. Works on all folios, not just on selected words next to the pictures.
  3. Produces readable sentences in a known language, with more word hits than a shuffled null model.
  4. Explains the strange structure: strong character positions, many near-identical repeated words, the two “languages” A and B.
  5. Predicts something you can check afterwards, such as a label next to a drawing.

Test a hypothesis

Paste a mapping, one per line: EVA character=letter (e.g. ch=t, o=a). The app scores it against a language model and compares it with 300 random mappings. You first need a corpus (Languages tab).

Decoder AI

Uses simulated annealing to search for the mapping from Voynich characters to letters whose output best fits a trigram language model of the chosen corpus. Every run is compared with a shuffled null model and with real text, so you can see whether there is anything to find. Load corpora in the Languages tab first.

Languages & corpora

Fetch reference languages

The app fetches random Wikipedia articles through your browser (internet required). The more text, the more reliable the comparison.
Or load your own text files (.txt), for example a medieval text from Project Gutenberg, the Vulgate, or a Hebrew or Arabic source:

Statistical comparison

How similar is the text in structure (entropy, word length, word repetition, Zipf) to each language? A small distance says something about structure, not about content.

About Voynich Lab

Voynich Lab is a research workbench for the Voynich manuscript (Beinecke MS 408). The “AI” is not an oracle: it consists of language models and search algorithms that test whether the text fits a known language under a simple substitution, and statistics that link folios and words together.

Created by Yanick van den Hoorn · contact: voynichlab@gmail.com

Special thanks from Yanick to Michael Stevens (Vsauce).

What the decoder can do: recover a real substitution cipher on real text (see Self-test) and show whether the Voynich text fits a language. What it cannot do: solve codes that are more than a substitution (word codes, several letters per character, an invented language). A negative result therefore rules out one family of hypotheses, not all of them. A high language-model score alone proves nothing; the word-hit percentage compared with the null model and with real text is the stricter test.

Language groups A/B: computed without supervision (k-means on word frequencies) and compared with the well-known Currier classification; they agree closely, but it remains a statistical estimate. Folios with little running text (e.g. many astronomical leaves) are not assigned a group.

Link scans of the folios

Load your own transcription

Same format as the built-in one: <f1r.P1.1;H> word.word.word-

Sources & acknowledgements

  • Transcription: Takeshi Takahashi’s transliteration as revised by Alexander Max Bauer (2024), Beinecke MS 408. A Transcription Based on a Revised Version of Takeshi Takahashi’s Transliteration, github.com/alephmembeth/voynich.
  • EVA alphabet: René Zandbergen & Gabriel Landini. Interlinear archive and text processing: Jorge Stolfi.
  • Inspiration for searching, highlighting and folio navigation: voynichese.com.
  • Claims: see the Claims & test bench page for sources per claim.