Arabic engineering reference
Noto Kufi Arabic Font: Size and Variable File
Noto Kufi Arabic needs 85.8 KB for Arabic regular and bold: rank 14 of 20, heavier than the sample median of 54.0 KB. Its variable Arabic file only pays off at about 3 or more weights. Latin makes up 19% of the mixed-script total. Every figure on this page comes from the August 23, 2026 WOFF2 snapshot.
What the measurements say about Noto Kufi Arabic
- It is 1.7× the Kufi median of 51.7 KB.
- Switching to Reem Kufi, the smallest Kufi family, would save 68.1 KB (79%) for the same two weights.
- The variable Arabic file (120.8 KB) is 41% larger than the two static weights. Estimate: at about 42.9 KB per static weight, it pays off once you ship 3 or more weights.
- Latin is only 19% of the mixed-script total (20.3 KB); the Arabic glyph set dominates the payload.
- Regular (42.9 KB) and bold (42.8 KB) are within 2% of each other.
Size rank and delivery totals
Rank 14 of 20 overall and 2 of 2 in Kufi, smallest first by Arabic 400+700 bytes. Ties share a rank. Measured on . Starting role (editorial guidance): Headings and labels.
| Scenario | Exact bytes | Meaning |
|---|---|---|
| Arabic 400 + 700 | 87,812 | Two static WOFF2 files |
| Arabic + Latin 400 + 700 | 108,644 | Four static WOFF2 files |
| Added Latin bytes | 20,832 | Mixed-script total minus Arabic total |
| Arabic variable weight file | 123,688 | One variable Arabic file, when available |
| Variable minus static | 35,876 (41%) | Compared with Arabic 400+700; negative means smaller |
Variable totals cover the selected Arabic weight-variable file, without a Latin variable file. Availability describes this snapshot’s package source. File sizes exclude CSS and do not predict latency, caching, rendering time or layout shift.
Arabic 400 preview
العربية لغة جميلة، وتصميمها الجيد يجعل القراءة أسهل.
Self-hosted Arabic subset, normal weight 400. Visual reference only; this sentence is not a complete shaping or language-coverage test.
Individual files and reproducibility
Static package: @fontsource/noto-kufi-arabic@5.3.0. The SHA-256 digests below identify the exact Arabic files; Latin file sizes are reported separately.
| Subset | Weight | Bytes | Recorded file / SHA-256 |
|---|---|---|---|
| Arabic | 400 | 43,940 | @fontsource/noto-kufi-arabic/files/noto-kufi-arabic-arabic-400-normal.woff2SHA-256: d287128ffedd6cab026665c63e580d6fa397fbc47286fa47edd446482cffc5e5 |
| Arabic | 700 | 43,872 | @fontsource/noto-kufi-arabic/files/noto-kufi-arabic-arabic-700-normal.woff2SHA-256: c964525ff0ef5e1005c41f68fcb8937da8bad92cffc51a6464c20cf470b532a5 |
| Latin | 400 | 10,448 | @fontsource/noto-kufi-arabic/files/noto-kufi-arabic-latin-400-normal.woff2 |
| Latin | 700 | 10,384 | @fontsource/noto-kufi-arabic/files/noto-kufi-arabic-latin-700-normal.woff2 |
Recorded variable file: @fontsource-variable/noto-kufi-arabic/files/noto-kufi-arabic-arabic-wght-normal.woff2. The snapshot does not record a variable-package version or hash; the pinned installation below reproduces the static package only.
Install the measured static package
npm install --save-exact @fontsource/noto-kufi-arabic@5.3.0Import the selected subsets
// Application entry: Arabic subsets, normal 400 and 700
import "@fontsource/noto-kufi-arabic/arabic-400.css";
import "@fontsource/noto-kufi-arabic/arabic-700.css";
// Add these only for the measured mixed-script scenario:
// import "@fontsource/noto-kufi-arabic/latin-400.css";
// import "@fontsource/noto-kufi-arabic/latin-700.css";
// In your stylesheet:
// font-family: "Noto Kufi Arabic", sans-serif;The explicit subset imports reproduce the selected scenario. A bundler serves the package assets from your application; these snippets do not require a third-party font host. Use a fallback appropriate to your content and test it before deployment.
Declared coverage: 7/7
These checks inspect package-declared Unicode ranges, not the rendered font. They test seven representative characters, not all characters in a language.
| Representative check | Code point | Declared inclusion |
|---|---|---|
| Arabic letter | U+0627 | Pass |
| Persian letter | U+067E | Pass |
| Urdu letter | U+0679 | Pass |
| Arabic-Indic digit | U+0661 | Pass |
| Eastern Arabic/Persian digit | U+06F1 | Pass |
| Arabic diacritic | U+064E | Pass |
| Arabic punctuation | U+061F | Pass |
Similar fonts by classification and size
The nearest 3 alternatives, prioritizing Kufi families and then absolute difference in Arabic 400+700 bytes. When fewer than three same-class alternatives exist, the list includes other classifications, identified below. This is a delivery-size shortlist, not a claim that the glyphs look alike.
Reem Kufi
Kufi · 18,040 bytes; 69,772 bytes difference.
IBM Plex Sans Arabic
Sans · 87,128 bytes; 684 bytes difference.
Mirza
Naskh · 81,764 bytes; 6,048 bytes difference.
Comparisons involving Noto Kufi Arabic
No dedicated comparison currently includes this family. Use the 20-family index to compare measured totals without generating extra pair pages.
Method and limits
The benchmark measures filesystem bytes of normal 400 and 700 Arabic-subset WOFF2 files from installed Fontsource packages. It separately sums Latin files and records the Arabic variable file where available. The preview is a visual aid; readability is not scored.
Questions and answers
How large is Noto Kufi Arabic for Arabic regular and bold?
The Arabic 400 and 700 WOFF2 files total 87,812 bytes (85.8 KB), rank 14 of 20 measured families. Adding Latin brings it to 108,644 bytes. These are file sizes, not page-load timings.
Should I use the variable version of Noto Kufi Arabic?
The variable Arabic file (120.8 KB) is 41% larger than the two static weights. Estimate: at about 42.9 KB per static weight, it pays off once you ship 3 or more weights.
Does Noto Kufi Arabic cover Persian and Urdu letters?
Noto Kufi Arabic's declared Unicode ranges include the Persian (U+067E) and Urdu (U+0679) letters tested, passing 7 of 7 representative checks. All 20 measured families pass the same checks, so coverage does not separate them; test shaping with your own text.