Skip to content

Free browser tools that respect your files — everything runs locally, nothing is uploaded.

Offline Translator

Translate text and subtitle files between 15 languages with open opus-mt models that run entirely in this browser — free, no account, and nothing you type is uploaded.

Text never leaves your device; the only network is the one-time model download from the CDN, then it works offline in this tab.

Paste text or load a file and the language is detected here.

English source reaches all 14 other languages directly.

Model appears once the source language is known.

0 / 60,000 characters

Panes stay scroll-synced side by side.

Quick Answer

An offline translator converts text between languages using a machine-translation model that runs on your own device instead of a server. Paste text or drop a .txt, .srt, or .vtt file, pick languages (or let the built-in detector propose one), and this free tool translates in your browser with open opus-mt models — about 80 MB downloaded once from a CDN, then it works offline. Nothing you type is uploaded, and no account is required.

How It Works

1

Add your text or file: paste text, or switch to file mode and drop a .txt, .srt, or .vtt file (up to 2 MB) — Load sample demos both modes

2

Confirm the languages: the detector proposes a source with a word-match percentage you can override; English reaches 14 targets directly, every other source pairs with English

3

Press Translate and let the one-time model download finish — about 80 MB per pair, cached by your browser afterwards

4

Watch the batches: translation runs sentence-aligned with a batch counter and progress bar; press Stop at any point and keep what is already translated

5

Copy or download the result — subtitle exports keep every index, timestamp, and header byte-for-byte, named with the target language (captions-es.srt)

Key Facts

  • 28 direct model pairs across 15 languages: English with Spanish, French, German, Italian, Dutch, Portuguese, Russian, Chinese, Japanese, Korean, Arabic, Hindi, Turkish, and Vietnamese — both directions
  • No-model language detection: script analysis plus function-word profiles, shown with a word-match percentage you can override
  • Subtitles stay intact — SRT and WebVTT indexes, timestamps, headers, and cue settings pass through byte-for-byte; only text lines are translated
  • Long text is split into sentence-aligned batches of 350 characters or fewer, translated sequentially with progress and a Stop button that keeps finished batches
  • Runs on WebGPU where available, otherwise WebAssembly on the CPU — the active device is shown
  • Permissively licensed opus-mt models (MIT/Apache family) — deliberately not the CC-BY-NC NLLB-200
  • About 80 MB of model files per language pair, downloaded once and cached by your browser
  • Free with no account — text never leaves your device; the only network is the one-time model download

Frequently Asked Questions

How does the language detection work?

Two passes, no AI model. First, script analysis: Cyrillic letters point to Russian, kana to Japanese, Han characters to Chinese, Hangul to Korean, Arabic script to Arabic, Devanagari to Hindi. If the text uses the Latin alphabet, the detector counts about 40 common function words per language (the, de, der, il, het, o…) and scores each as matches divided by total words — that is the percentage shown next to “Detected”. Ties or very short text produce no verdict, and the source picker always lets you override the guess.

Is my text private?

Yes. The translation model runs inside this browser tab via WebAssembly (or WebGPU). Nothing you type, paste, or drop is uploaded to any server — the only network request is the one-time download of the open-source model files from a CDN, and your browser caches them. After that download, the tool keeps working with the network disconnected, as long as the tab stays open.

Is this offline translator free, and how does it compare to paid services?

It is free and unlimited — no account, no character caps, no watermarks. Cloud services meter the same job: Google Cloud Translation charges $20 per million characters once you exceed its monthly free allotment, and DeepL’s API free tier is capped at 500,000 characters per month before paid plans apply. Those run on someone else’s servers; this one does the work on your CPU or GPU, so the marginal cost is your electricity.

Which files and formats can I translate?

Text mode accepts up to 60,000 characters. File mode accepts .txt, .srt (SubRip), and .vtt (WebVTT) files up to 2 MB. For subtitles, the parser keeps counter lines, timestamps (both 00:00:01,000 and 00:00:01.000 styles), the WEBVTT header, NOTE blocks, and cue settings like position:50% exactly as they were — only the spoken-text lines are translated. Exports download as name-es.srt style files with the target-language suffix and the correct extension, and you can copy the full result to the clipboard.

Why opus-mt models instead of something bigger like NLLB-200?

Licensing and size. Meta’s NLLB-200 weights are released under CC-BY-NC, a non-commercial license, so a free public tool built on them is on shaky ground. The Helsinki-NLP opus-mt conversions used here (published by Xenova as ONNX) are permissively licensed in the MIT/Apache family, safe for any use, and small enough — about 80 MB per pair — to download once and run entirely in a browser tab. Quality is solid for everyday prose and subtitles; it is a compact model, so expect the occasional rough phrase rather than literary polish.

What do I need to run it, and why does the first translation take a while?

A current browser with WebAssembly (any recent Chrome, Edge, Firefox, or Safari). The first run of a language pair downloads about 80 MB of model files with a progress bar; the browser caches them, so later runs start immediately. Translation itself processes in batches with a counter (batch 3/12…), runs faster on WebGPU than CPU, and you can press Stop at any point — the batches already finished stay in the output pane and downloads.