Translation toolkit for Next.js apps that wires i18next and react-i18next into the App Router, Pages Router, and middleware.
amannn/next-intl
Internationalization (i18n) library for Next.js, offering ICU message syntax, locale-aware dates and numbers, and type-safe translation hooks.
- Stars
- 4,393
- Forks
- 397
- Open issues
- 56
- Last commit
- yesterday
What is it?
next-intl adds internationalization to Next.js applications. It lets you write translated messages with interpolation, plurals, enum-based selection and rich text, using ICU message syntax in JSON files.
The library provides a single hooks-based API for translations, plus formatting for dates, times and numbers that stays consistent between server and client components, including time zone handling. Message keys are type-checked, so typos and missing keys are caught at compile time.
It supports the Next.js App Router and Server Components with static rendering, and includes internationalized routing that gives each language its own pathname, with optional localized pathnames for SEO. A companion CLI, eloqnt, can lint messages and optionally fill in missing translations.
Key features
- 01ICU message syntax with interpolation, plurals, enum selection and rich text
- 02Locale-aware date, time and number formatting consistent across server and client
- 03Type-safe message keys with autocompletion
- 04Hooks-based API usable across the codebase
- 05Support for App Router, Server Components and static rendering
- 06Internationalized routing with per-language and localized pathnames
Use cases
- Adding multilingual support to a Next.js App Router website
- Formatting dates and plural-sensitive messages across locales
- Serving localized URLs for SEO on a multilingual site
Things to know
- Built specifically for Next.js, so it is not a general-purpose i18n library.
Topics
FAQ
- What is next-intl?
- Internationalization (i18n) library for Next.js, offering ICU message syntax, locale-aware dates and numbers, and type-safe translation hooks. next-intl adds internationalization to Next.js applications. It lets you write translated messages with interpolation, plurals, enum-based selection and rich text, using ICU message syntax in JSON files.
- Is next-intl free to use? What license does it have?
- next-intl is open source under the MIT license. Check the license terms before using it in commercial products.
- Is next-intl still maintained?
- Actively maintained. The last commit to next-intl was on Nov 6, 2026.
- What can I use next-intl for?
- Adding multilingual support to a Next.js App Router website Formatting dates and plural-sensitive messages across locales Serving localized URLs for SEO on a multilingual site
- Where can I get next-intl?
- The source code and installation instructions are on GitHub: https://github.com/amannn/next-intl
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A React component for adding video to Next.js apps, with automatic upload, optimization and CDN delivery via Mux or other storage providers.
A Fastify plugin that lets an existing Fastify server render Next.js pages with React server-side rendering.
Open-source, web-based localization platform for managing app translations with in-context editing, SDKs, and machine translation.
End-to-end typesafe APIs for TypeScript with no schemas or code generation, sharing types between server and client.
Open-source, self-hosted translation management platform for teams, with import/export of common localization formats and a REST API.