Voynich Manuscript token table
Every word of the manuscript as one row, with where it sits: page, line, position in the line, section, scribe and Currier language.
What you should know
- Words follow the Zandbergen–Landini transliteration (EVA). Another transliteration splits some words differently.
- Language is blank for 8.6% of words, on pages Currier didn't assign.
- Scribe “@” marks 461 words the paleography doesn't assign to a hand.
Preview 8 sample rows of 38,077
| page | line | pos | word | section | hand | lang | kind |
|---|---|---|---|---|---|---|---|
| f1r | 0 | 0 | fachys | T | 1 | A | paragraph |
| f1r | 0 | 1 | ykal | T | 1 | A | paragraph |
| f1r | 0 | 2 | ar | T | 1 | A | paragraph |
| f1r | 0 | 3 | ataiin | T | 1 | A | paragraph |
| f1r | 0 | 4 | shol | T | 1 | A | paragraph |
| f14r | 8 | 2 | otchody | H | 1 | A | paragraph |
| f14r | 8 | 3 | qotchy | H | 1 | A | paragraph |
| f14r | 8 | 4 | koiin | H | 1 | A | paragraph |
Sort, filter or query all rows with SQLOpen the full table
Columns 8 of 19 shown
| Column | Type | Meaning | Distinct | What's in it |
|---|---|---|---|---|
| page | text | Folio and side, like f1r | 227 | words a page: 2 to 622 · median 101 |
| line | int | Line number on the page, from 0 | 156 | 0 to 155 · median 12 |
| pos | int | Position of the word in its line, from 0 | 56 | 0 to 55 · median 4 |
| word | text | The word, in EVA | 8,521 | daiin, ol, chedy … · 6,072 words appear once |
| section | text | Section of the book, from its pictures | 8 | Stars 30% · Herbal 29% · 6 more |
| hand | text | Scribe (Davis 2020) | 6 | Scribe 3 31% · Scribe 2 29% · 3 more · unassigned 1% |
| lang | text | Currier language | 2 | B 62% · A 29% · blank 9% |
| n_glyphs | int | Glyphs in the word | 19 | 1 to 20 · median 5 |
Use it
import pandas as pd url = "https://mysteriesdept.com/datasets/DAT08JFZJ7W34M6/voynich-manuscript-token-table/v1.0.parquet" tokens = pd.read_parquet(url) tokens.head()
library(arrow)
tokens <- read_parquet("https://mysteriesdept.com/datasets/DAT08JFZJ7W34M6/voynich-manuscript-token-table/v1.0.parquet")
head(tokens)SELECT * FROM read_parquet('https://mysteriesdept.com/datasets/DAT08JFZJ7W34M6/voynich-manuscript-token-table/v1.0.parquet') LIMIT 10;curl -H "Authorization: Bearer $MYSTERIES_TOKEN" -O https://mysteriesdept.com/datasets/DAT08JFZJ7W34M6/voynich-manuscript-token-table/v1.0.parquet
Where it comes from
Beinecke MS 408The manuscript, YaleZL3b transliterationZandbergen and Landini, May 2025
This tableBuilt by tokens.py, 22 Oct 2026
Used by
15methods, including Burrows' Delta and the topic model
166runs, with their results
1research session, S-006