Skip to content

tinygodsdev/bitext-word-alignment

Repository files navigation

Aligner — word-by-word translation visualizer

aligner.tinygods.dev

Word Aligner is a free web tool that shows which word matches which across stacked lines of text. Type or paste a sentence and its translation, click a word and then its match on the line above or below, and curved connectors draw the alignment between them. Add extra rows for glosses or IPA, then export the diagram or share it with a link.

No accounts, no machine translation — you stay in control of every link. Great for lessons, social posts, grammar notes, and conlang documentation.

Linking words between “Hello world” and its French translation

What it's for

  • Language learners — see exactly why a translation says what it does: which source word became which target word, what gets dropped, and where word order changes.
  • Teachers — build handouts, slides, and flashcards; export a clean PNG or SVG and drop it into a lesson without retyping anything.
  • Linguists — produce Leipzig-style interlinear glosses with morpheme alignment, case/agreement tags, and free translations.
  • Conlangers — show how a constructed language maps onto English, with custom script fonts, gloss rows, and IPA.

What it does

  • Multi-line alignment — stack as many rows as you need (source, translation, gloss, IPA); links connect vertically adjacent lines.
  • Manual word linking — click a word, then its match; supports one-to-many and many-to-one links and freely crossing connectors for reordered translations.
  • Interlinear glosses & IPA — add annotation tiers above or below any line.
  • Right-to-left scripts — Hebrew, Arabic, and mixed LTR/RTL layouts.
  • Tokenization control — choose how text splits into word boxes (split characters, a join marker for fixed expressions, optional punctuation handling).
  • Per-line typography — font, size, spacing, and direction per line; custom and Google Fonts.
  • Exports — PNG, SVG, PDF, and a self-contained HTML file; exports match the preview, including custom-font shaping.
  • Shareable URLs — the whole alignment (text, links, and visual settings) is encoded in a ?data= link.

Examples

Browse ready-made examples — bilingual pairs, Turkish interlinear with IPA, RTL scripts, Tagalog compounds, Japanese–Chinese–English word order, and more interlinear glosses — at aligner.tinygods.dev/examples. Open any one in the editor to adapt it.

Turkish interlinear preview with glosses, IPA, and connectors

Conlang example with a custom script font and interlinear glosses

How it works

Edit your lines in the line editor, then link words in the preview.

Aligner line editor with stacked lines and word-splitting summary

Tune colors, tokenization, and fonts in settings, then export or share.

Export options: PNG, SVG, PDF, and HTML

Word alignment vs. interlinear vs. parallel text

  • Interlinear translation places a gloss directly under each source word — compact, but it hides reordering. Aligner keeps both sentences on their own line and draws connectors, so reorderings, splits, and merges stay obvious.
  • Parallel text is side-by-side bilingual reading for long-form study. Aligner focuses on one sentence pair at a time with explicit connectors showing which tokens correspond.

API

Word Aligner has a free HTTP API for generating alignment links programmatically.

POST https://aligner.tinygods.dev/api/align
Content-Type: application/json

{
  "lines": ["Hello world", "Bonjour le monde"],
  "alignments": [[0, 0, 1, 0], [0, 1, 1, 2]]
}

Returns { "url": "https://aligner.tinygods.dev/?data=..." }.

Supports per-line options (font, size, RTL), global visual settings (palette, line style, background), pair-level gap control, and multi-line stacks with selective connectors.

Using Word Aligner as an AI agent tool

The word-aligner-skill/ directory is a ready-to-install skill that teaches AI assistants (Claude, ChatGPT, etc.) how to use the API. Once installed, it enables flows like:

"Translate 'я хочу спать' into English and show me the word alignment."

The agent translates, calls the API, and returns a shareable link.

  • For Claude: point your Claude project at this repository or add the contents of word-aligner-skill/SKILL.md as a custom instruction.
  • For ChatGPT: zip word-aligner-skill/ and upload it as a custom Skill.

Learn more

Created by Dani Polani. See other tools for linguistics and conlanging.