i18n-keyless compared
Prices surveyed on 2026-09-08, read on each product's pricing page on that day. Prices change, some pages show a different currency by country, and most list only the annual-billing figure. Check the linked page before you decide; every row links to it.
The two scenarios, so the numbers are comparable: an app with 1,000 source strings in 5 target languages, then 10,000 strings in 5 languages. Where a product bills words, one string is counted as 8 words: 8,000 and 80,000 source words, 40,000 and 400,000 words across the target languages.
The table
| 1,000 strings × 5 languages | 10,000 strings × 5 languages | Self-hosting | Licence | Setup | Keys | Export | |
|---|---|---|---|---|---|---|---|
| i18n-keyless, hosted (pricing) | €4 to €99 / month per project, by monthly active users (€4 up to 1,000 MAU, €9 up to 5,000, €29 up to 50,000, €99 up to 500,000). Strings and languages do not change the price. | Same: €4 to €99 / month. | — (see the next row) | SDKs MIT; server ELv2 | init with a key and the languages, wrap the strings. No files, no extraction, no CI step. | No — the source string is the lookup | JSON, every row, one click |
| i18n-keyless, self-hosted (details) | Fully free, unlimited projects. Donations optional. Plus your server and your AI provider's bill. | Same. | Yes — the same Docker image as the hosted service, SQLite or Postgres, any AI provider | SDKs MIT; server Elastic License 2.0, source public | docker run, create the admin, paste an AI key, set API_URL in the SDK | No | JSON, every row, one click |
| Crowdin (pricing) | Pro, €45 / month: 60K hosted words, 2 private projects | Team+, €401 / month: 500K hosted words. Team (100K words, €134 / month) plus a hosted-words add-on may be cheaper; the add-on price is not shown as text. | Not found on crowdin.com; Enterprise is a cloud plan, price on request | Proprietary | Keys and locale files in the repo, the Crowdin CLI or a Git integration to sync them, a project set up on the platform | Yes | Yes, JSON and many formats |
| Lokalise (pricing) | Explorer, $144 / month billed annually: 5 projects, a cap of ten target locales, 60K processed words / year. Hosted words are unlimited on paid plans; you pay for words processed (translated, imported, updated). | Advanced, $999 / month billed annually (1M processed words / year). 400K processed words exceed Explorer's 60K base and Growth's 225K to 300K ($375 / month). Explorer can be topped up to 500K; the top-up price is not shown. | Not offered | Proprietary | Keys and files, the Lokalise CLI or a Git integration, a project on the platform | Yes | Yes, JSON and many formats |
| Phrase Strings (pricing) | $525 / month billed annually ($6,300 / year), the "Software UI/UX" plan: 15 seats, 1M managed words | Same, $525 / month: both scenarios fit in 1M managed words | Not found on phrase.com | Proprietary | Keys and files, the Phrase CLI, a project on the platform | Yes | Yes, JSON and many formats |
| Tolgee, cloud (pricing) | Team, €49 / month billed annually (€59 monthly): 2,000 keys, 4 seats, 10K machine-translation credits. Keys are counted once whatever the number of languages; the free plan stops at 500 keys. | Advanced, €499 / month billed annually (€599 monthly): 20,000 keys — or Business at €179 / month plus 5 × "extra 1,000 keys" at €5, €204 / month billed annually | See the next row | Server Apache 2.0, with an ee folder under the Tolgee Enterprise License | Keys and files, the Tolgee CLI or SDK, a project on the platform | Yes | Yes, JSON and XLIFF |
| Tolgee, self-hosted (pricing) | €0: the free self-hosted tier has the core features, up to 10 seats, machine translation with your own API keys. SSO and granular permissions need a paid licence, price on request (keys and seats). Plus your server: a Java application and Postgres. | Same. | Yes | Apache 2.0 (core) | Docker Compose with Postgres, then the same client setup as the cloud | Yes | Yes, JSON and XLIFF |
| i18next + files in the repo (GitHub) | €0 in licences. The cost is the work: a key for every string, one file per language, and somebody or something to fill them. | Same. | Nothing to host | MIT | Keys, JSON files per language, a loader, a CI step if you extract keys | Yes | The files are the export |
| i18next + locize (pricing) | Growth, $49 / month: 60K words counted across all languages (48K here, source included), a cap of ten locales, 5M CDN downloads | Enterprise, $199 / month + $140 of overage (280K extra words at $5 per 10K) = $339 / month, downloads not counted | Not offered | i18next MIT; locize proprietary | i18next keys and files, the locize backend plugin or CLI, a project on the platform | Yes | Yes, JSON and other formats |
Dollars and euros are as each page displayed them; the difference does not change any row's order. Lokalise's pricing page and its documentation disagree on the Growth plan's processed words (225K vs 300K per year); both are given.
What i18n-keyless does that the others do not
- No keys, no files. The source string in the code is the lookup. A new string is translated on its first request; a changed string is a new one. There is nothing to extract and nothing to sync.
- A price that does not move with the strings. Hosted plans are per project by monthly active users; the self-hosted licence is a one-off. None of the rows above meter seats, words or keys.
- One container to self-host, with SQLite, and any AI provider — the very image behind the hosted service.
- An MCP server, so an agent can list missing translations, fix one, or set up a project.
Who is i18n-keyless for
i18n-keyless is for an engineering-led team without translators, that wants to keep development pace and velocity as high as possible while wanting to i18n their product at a fair and cheap price. Hosted if you do not want to run a server. Self-hosted for the best price. Perfect for small teams and large ones, for MVPs and scaleups, for one language or many.
The one-to-one articles go deeper: vs Tolgee, vs Crowdin, vs Lokalise, vs Phrase, vs i18next, and the roundup of i18next alternatives. The FAQ answers the questions a sceptic asks first.