next-intl is an internationalization library purpose-built for Next.js applications. Written in TypeScript, it provides developers with a comprehensive toolkit for implementing multilingual support across Next.js projects, from message translation to date and number formatting. The library is actively maintained by amannn, who has logged 1570 events in the repository's issue and pull request tracking, with additional contributions from sovetski and theoludwig.
The library implements ICU message syntax for localization, enabling developers to handle interpolation, cardinal and ordinal plurals, enum-based label selection, and rich text formatting within translated messages. Beyond basic translation, next-intl includes built-in support for formatting dates, times, and numbers with appropriate localization, abstracting away complexities like timezone differences between server and client environments. This dual focus on message translation and locale-specific formatting distinguishes it from simpler translation libraries.
Type safety is a core design principle. The library provides autocompletion for message keys and compile-time checks to catch typos early in development, reducing runtime errors in production applications. The API is built around React hooks, offering a consistent interface across the codebase for converting translations into either plain strings or rich text components.
next-intl is deeply integrated with Next.js architecture and performance considerations. It supports the App Router, Server Components, and static rendering, allowing developers to choose the appropriate rendering strategy for different parts of their application. The library handles internationalized routing natively, enabling unique pathnames per language and optional pathname localization for search engine optimization benefits.
The repository shows strong community engagement and responsive maintenance. Across 523 tracked issues and pull requests, the median response latency is 0.0 hours with a mean of 0.8 hours, indicating rapid triage and feedback. The most frequently applied labels are unconfirmed with 407 instances, bug with 295 instances, and enhancement with 167 instances, reflecting an active issue tracking process. The library's ecosystem connects with other major projects including vercel/next.js, better-auth/better-auth, and microsoft/vscode through overlapping contributors, suggesting integration points and community adoption across the Next.js ecosystem.
The project maintains comprehensive documentation at next-intl.dev and is hosted on Vercel. The library's design philosophy emphasizes getting language nuances right as an essential part of user experience, positioning it as a complete solution rather than a minimal translation layer. By combining message formatting, date and number localization, type safety, and Next.js-native performance optimization, next-intl addresses the full spectrum of internationalization needs for modern Next.js applications.