Latin text input
Analysis
Translation
Grammar notes
Recitation
History
Stored only in this browser (IndexedDB). Nothing is uploaded.
Latin scansion, macrons & recitation
Stored only in this browser (IndexedDB). Nothing is uploaded.
Porphyrii restores vowel quantities (macrons) in Classical Latin verse and prose, scans the meter, translates and annotates, and reads the text aloud with rule-based classical pronunciation. It is built for Latin students, teachers, and independent learners who want to check quantities and scansion against their textbook and to develop a feel for the rhythm of Latin verse.
Porphyrii is an independent project by Zhiping “Kalli” Yang, mentored by Xinjie Fang of the Classical Cat Digital Humanities Lab.
Porphyrii has no accounts, no cookies, and no analytics. Your history lives only in this browser’s IndexedDB storage; deleting it is entirely under your control, and nothing is synced anywhere.
When you press Analyze, the text you entered is sent over HTTPS to our serverless backend on Cloudflare, which forwards it to a third-party large-language-model API for processing — Google Gemini (primary) or DeepSeek (fallback), both under the project owner’s own accounts. The backend keeps no copy of your text: nothing is written to logs, databases, or caches beyond the lifetime of your request. The processing is governed by the providers’ own policies: Google Privacy Policy, Gemini API Terms, and the DeepSeek Privacy Policy. Cloudflare processes requests as described in the Cloudflare Privacy Policy. Cloudflare Turnstile runs on this page solely to keep the service free of abuse.
Recitation uses eSpeak NG formant synthesis driven by our own rule-based grapheme-to-phoneme engine, with the phonology of W. S. Allen’s Vox Latina (2nd ed.) as its target. It is a teaching approximation, not an academic reconstruction performance. Known simplifications: word-final -m is pronounced as [m] rather than nasalized, and elided syllables (shown in parentheses) are not read aloud.
Macron restoration, scansion, translation, and grammar notes are produced with AI assistance and can be wrong. Always verify against your textbook before relying on them in class or in coursework.
Two deterministic checks help you judge each result. The text-integrity check proves the model did not alter your letters (and shows a diff when it did); it says nothing about whether the scansion is correct. The quantity validator checks that the scansion is self-consistent with the restored macrons; a macron that is itself wrong (a lexical quantity error) is beyond its reach.
Code: GNU AGPL v3.0 · Documentation: CC BY-NC-SA 4.0 · © 2026 Zhiping Yang. The bundled recitation engine eSpeak NG remains under its own GPLv3 license. Source code and issue tracker: github.com/kalliyang/porphyrii.