• EnglishEnglish
      EN
    • françaisFrench
      FR
    • РусскийRussian
      RU
    • 日本語Japanese
      JA
    • 한국어Korean
      KO
    • 中文Chinese
      ZH
    • EspañolSpanish
      ES
    • DeutschGerman
      DE
    • العربيةArabic
      AR
    • ItalianoItalian
      IT
    • British EnglishBritish English
      EN-GB
    • PortuguêsPortuguese
      PT
    • हिन्दीHindi
      HI
    • TürkçeTurkish
      TR
    • polskiPolish
      PL
    • IndonesiaIndonesian
      ID
    • Tiếng ViệtVietnamese
      VI
    • УкраїнськаUkrainian
      UK
    HomeSandboxShowcaseAppDocBlog
    GitHub84584584599Login
    HomeSandboxShowcaseAppDocBlog
    • EnglishEnglish
      EN
    • françaisFrench
      FR
    • РусскийRussian
      RU
    • 日本語Japanese
      JA
    • 한국어Korean
      KO
    • 中文Chinese
      ZH
    • EspañolSpanish
      ES
    • DeutschGerman
      DE
    • العربيةArabic
      AR
    • ItalianoItalian
      IT
    • British EnglishBritish English
      EN-GB
    • PortuguêsPortuguese
      PT
    • हिन्दीHindi
      HI
    • TürkçeTurkish
      TR
    • polskiPolish
      PL
    • IndonesiaIndonesian
      ID
    • Tiếng ViệtVietnamese
      VI
    • УкраїнськаUkrainian
      UK
    84584584599
    /
    Alt+←
    Filter docs by framework
    Alt+←
    Why Intlayer ?
    Get Started
    • How Intlayer Works
    • Configuration
      • Overview
      • Test
      • Fill
      • Build
      • Watch
      • Extract
      • Login
      • Push
      • Pull
      • Configuration
      • List
      • Version
      • Editor
      • Live
      • Debug
      • Doc Review
      • Doc Translate
      • SDK
      • Scan
      • Infra
      • Upgrade
    • Visual Editor
      • Overview
      • Self-hosting
      • Analytics
    • CI/CD Integration
      • Overview
      • Translation
      • Plural
      • Select
      • Enumeration
      • Condition
      • Gender
      • Insertion
      • File
      • Nesting
      • Markdown
      • HTML
      • Function Fetching
    • Formatters
      • Overview
      • Collections
      • Variants
    • Per Locale File
    • Compiler
    • Auto Fill
    • Testing
    • Bundle Optimization
        • Overview
        • getIntlayer
        • getIntlayerAsync
        • getDictionary
        • getDictionaryAsync
        • getTranslation
        • getEnumeration
        • getConfiguration
        • getLocale
        • getLocaleLang
        • getLocaleName
        • getHTMLTextDir
        • getLocalizedUrl
        • getLocalizedPath
        • getCanonicalPath
        • getMultilingualUrls
        • getPathWithoutLocale
        • getPrefix
        • comparePaths
        • validatePrefix
        • Overview
        • IntlayerProvider
        • MarkdownRenderer
        • t
        • useDictionary
        • useI18n
        • useIntlayer
        • useLocale
        • usePathname
        • useRewriteURL
        • Overview
        • intlayerMiddleware
        • t
        • useDictionary
        • useIntlayer
        • useLocale
        • usePathname
        • useRewriteURL
        • Overview
        • usePathname
        • useRewriteURL
      • nuxt-intlayer
        • Overview
        • usePathname
        • useRewriteURL
        • Overview
        • IntlayerProvider
        • useIntlayer
        • useLocale
        • usePathname
        • useRewriteURL
        • Overview
        • usePathname
        • Overview
        • usePathname
      • react-native-intlayer
      • lynx-intlayer
        • Overview
        • intlayer
        • onRequest
        • useDictionary
        • useIntlayer
        • useLocale
        • Overview
        • intlayer
        • Intlayer
        • useDictionary
        • useIntlayer
        • useLocale
        • Overview
        • intlayer
        • intlayerPrune
        • Overview
        • intlayer
        • t
        • Overview
        • intlayer
        • Overview
        • intlayer
        • Overview
        • intlayer
        • t
        • Overview
        • intlayer
        • t
      • intlayer-cli
      • @intlayer/babel
      • Overview
      • Next.js 14 and App Router
      • Next.js 15
      • Next.js and Page Router
      • Overview
      • Tanstack Start Solid
      • Overview
      • Astro and React
      • Astro and Svelte
      • Astro and Vue
      • Astro and Solid
      • Astro and Preact
      • Astro and Lit
    • Remix 3
      • Overview
      • React Router v7
      • Overview
      • Nuxt and Vue
      • Overview
      • Solid Start
      • Overview
      • SvelteKit
    • Vite and Preact
      • Overview
      • Vanilla JS (no bundler)
    • Vite and Lit
      • Overview
      • Angular 19 (Webpack)
      • Analog
    • React Native and Expo
      • Express.js
      • NestJS
      • Fastify
      • Hono
      • Adonis
      • Elysia
      • React CRA
      • Lynx and React
      • htmx
    • JSON
    • gettext (.po)
    • VS Code Extension
    • Chrome & Firefox Extension
    • ESLint / OXLint
    • MCP Server
    • Agent skills
    • Language Server Protocol
    • v9
    • v8
    • v7
    • v6
    • Overview
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    • Overview
    • i18next
    • react-i18next
    • next-i18next
    • next-intl
    • react-intl
    • Lingui
    • vue-i18n
    • @nuxt/i18n
    • ngx-translate
    • svelte-i18n
    BlogAsk a question
    1. Documentation
    2. Benchmark
    Author:
    Aymeric PINEAU's avatar
    Aymeric PINEAU
    Reference this doc to your favorite AI assistantChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok

    Ask your question and get a summary of the document by referencing this page and the AI provider of your choice

    Version History

    1. "Update benchmark results"
      v9.5.109/26/2026
    2. "Update benchmark results"
      v9.5.19/11/2026
    3. "Init benchmark"
      v8.7.51/6/2026
    Edit this doc

    If you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.

    GitHub link to the documentation
    Creation:2026-04-20Last update:2026-09-27
    Copy

    Copy doc Markdown to clipboard

    Benchmark - Report

    Benchmark Bloom is a performance benchmarking suite that measures the real-world impact of i18n (internationalization) libraries across multiple React frameworks and loading strategies.

    Find the detailed reports and technical documentation for each framework below:

    Next.js Benchmark Report
    TanStack Start Benchmark Report
    Vue Benchmark Report
    Solid Benchmark Report
    Svelte Benchmark Report
    To understand where these libraries come from, read the history of JavaScript i18n.
    The history of JavaScript i18n
    v6Next.js

    In this page

      Hey! Ask me anything and I'll try to answer it.

      Discussions are anonymous and regularly reviewed to address common issues. Feel free to share feature ideas, feedback on the documentation, or anything related to Intlayer, we use this input to shape our roadmap and improve the product.

      Next.js Benchmark ReportCompare Next.js internationalization (i18n) libraries like next-intl, next-i18next, and Intlayer. Detailed performance report on bundle size, leakage, and reactivity.
      TanStack Start Benchmark ReportCompare TanStack Start internationalization libraries like react-i18next, use-intl, and Intlayer. Detailed performance report on bundle size, leakage, and reactivity.
      Vue Benchmark ReportCompare Vue internationalization libraries like vue-i18n, fluent-vue, Tolgee, and Intlayer. Detailed performance report on bundle size, leakage, and reactivity.
      Solid Benchmark ReportCompare Solid internationalization libraries like solid-primitives, solid-i18next, Tolgee, and Intlayer. Detailed performance report on bundle size, leakage, and reactivity.
      Svelte Benchmark ReportCompare Svelte internationalization libraries like svelte-i18n, Paraglide, Tolgee, and Intlayer. Detailed performance report on bundle size, leakage, and reactivity.
      The history of JavaScript i18nHow frontend i18n evolved from 2011 to 2026: release dates, architectural problems and key innovations across React, Vue, Next.js, Angular, Svelte and Solid.

      Technology

      Next.jsTanStackVueSolidSvelte

      Metric

      Library sizeComponents sizePage sizeLocale content leakOther page content leakPage loadHydrationReactivity

      Dynamic JSON loading

      Lazy-loads translations at runtime

      Scoped JSON (namespacing)

      Per-page translation namespaces

      What is this metric?

      The total gzip-compressed size of the internationalization library bundle. It only includes the provider and content retrieval logic after tree-shaking and minification.

      Why is it important?

      A smaller library size reduces the initial JavaScript payload, leading to faster download and execution times on the client.

      View as