Part of a larger ongoing exploratory project, see my recent pieces:
“Reading Bochart’s ‘Hierozoicon’ with AI: The Animals of the Bible, in English for the First Time” (Nov 10, 2026)
“Reading Löw’s ‘Flora der Juden’ with AI: A Test“ (Nov 06, 2026)
In 1858 Ludwig Lewysohn, preacher of the Jewish community of Worms, published Die Zoologie des Talmuds: eine umfassende Darstellung der rabbinischen Zoologie. It was the first attempt to collect, systematically, what the Talmud and Midrash say about animals: some five hundred numbered sections, arranged by the zoological classes of his day, from mammals and birds through fishes, insects and worms, and ending with “fabulous animals”. Each section gives the Hebrew and Aramaic names, their etymologies, the rabbinic passages, and a comparison with Aristotle, Aelian, Pliny, Bochart and the zoology textbooks of the 1850s.
The book is still cited, and still hard to use. It is in German, it is printed in Fraktur,1 and it has never been translated.2 I recently tried a new route: AI transcription and translation, checked page by page, published as a reading edition with the scans linked from every page.
The reading edition is at https://ezrabrand.github.io/lewysohn-zoologie/, and the code, data and costs are at https://github.com/EzraBrand/lewysohn-zoologie, under the MIT License. Lewysohn’s text is in the public domain.
This is my third recent project of this kind; the first was Immanuel Löw’s Die Flora der Juden, the botanical counterpart, and I reused its code with few changes.
What the book is like
Lewysohn’s preface is worth reading on its own. He writes against the “no less blazing enemies, ignorance and animosity” that still faced the Talmud in his time, and he wants to show “not what, but how” the Talmud contains knowledge worth having. He lists the earlier Jewish works on zoology, from Kalonymos ben Kalonymos to Marcus Elieser Bloch’s fish books, and he is candid about his tools: he owned only the “black” Sulzbach edition of the Babylonian Talmud and the Cracow edition of the Jerusalem Talmud, and many animal names, especially of birds and fish, are explained by the commentators only as “a kind of animal”. He ends with an explicit disclaimer: the scientific results of the book are not meant as a norm for ritual practice.
The sections are short and dense. The lion (§ 114) opens with its names,3 their etymologies according to Bochart, Gesenius, Rosenmüller and Fürst, and then some forty Talmud references: the lion as king of the animals, as an honorific for scholars, the proverbs (”a handful does not satisfy the lion”), and the three words for its voice, depending on whether it is hungry, sees its prey, or is eating. The tiger (§ 115) is the אריא דבי עילאי, “the lion of the forest Ilai”, and Lewysohn wonders whether עילאי might be the Greek ὕλη, “forest”.
What I did
Lewysohn turned out to be both easier and harder than Löw. I took the page images from the Frankfurt University Library’s Freimann collection, which has a complete, high-resolution scan, and transcribed them with a large language model, Claude Opus 5.5, reading each page as an image. The model returns each paragraph split into runs by language, with footnotes and their marks kept apart and italics marked. I then corrected two pages by hand, so that I could measure the error rate, and translated with the same model under fixed rules: German into English; Hebrew and Aramaic kept in Hebrew letters and not transliterated; Greek and Arabic kept with a transliteration; references, Latin and the author’s own romanizations left as printed.
Several steps are deliberately not left to the sub-agents. Lewysohn has no list of abbreviations, so the main orchestrator agent built a table from Lewysohn’s usage and reviewed it. The translation then keeps abbreviations as printed, and a program adds the expansion at the first use.4 The same kind of fixed step turns “Sanhedrin 106, a” into “Sanhedrin 106a”, restores page marks that the model had “helpfully” converted from Roman numerals, and splits the long paragraphs at Lewysohn’s own topic dashes.
What worked
The Fraktur was not the problem I expected it to be. archive.org’s own OCR of the Toronto copy reads the Fraktur as if it were roman type and is unusable (about 31% of characters wrong on the two checked pages). The model’s transcription of the German on those pages had no errors at all: long s, ß, letter-spaced emphasis, old spellings, even a printer’s error (”aehtiopische [sic]”) came out as printed.
The Hebrew is the weak point. The errors aren’t garbled letters but plausible words.5 For example, on p. 69 the print has עוא for the lion’s voice when it sees its prey; the model wrote נער, which is a real Hebrew word for a lion’s roar (Jeremiah 51:38), but not what Lewysohn printed. Twice it wrote טגרים for the tiger, where the print has טגריס.
So I tested other models. None was better on everything, but their errors differ. A much cheaper model (Gemini 3.8 Flash) read all three Hebrew words correctly, but reverses the order of right-to-left lists and confuses the Fraktur ligature tz with ß (=scharfes S).6 I now use the cheaper of the Claude models for the page and the Gemini model as a second reader of the Hebrew only: every Hebrew word where the two differ is flagged, and I check it against the scan. On the test pages this flags all the known errors and little else.
Screenshots
Original, scans, https://sammlungen.ub.uni-frankfurt.de/freimann/content/pageview/1043097 (p. 15):
My digital edition, https://ezrabrand.github.io/lewysohn-zoologie/part1.html, beginning (section #1):
Appendix - Technical
Source. Frankfurt UB, Freimann collection, record 1043079 (Public Domain Mark), via its IIIF API: 414 scans, 3308×5315 px, pp. 2–400 complete; printed page = scan − 14. archive.org (Toronto copy, 1840×3177 px) and HathiTrust (two Harvard copies, Google scans) were checked and not used.
OCR. Each page is cropped to the text block and cut in two at a blank line, because the API downscales images beyond 2576 px or 3.75 MP. The prompt asks for JSON blocks (heading, body, footnote, “furniture” [=meta-text]), each split into language runs, with footnote marks in a separate field, italics as <i>…</i>, the long s written as s, and [?] for unreadable text.
Evaluation. Character error rate against two hand-checked pages (4,620 characters, 152 of them Hebrew), per script. The gold pages were made from the Opus draft, which favors Opus.
* Mostly one reversed right-to-left list. All prices through OpenRouter.
Second reading of the Hebrew. hebcheck.py aligns the Hebrew words of the main OCR and of Flash (vowel points removed, final letters kept) and writes every difference with a crop of the scan around the line; a difference that is only a change of order is marked as such.
Joining and translation. Pages are joined into continuous text with [p. N] marks; a paragraph continues over a page break unless the page ends a sentence (with a hand-checked list of exceptions, and a list of real hyphens such as “Auto-|da-fé”). A footnote at the top of a page whose mark is not in that page’s text continues the previous note. Translation is by Claude Opus 5.5 at medium effort, in chunks of about 6,000 characters, at about $0.03 per page.
Fixed steps after translation. Page marks are copied back from the German; Talmud folios are written in the modern form; abbreviations are checked (each must occur as often in the English as in the German) and expanded at first use from a reviewed table of 61 rows, each marked with its basis (the preface, standard usage, general knowledge, or “guess”).
Output. Per entry, joined German and English as JSON and Markdown; a static site built by build_site.py with German and English side by side, abbreviations and transliterations as tooltips, numbered footnotes, and links from every page mark to the scan.
See the fascinating history in Wikipedia, “Antiqua–Fraktur dispute“:
The Antiqua–Fraktur dispute was a typographical dispute in 19th- and early 20th-century Germany.
In most European countries, blackletter typefaces like the German Fraktur were displaced by the creation of the Antiqua typefaces in the 15th and 16th centuries. However, in Germany and Austria, the two styles of printing coexisted until the first half of the 20th century.
During that time, both styles gained ideological connotations in Germany, which led to long and heated disputes on what was the “correct” typeface to use. The eventual outcome was that the Antiqua-style typefaces prevailed when the Nazi Party chose to put an end to the use of Fraktur in favor of “normal typeface” (German: Normalschrifterlaß).
In 2012 Natan Slifkin wrote that he was running the PDF through OCR for his doctoral work and proposed a collaborative facing translation; it never appeared.
ארי, אריא, אריה,
the lioness לביה and גורייתא
So, for example, “Thierg.” (=”Thier-geschichte”, i.e. “history of animals”) becomes Aelian’s On the Nature of Animals.
In the Löw project, the same thing happened with Syriac.





