# unicode-org/icu4x

Solving i18n for client-side and resource-constrained environments.

Repository: https://github.com/unicode-org/icu4x
Canonical: https://ross.abutalabs.com/products/icu4x
Homepage: https://icu4x.unicode.org
Language: Rust
License: NOASSERTION
License Family: other
Topics: internationalization, localization, unicode, cldr, rust, icu
Last push: 2026-08-25T21:00:48+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 86, longevity 100
- inputs: {"age_days": 2380, "days_push": 8, "days_rel": 12, "gap_med": 86.5, "n_releases_24m": 7}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1856, forks 285 (observed 2026-08-28T04:05:44.929883+00:00)

## What it is
ICU4X is a Rust implementation of Internationalization Components of Unicode (ICU) built on CLDR data, designed to be small, modular, and fast for client-side and resource-constrained environments. It exposes APIs usable from multiple languages via bindings (npm, pub.dev, etc.) and covers locale handling, date/time formatting, and other i18n components.

## Use cases
- format dates and times for a specific locale in Rust
- add internationalization to a WebAssembly app
- handle locales and CLDR data in resource-constrained environments
- localize number and date formatting across languages
- embed i18n support in a mobile or embedded application
- replace heavyweight ICU4C/ICU4J with a small modular i18n library

## When to choose
- you need standards-based i18n in Rust or via FFI in other languages
- binary size and performance matter, such as client-side or embedded targets
- you want pluggable, minimal CLDR locale data
- you need Unicode Consortium-backed i18n best practices

## When to avoid
- you need a full-featured mature ICU implementation in C/C++ or Java today
- your project is not Rust-based and existing bindings don't cover your platform
- you only need simple string translation without locale-aware formatting

## Facets
- artifact type: library
- maturity: active
- function: internationalization, date-time, parser, sdk
- domain: cross-platform, developer-tools
- platform: rust, cross-platform, wasm, embedded
- tags: unicode, cldr, locale-data, icu, resource-constrained, multi-language-bindings, localization, natural-language-processing, web-server

## Member repositories
- unicode-org/icu4x (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:44.929883+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:16:42.633108+00:00, confidence not recorded.
  - readme: https://github.com/unicode-org/icu4x (fetched 2026-08-28T04:05:44.929883+00:00, sha 80498fc53bcb)
  - homepage: https://icu4x.unicode.org (fetched 2026-08-29T10:55:31.052700+00:00, sha 22d1c39bd0c1)
  - site_page: https://icu4x.unicode.org/2_3/tutorials/quickstart (fetched 2026-08-29T10:55:31.064449+00:00, sha 85b4f16f650b)
  - registry_crates: https://crates.io/api/v1/crates/icu4x (fetched 2026-08-29T10:55:31.068156+00:00, sha 23a76125217a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
