next-intl
The i18n library most people reach for in a Next.js App Router project. Type-safe messages, ICU plurals, and localized routing out of the box.
What is next-intl?
next-intl is an internationalization library purpose-built for Next.js App Router, handling translated messages, ICU-based pluralization and formatting, and localized routing in a way that works with server components rather than around them. Because it's built specifically for Next.js instead of adapted from a framework-agnostic library, it tends to integrate more smoothly with routing, middleware, and the server/client component split than a generic i18n library retrofitted onto App Router.
Key features
- Type-safe message keys, so a typo or missing translation shows up as a compile-time error, not a runtime one
- ICU message format support for plurals, gender, and rich formatting rules across languages
- Localized routing built in, including locale-prefixed URLs and locale detection middleware
- Works with both server and client components, which is where a lot of generic i18n libraries hit friction in App Router
Who it's for
Any Next.js App Router project needing multi-language support, since it's built specifically for that router model rather than adapted to it. Multi-platform teams sharing i18n logic across web and React Native are better served by a framework-agnostic option like i18next.
Pricing
Free and open source.