Free i18n tools for developers in 2026

You can internationalize your app without spending a dime. Here's every free i18n tool worth using — from runtime libraries to detection, translation, and management.

5 min read← All articles

Not every project has a localization budget. Side projects, open-source tools, early-stage startups, and hobby apps all need i18n but can't justify $50-500/month for a TMS. The good news: you can build a complete multilingual app using entirely free tools. Here's what's available at each layer of the i18n stack.

Free runtime libraries

These are completely free and open source. They handle string formatting, locale switching, and pluralization in your app.

LibraryFrameworkLicenseNotes
next-intlNext.jsMITBest for App Router, Server Components
react-i18nextReact, Next.js, RNMITLargest ecosystem, most plugins
react-intlReactBSD-3-ClauseICU MessageFormat standard
LinguiJSReactMITBuild-time extraction, small runtime
svelte-i18nSvelte, SvelteKitMITStores-based, mature
Paraglide.jsAny (Astro, Svelte, Next.js)MITCompiled messages, tree-shakable
vue-i18nVueMITOfficial Vue i18n solution

All of these are production-ready. Pick the one that matches your framework and preferences — you won't outgrow any of them.

Free detection tools

Finding untranslated strings is the step many developers skip, because doing it by hand is tedious.

Polyglot Scanner (free)

Polyglot's scanner is free and runs locally. It uses tree-sitter AST parsing to report hardcoded-string candidates in your codebase — JSX text, string attributes, template literals, framework-specific patterns. Review what it reports; a candidate list isn't a guarantee that every string was found.

curl -fsSL https://getpolyglot.ai/install.sh | bash
polyglot scan

No account required. No API key. Run it on every repo you have.

What you get for free:

  • Local scanning on as many projects as you like
  • AST-based detection for Next.js, Astro, SvelteKit, React Native, Vue, Angular, and Flutter (runtime support varies by framework)
  • Plan-based wrapping of hardcoded strings into translation calls, which you review before applying
  • File-level reports with line numbers
  • Coverage tracking
  • Local preview and screenshot tools

What is metered:

  • AI translation (50 lifetime strings into one language with no account; 500 lifetime strings across 2 languages with a free account)
  • Higher string, language, and developer-seat allowances on paid plans

ESLint plugins (free)

  • eslint-plugin-i18next — flags strings not wrapped in t() calls
  • eslint-plugin-react jsx-no-literals — flags all JSX text

These work but can be noisy, so expect to tune their rules. They pair well with a scanner.

Free translation options

Polyglot guest mode (50 strings, no account)

Polyglot includes a guest translation tier — 50 lifetime strings in one language with no account, no API key required. Sign up for a free account and you get 500 lifetime strings across 2 languages, with translations reviewed in the dashboard. Enough to try it on a side project or a small app.

# Just works — no login required
polyglot translate --languages fr

Google Translate API (free tier)

Google Cloud Translation makes the first 500,000 characters each month free (applied as a monthly credit). You can use it via the API or through tools that integrate with it. The translations are decent for common language pairs, but each string is translated without knowing where it appears in your UI.

DeepL API Free

DeepL's API documentation lists 500,000 characters per month for API Free. Check DeepL's pricing page for which free options are open to new sign-ups. It's worth testing alongside Google on a sample of your own strings.

Manual translation

For 1-2 target languages with a small number of strings, manual translation by a bilingual team member is free and often produces the best results. It gets harder to keep up with as your string count and release pace grow.

Free translation management

Tolgee (free cloud or self-hosted)

Tolgee is open core: its core is Apache-2.0 and free to self-host, and some enterprise features sit under a separate license. It also has a free cloud plan. It provides a translation dashboard, in-context editing, translation memory, and AI translation. If you self-host, the trade-off is ops overhead — you run and maintain the infrastructure.

Git + JSON files

The simplest TMS is no TMS. Keep your translation JSON files in your repo, version them with git, and review changes in PRs. Polyglot works with this setup — translations land as locale files in your repo, and generated translations get reviewed in its dashboard.

For small projects, this works surprisingly well. The pain point emerges when you have multiple translators editing the same files, which is when a dashboard becomes valuable.

Crowdin (1 project, limited)

Crowdin's free tier gives you 1 private project. If you have a single app and no budget, it's usable. The moment you add a second private project, you need a paid plan. Open-source projects can also apply for a free Crowdin license.

The free stack we recommend

LayerToolCost
Runtimenext-intl / react-i18next / svelte-i18nFree (MIT)
DetectionPolyglot scannerFree (no account)
TranslationPolyglot free (500 lifetime strings, 2 languages) or DeepL freeFree
ManagementGit + JSON filesFree

This gives you a complete i18n pipeline at $0/month. The scanner shows you what likely needs translating, the free tier handles small volumes, and your translations live in your repo as plain JSON.

When you outgrow the free tier — more than 500 lifetime strings or more than 2 target languages — Polyglot Pro is $49/month ($39/month billed annually) for 10,000 lifetime strings and 5 languages. But you can run a side project or early-stage startup entirely on the free tools above.

Start in your terminal

Stop hunting for untranslated strings.

Install the CLI, run a scan, and see exactly what you're missing. Free, no account required.

$curl -fsSL https://getpolyglot.ai/install.sh | bash
Free i18n tools for developers in 2026 - Polyglot Blog | Polyglot