About ParallelTexts
A free, fully in-browser tool for creating parallel texts from two books in different languages — no accounts, no uploads, no Python.
What is it?
ParallelTexts takes two versions of the same book — one in your native language, one in the language you are learning — and automatically aligns their sentences so you can read them side by side, sentence by sentence.
The output is a parallel corpus: a structured list of sentence pairs where each source sentence is matched to its translation. You can read it directly in the browser as a paginated ebook-style view, or export it for use in other tools.
Who is it for?
- Language learners who want to read a novel in a foreign language with a trusted translation always one tap away.
- Linguists and translators who need to build small parallel corpora quickly, without setting up a pipeline.
- Researchers looking for a lightweight, reproducible alignment tool that runs entirely on their own machine.
The tool is designed to be approachable to anyone — no command-line knowledge required.
How does the alignment work?
Under the hood, ParallelTexts runs a three-stage ML pipeline — entirely inside your browser using WebAssembly:
- 1. Sentence splitting — Each book is split into individual sentences.
- 2. Multilingual embedding — Every sentence is converted to a vector (a list of numbers that captures its meaning) using a multilingual AI model. Because the model understands 50+ languages at once, semantically equivalent sentences in different languages end up with similar vectors.
- 3. Needleman–Wunsch alignment — A dynamic-programming algorithm (the same family used in DNA sequence alignment) finds the globally optimal pairing of source and target sentences based on their vector similarity.
The result is a list of aligned pairs tagged as 1:1 matches, or source/target gaps where no counterpart was found.
The model download
The AI model (~500 MB–1.1 GB depending on which you choose) is downloaded once from our servers and then cached permanently in your browser. Subsequent alignments reuse the cached version — no re-download needed.
Alignment is compute-intensive. A dedicated GPU is highly recommended — it can be 10–20× faster than running on CPU alone. Browsers with WebGPU support (Chrome 113+, Edge) will use your GPU automatically; others fall back to WebAssembly on the CPU.
You can manage which models are cached from the Settings page.
Supported file formats
- EPUB — full support including cover art and chapter structure.
- PDF — text extraction via PDF.js (quality depends on the PDF).
- TXT — plain text files.
Japanese EPUBs are preprocessed to strip furigana before alignment so that phonetic readings do not interfere with the embeddings.
Reading your alignment
After alignment completes you get two reading modes:
- Popover view — Read the source text as a paginated ebook. Tap any sentence to see its aligned translation in a popover.
- Side-by-side view — Both languages displayed in parallel columns, every sentence pair on the same row.
You can also export any alignment in two formats:
- EPUB — a fully readable parallel ebook. Source sentences are shown by default; click any entry to reveal its translation. Images from the original books are preserved. The EPUB also embeds a hidden manifest so it can be imported back into ParallelTexts with the full alignment intact (see below).
- TSV — a tab-separated file with one sentence pair per row and an optional confidence score in the third column. Gap rows are preserved with an empty cell on the missing side. Any 2- or 3-column TSV works on import — not just files from ParallelTexts.
Both formats can be imported back into ParallelTexts from the Alignments page. Importing a ParallelTexts-exported EPUB restores the alignment exactly — pairs, images, and metadata — with no need to re-run the AI model. Importing the same EPUB as a book (on the Books page) shows only the source text, making it usable as a standalone foreign-language book.