Localization: AuthKit in 90 Languages
AuthKit now automatically translates into ~90 languages based on your users' operating system settings.
AuthKit is now translated into over 90 languages. Every sign-up box, magic auth flow, password reset screen, and user-facing email is presented in your users' native language — with zero configuration required.
Today, we're excited to launch Localization for AuthKit, bringing automatic language detection and translation to every WorkOS customer. With this release, your authentication flows become globally legible to users worldwide, supporting over 90 languages from Afrikaans to Zulu.
The best part? It's already live for your users. No setup, deployment, or additional costs needed.

What is localization?
Localization (also referred to as internationalization, or i18n) is the process of transforming a digital experience to match your users' preferred locale. Locales differ in many aspects besides language — dates, idioms, and numerical format all come to play when optimizing for localization.
When a person who speaks Japanese visits your sign-in page, they see Japanese. When a person from Italy resets their password, they read the instructions in Italian. Localization widens your potential user base by speaking the languages users speak in the way that they speak them.
It’s important to note that geographic region does not determine the locale of a user. Consider travel: you wouldn’t want websites that you visit to change their language just because you’re on vacation! That’s why we never take IP address as a factor in determining the user’s preferred locale.
Instead, we read the browser’s accept-language
header of incoming requests, and server-side render all text in the appropriate language. Translations are static and incur no additional overhead at runtime.
In practical terms, localization for AuthKit enables you to:
- Increase conversion rates by presenting authentication in users' native languages
- Expand into new markets without engineering effort or translation costs
- Support global teams and customers without maintaining translation files
Every user-facing element of AuthKit — from form labels to error messages to transactional emails — now speaks your users' preferred language.

Selling to Enterprise requires localization
Going upmarket often means going global. The largest enterprise deals aren't just in Silicon Valley — they're in Amsterdam, Munich, Singapore, Dubai, and more. Every Fortune 500 company operates internationally. Every unicorn startup has global ambitions.
Did you know that less than one-fifth of the world speaks English? When you limit your sign up flows English only, you exclude over 80% of potential users before they even try your product. For B2B SaaS companies looking to scale, international expansion is the largest untapped growth lever available.
Companies who treat localization as a "nice to have" leave revenue on the table. AuthKit is the first thing your users see before signing in to your product. By speaking to users in their native tongue, you can increase conversion rates internationally.
How it works
Your users’ browsers send the language set by the OS of their device in the accept-language
request header. We automatically choose the closest matching locale and serve translations to that user in the matching language. All translations are pre-computed, and don’t incur increased latency or network calls.
In cases where the request header is absent, or when we don’t recognize a user’s locale, we then fall back to the environment’s fallback language.
By default, every environment has a fallback language set to US English (en-US
). You can configure this fallback language to be any of the languages that we support in the dashboard.

Multilingual previews
Want to take a look at what your sign-up page looks like in French, Spanish, Portuguese? Curious how your MFA emails look like in non-Latin scripts or right-to-left languages? Head to the Branding editor where you can preview your AuthKit in various languages.

Custom text
You may have set custom headings or link text when configuring AuthKit to match your brand. Don’t fret — you can continue to make edits to this custom text in English, and the branding editor will auto-generate translations of your text in every other language. Click save, and your string will be served to your user base in over 90 different languages. You can preview what each translation looks like by changing the language in the language picker.

Access user locale via API
When users successfully sign in to your app, we record their preferred locale and save it in the locale
property of the User object. Consider this data as the source of truth for your user base’s locality breakdown. You can use this data for things like sending out your own email marketing campaigns, or simply for analytics.
Reach international markets today
Localization is now for all AuthKit customers. We’ve enabled this feature for everyone because we believe global accessibility should be the default. The world is waiting for your product. Now, nothing is lost in translation. Let us know what you think! Check out the Localization documentation to learn more.