A suite of JavaScript libraries for internationalization (i18n), including the popular react-intl library.
FormatJS is a monorepo containing a suite of JavaScript libraries and tools for internationalization (i18n). It solves the problem of formatting dates, numbers, lists, and messages for different languages and locales in web applications, with its most notable library being react-intl for React projects.
JavaScript and TypeScript developers building web applications that need to support multiple languages, particularly React developers using react-intl.
Developers choose FormatJS for its comprehensive, modular approach to i18n, its adherence to the ECMAScript Internationalization standard, and its excellent integration with modern frontend tooling like React, Babel, and TypeScript.
The monorepo home to all of the FormatJS related libraries, most notably react-intl.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports the powerful ICU syntax for handling plurals, genders, and selectors in translations, enabling complex localization scenarios directly from the README's feature list.
The react-intl library provides first-class support for React applications with hooks and components, making i18n intuitive and well-documented in the published packages.
Includes a CLI, Babel plugin, and TypeScript transformer for extracting and compiling translation messages, streamlining the i18n workflow as highlighted in the Key Features.
Implements the ECMAScript Internationalization API (ECMA-402), ensuring consistency and future-proofing with browser standards, a core part of the project philosophy.
The suite is split into over 15 independent packages (e.g., @formatjs/intl-datetimeformat, @formatjs/intl-numberformat), requiring careful dependency management and increasing setup overhead.
Using polyfills for older browsers and loading locale data can significantly increase bundle size, with no built-in tree-shaking defaults, affecting performance for lightweight apps.
While core libraries exist, the best integration and documentation are for React; other frameworks may lack first-party tools, pushing developers to seek alternatives.