AI Text Translator

Translate between English, Spanish, French and German with a model that runs on your own device. Nothing you paste is transmitted, and no account is needed.

🌐 Español

🔒 Private by design: your text is processed locally in your browser and never uploaded to any server.

Translation without handing over the text

Machine translation is one of the most useful things software does, and also one of the most privacy hostile in its usual form. The standard arrangement is that you paste text into a box on a website and it travels to a data centre to be translated. For a restaurant menu that is fine. For a contract clause, a legal letter, a medical result or a private message it is a decision you are making without much thought.

This page moves the model to your side of that boundary. The translation model for whichever direction you select is downloaded once into your browser and every translation after that runs on your own processor. The text stays on your machine, which means there is no log of it anywhere, no account attached to it, and no limit on how much you translate.

Translating a passage

  1. Choose a Translate direction. English to Spanish is the default.
  2. Paste your text.
  3. Run it. The first run for a given direction downloads that direction’s model, which is the slow step.
  4. Copy the translation, or download it as a text file.

Switching direction later downloads that direction’s own model, since each pair is a separate one.

Six small models instead of one big one

The obvious way to build a translator is one model that knows many languages. Those exist and they are impressive, and they are also hundreds of megabytes at the small end and multiple gigabytes at the useful end. Downloading all of that to translate one sentence from English to French is a poor bargain in a browser.

The alternative is a family of small models, each trained for one direction. They are individually far smaller, and you only ever fetch the one you selected. That is the design here, and it is also the reason the language list is short rather than long: every extra language is a real download that has to justify itself, not a line in a dropdown.

What it does well and where it slips

The underlying models come from a long running open translation project and are the same architectural family that browser vendors have used for built in translation features. All six directions were verified with real sentences before they shipped, and they return natural, correct results rather than the stilted output people associate with older free translators.

The limits are the usual ones for machine translation and worth knowing. Idiom is translated literally more often than it should be. Register is not reliably preserved, so a formal sentence can come back casual. Technical vocabulary from a specific field can be rendered with the wrong term. And there is one acknowledged implementation caveat: the tokenizer for this model family is not available in the runtime’s faster implementation, and the library itself notes that results may be slightly less accurate because of it.

None of that makes the output unusable. It does mean you should read the result rather than forward it unread.

Combining it with the other local models

Translation is often the middle step rather than the whole task. A recording in one language becomes text with Transcribe Audio, that text is translated here, and the result can be spoken aloud with Text to Speech. Every one of those three runs on your own device, so a whole pipeline can happen without a single upload.

To compare an original against a translation, or two translations against each other, Diff Text lines them up. The rest of the text tools are on the text hub.

Model credit

This tool is powered by OPUS-MT, a project of the Language Technology Research Group at the University of Helsinki, run in the browser via Hugging Face’s Xenova ONNX conversions. Five of the six directions used here, English to Spanish, Spanish to English, English to French, French to English and German to English, are licensed Apache-2.0. The English to German direction is licensed CC-BY-4.0 by its publisher, and is credited here as that license requires.

Frequently asked questions

Does the text I paste get sent to a translation service?

No. A translation model is downloaded into your browser tab and the translation runs on your own device. Nothing you paste is transmitted, there is no account and no usage limit. That is the whole reason to use this rather than a mainstream translator, since the text people most want translated is often a contract clause, a message or a document they would rather not paste into a service that logs it.

How large is the download and does it happen every time?

Between roughly 100 and 113 MB for whichever direction you select, fetched once and then cached by the browser. Each direction is a separate model, so switching from English to Spanish over to English to German downloads a second one. Staying within one direction costs nothing after the first run.

Why one model per direction rather than one multilingual model?

Because a general purpose multilingual model that covers dozens of languages runs from several hundred megabytes into the gigabytes, and you would download all of it to use one pair. Six small dedicated models mean you download only the direction you actually chose. It is also why the language list is short, because each addition is a real download rather than a line in a configuration.

How good are the translations?

Genuinely usable for ordinary prose, and short of a professional translation. All six directions were checked end to end against real sentences before shipping and produce correct, natural results rather than word salad. The model family is a well established open translation project, not an experiment. Where it will show its limits is idiom, deliberate ambiguity, technical jargon and anything where register matters.

Is there a known accuracy caveat?

Yes, and it is worth stating rather than hiding. The tokenizer this model family uses is not implemented in the fast tokenizer library that the runtime prefers, so the runtime falls back to a slower path and the library itself notes that results may be slightly less accurate as a consequence. In practice the effect is small and the translations are still good, but it is a real, acknowledged caveat rather than a theoretical one.

Why are only these four languages offered?

Because each direction is its own hundred megabyte model and the list is deliberately short rather than impressively long. English paired with Spanish, French and German covers a large share of what people actually ask for, and both directions of each pair are included so the tool is useful whether you are reading or writing. Adding a language is a real cost to every user who never selects it.

Can I translate a whole document?

You can paste one in, and length is limited only by your browser's memory and your patience, since everything runs locally. Bear in mind that translation quality is judged sentence by sentence, so a long document will contain more of the awkward cases than a paragraph does. Read the output before using it for anything that matters.

Related tools