Automate i18n workflows and sync localization files with one command.

What is SimpleLocalize CLI
SimpleLocalize CLI is a developer-first tool designed to bridge the gap between your local codebase and our cloud-based translation management system. It acts as a powerful automation layer that eliminates manual file handling, allowing you to push and pull translations directly from your terminal or CI/CD pipelines.
Install it the way that fits your project: as a native binary for macOS, Windows, and Linux with one command, as the @simplelocalize/cli npm package, or run the Java version with java -jar.
SimpleLocalize CLI bridges your local project and the cloud-based translation editor. Upload source strings, translate with your team or AI, and pull translations back into your build.
Run a single shell command to install. Create a simplelocalize.yml config file with your project settings.
Push your local translation files to the cloud editor. Supports JSON, YAML, XLIFF, and 25+ other formats.
Use the web-based translation editor, invite translators, or auto-translate with DeepL, Google, or OpenAI.
Pull finished translations back into your repo. Use in CI/CD pipelines for fully automated localization.
For a step-by-step walkthrough, see the getting started guide.
Copy, paste, run
Pick your framework, save the config as simplelocalize.yml in your project, and run simplelocalize upload and simplelocalize download.
Upload, download, auto-translate, and extract translation keys, all from your terminal.
Integrate into any CI/CD pipeline and keep your localization workflow fully automated.
Push local translation files to the cloud editor with a single command. Use {lang} and {ns} placeholders in the path to map files to languages and namespaces, and check what will be uploaded first with --dryRun. Upload from JSON, YAML, XLIFF, PO, ARB, and 25+ other formats.
Pull finished translations back into your project. Export to a different format than you uploaded: import JSON, export Android Strings. Download only the languages, namespaces or tags you need, and sort keys for clean diffs.
Download translated stringsRun simplelocalize auto-translate to fill in missing translations with the providers set up for each language in your project: DeepL, Google Translate, OpenAI, Anthropic, Gemini or OpenRouter. The command waits until the jobs finish, so the next download in your CI/CD pipeline gets every language up to date.
File format support
Import and export JSON, YAML, XLIFF, PO/POT, ARB (Flutter), Android Strings, iOS Strings, Java Properties, PHP, RESX, CSV, Excel, and more. Import in one format, export in another. The CLI handles the conversion.
Use namespaces to manage translations for a React frontend (JSON), an Android app (Android Strings), and an iOS app (Strings) all in the same project.
GitHub Actions
The official SimpleLocalize GitHub Action runs any CLI command in your workflow. This one uploads new texts, auto-translates them and downloads the translations on every push to main.
Add your project API key as the SIMPLELOCALIZE_API_KEY secret, save the file as .github/workflows/translations.yml, and push.
Automate your entire localization workflow. Run the CLI in any CI/CD environment to upload source strings, auto-translate, and download finished translations as part of your build.
SimpleLocalize CLI is a powerful tool that helps you to automate the translation process in your project.
You can easily synchronize translation files between you local project and SimpleLocalize Translation Editor.
curl -s https://get.simplelocalize.io/2.12/install | bash. { iwr -useb https://get.simplelocalize.io/2.12/install-windows } | iex;npm install @simplelocalize/cliThe @simplelocalize/cli package downloads the CLI binary for your system. Source code is available in the GitHub repository.
simplelocalize upload \
--apiKey YOU_API_KEY \
--uploadPath ./source_messages.json \
--uploadFormat single-language-jsonsimplelocalize download \
--apiKey YOUR_API_KEY \
--downloadFormat single-language-json \
--downloadPath ./messages_{lang}.json{
"en": {
"CREATE_ACCOUNT": "Create account",
"SIGN_IN": "Sign in",
"WELCOME_TO_THE_JUNGLE" : "Welcome to the jungle"
},
"es": {
"CREATE_ACCOUNT": "Crear cuenta",
"SIGN_IN": "Iniciar",
"WELCOME_TO_THE_JUNGLE": "Bienvenido a la jungla"
}
}
Why use a localization CLI
Manually copying translation files between your repo and TMS leads to missed strings, stale translations, and broken builds. A localization CLI eliminates these risks.
Most tools are overkill.
SimpleLocalize is fast, simple, and works out of the box.
SimpleLocalize is easy to get started with and focuses on the features that you and your team need the most. You can customize the editor to your needs choosing from a variety of options.
No hidden costs! SimpleLocalize offers a simple and affordable plans for you and your projects. Within easy integration options and intuitive translation editor, it creates a wonderful selection.
Every paid plan comes with a number of users you can add to your project. You don't need to worry about number of users as the price does not increase with every user.
Every paid plan comes with auto-translation characters that you receive every month. You can also use bring your own API keys and use them with SimpleLocalize in any plan (even free!).
SimpleLocalize gives developers the tools they need to automate and integrate localization into any workflow, such as CLI tool, VS Code extension, IntelliJ plugin, Figma integration, and more.
From “how do I get started” to “I need XYZ” requests, when you need that extra helping hand, we’re here for you. We are here to make sure you get the most out of SimpleLocalize.
Learn how to integrate the SimpleLocalize CLI into your project, automate translations in CI/CD pipelines, and streamline your localization workflow.

Learn how to show bold, italic, and other Markdown styling from translations in Android and iOS apps. iOS supports Markdown natively, and on Android you can convert it to HTML or use a library.

How to design multi-tenant localization: data models for tenant-specific translations, fallback order, CDN delivery, caching, permissions, and a working setup with customer contexts in SimpleLocalize.

Learn how to internationalize and localize Vue 3 and Nuxt apps with vue-i18n. Covers setup, translation files, pluralization, locale detection, lazy loading, CI/CD integration, and SimpleLocalize workflows.

Stop treating translation as a manual step before release. Learn how to trigger AI translations automatically on every GitHub push, using SimpleLocalize CLI or the GitHub App.

Machine translation often breaks UI strings through missing context, character limits, and grammar rules other languages don't follow. Here's why, and how to fix it.

Why context is the single biggest factor in AI translation quality, and how to structure project context, key descriptions, and glossaries for accurate results.
A localization CLI (command-line interface) is a developer tool that automates the synchronization of translation files between a local codebase and a cloud-based translation management system (TMS). Instead of manually copying JSON, YAML, or XLIFF files back and forth, developers run a single command to upload source strings and download finished translations.
The SimpleLocalize CLI is an open-source i18n CLI tool that works on macOS (Apple Silicon and Intel), Windows, and Linux. It's available as a native binary installed with one command, as an npm package, and as a Java jar. It works in any CI/CD pipeline, with documented examples for GitHub Actions and AWS CodeBuild.
Continuous localization means keeping translations in sync with your code at all times — not as a one-time export before a release. The SimpleLocalize CLI enables this by running as part of your build or deploy process. On every push, the CLI uploads new or changed source strings to the TMS, the auto-translate command fills in missing translations, and download brings the latest translations into your repo.
This eliminates the manual handoff between developers and translators. Developers commit code with new strings, the CI pipeline uploads them, translators or AI complete the translations in the online translation editor, and the next build pulls everything back. The entire flow is automated and version-controlled.
The CLI supports over 25 localization file formats including JSON (single-language and multi-language), YAML, XLIFF 1.2 and 2.0, PO/POT (Gettext), ARB (Flutter), Android Strings, iOS Strings, Stringsdict and String Catalogs (xcstrings), Java Properties, PHP arrays, RESX, Qt Linguist, CSV, and Excel. You can import in one format and export in another, for example, import from a single-language JSON used in your React app and export to Android Strings for your mobile team.
The simplelocalize extract command scans your source code for translation keys and writes them to extraction.json, which you upload like any other file. It supports react-intl (FormattedMessage, defineMessages, intl.formatMessage), i18next (t() and i18nKey), Android, iOS and macOS, EJS, and HTML elements with a data-i18n-key attribute. Learn more in the extraction documentation.
Run a single command to install the CLI binary. On macOS and Linux: curl -s https://get.simplelocalize.io/2.12/install | bash. On Windows, run the PowerShell installer from the docs, or install it with npm: npm install @simplelocalize/cli. See the getting started guide for details.
The CLI supports 25+ formats including JSON, YAML, XLIFF, PO/POT, ARB (Flutter), Android Strings, iOS Strings, Java Properties, PHP, RESX, CSV, Excel, and more. You can import in one format and export in another.
Yes. The CLI is a native binary installed with one command, so it fits GitHub Actions (with the official simplelocalize/github-action-cli action), GitLab CI/CD, CircleCI, AWS CodeBuild, or any other CI/CD tool. Use it to upload source strings and download translations as part of your build.
Yes. The auto-translate command starts auto-translation with the providers set up for each language in your project (DeepL, Google Translate, OpenAI, Anthropic, Gemini or OpenRouter) and waits until it finishes. This is useful in CI/CD pipelines to fill in missing translations before downloading.
The CLI is part of the SimpleLocalize Translation Management System. It acts as the bridge between your local code and the cloud-based translation editor. Upload strings via CLI, manage translations in the editor, and pull them back with the CLI. It also works with the REST API and CDN hosting.
Yes. The SimpleLocalize CLI is open source under the MIT license and available on GitHub. You can inspect the code, contribute, or build from source.
Yes. Use the --downloadCustomerId flag to download translations for a specific tenant or customer context (available on the Business plan). This is useful for white-label and multi-tenant applications where each client needs customized text.