Skip to content
3.0 preview (see announcement)
Docs
Environments
Runtime requirements

Runtime requirements

Browser

Based on the features you're using, you have to make sure your browser supports the following APIs:

If you target a browser that doesn't support all the required APIs, consider using polyfills. Polyfill.io (opens in a new tab) is a valuable solution for this that helps you to load only the polyfills you need for a given locale.

Example:

IntlPolyfills.tsx
import {useLocale} from 'next-intl';
import Script from 'next/script';
 
// Use this component in your Next.js custom `_app`
function IntlPolyfills() {
  const locale = useLocale();
 
  const polyfills = [
    'Intl',
    'Intl.Locale',
    'Intl.DateTimeFormat',
    `Intl.DateTimeFormat.~locale.${locale}`,
    `Intl.NumberFormat`,
    `Intl.NumberFormat.~locale.${locale}`,
    'Intl.PluralRules',
    `Intl.PluralRules.~locale.${locale}`,
    'Intl.RelativeTimeFormat',
    `Intl.RelativeTimeFormat.~locale.${locale}`,
    'Intl.ListFormat',
    `Intl.ListFormat.~locale.${locale}`
  ];
 
  return (
    <Script
      strategy="beforeInteractive"
      src={
        'https://polyfill.io/v3/polyfill.min.js?features=' + polyfills.join(',')
      }
    />
  );
}
⚠️

Note that Polyfill.io doesn't support every locale. You can find a list of the available polyfills in the polyfill-service GitHub repository (opens in a new tab) (e.g. search for Intl.DateTimeFormat.~locale.de-AT).

Node

The minimum required version is Node.js 13. Starting from this version, all required APIs are available.