SI Prefixes
The complete set of SI (metric) prefixes — the 24 multipliers from quetta (10³⁰) down to quecto (10⁻³⁰), including the everyday kilo, mega, giga, milli, and micro. Each entry gives the name, symbol, base-ten exponent, the full decimal factor, and the year the prefix was adopted.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/si-prefixes.json
Or use as a typed import:
import { siPrefixes } from "https://staticdata.dev/v1/si-prefixes.ts"
Formats
- JSON 3.2 KB
/v1/si-prefixes.json
min: 2.3 KB · /v1/si-prefixes.min.json
- CSV 912 B
/v1/si-prefixes.csv
- TypeScript 3.4 KB
/v1/si-prefixes.ts
export const siPrefixes
type SiPrefix = (typeof siPrefixes)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| name | string | Prefix name | kilo |
| symbol | string | Prefix symbol | k |
| base | number | Always 10 | 10 |
| exponent | number | Power of ten | 3 |
| factor | string | Full decimal factor as a string | 1000 |
| adopted | number | Year the prefix was introduced: 1795 (French metric law), 1873 (BAAS, mega and micro), otherwise the year of the CGPM resolution | 1795 |
Preview
First 10 records.
| name | symbol | base | exponent | factor | adopted |
|---|---|---|---|---|---|
| quetta | Q | 10 | 30 | 1000000000000000000000000000000 | 2022 |
| ronna | R | 10 | 27 | 1000000000000000000000000000 | 2022 |
| yotta | Y | 10 | 24 | 1000000000000000000000000 | 1991 |
| zetta | Z | 10 | 21 | 1000000000000000000000 | 1991 |
| exa | E | 10 | 18 | 1000000000000000000 | 1975 |
| peta | P | 10 | 15 | 1000000000000000 | 1975 |
| tera | T | 10 | 12 | 1000000000000 | 1960 |
| giga | G | 10 | 9 | 1000000000 | 1960 |
| mega | M | 10 | 6 | 1000000 | 1873 |
| kilo | k | 10 | 3 | 1000 | 1795 |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/si-prefixes.json | jq '.[0]' import type { SiPrefix } from "https://staticdata.dev/v1/si-prefixes.ts";
const res = await fetch("https://staticdata.dev/v1/si-prefixes.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const siPrefixes: SiPrefix[] = await res.json();
console.log(siPrefixes[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/si-prefixes.min.json") as r:
siPrefixes = json.load(r)
print(siPrefixes[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/si-prefixes.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/si-prefixes.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
The official SI prefixes as maintained by the BIPM, ordered from largest to smallest. The four most recent — ronna, quetta, ronto, and quecto — were adopted by the 27th CGPM in 2022. The adopted year is the year each prefix was introduced: kilo through milli date from the 1795 French metric law and mega/micro from the 1873 CGS system of the British Association; these, together with giga, tera, nano and pico, were formally adopted into the SI by the 11th CGPM in 1960, followed by femto and atto (1964), peta and exa (1975), zetta, yotta, zepto and yocto (1991), and the four 2022 prefixes.
The factor is provided as a string rather than a number because the full decimal value of large and small prefixes exceeds the precision of a JavaScript number; use it with a big-number or decimal library when exactness matters. Symbols are case-sensitive: note lowercase k for kilo, uppercase M for mega, lowercase m for milli, and μ (U+03BC) for micro. These are decimal (power-of-ten) prefixes — they are distinct from the binary prefixes (kibi, mebi, gibi: powers of 1024) defined by IEC 80000-13, which are not included here.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
si-prefixes changelog for this dataset's history.
More Code datasets
- ansi-colors
- ascii
- cron-presets
- css-at-rules
- css-functions
- css-named-colors
- css-properties
- css-pseudo-classes
- css-pseudo-elements
- css-units
- data-units
- exit-codes
- file-signatures
- hash-algorithms
- js-array-methods
- js-math-methods
- js-object-methods
- js-string-methods
- json-schema-keywords
- jwt-claims
- mathematical-constants
- measurement-units
- node-builtin-modules
- owasp-top-10
- periodic-table
- physical-constants
- posix-signals
- programming-languages
- regex-flags
- regex-patterns
- roman-numerals
- si-base-units
- si-derived-units
- spdx-licenses
- strftime-tokens
- tailwind-colors
- time-units
- unicode-blocks
- unicode-general-categories
- unicode-planes
- unix-file-permissions
- xterm-256-colors