staticdata.dev
Menu
Datasets About Contact

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.

v1.0.0 MIT 24 records Updated 2026-10-05 stable Source:  BIPM SI Brochure — SI Prefixes

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
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

    Open

    min: 2.3 KB · /v1/si-prefixes.min.json

  • CSV 912 B

    /v1/si-prefixes.csv

    Open
  • TypeScript 3.4 KB

    /v1/si-prefixes.ts

    export const siPrefixes

    type SiPrefix = (typeof siPrefixes)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
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.

Data preview
namesymbolbaseexponentfactoradopted
quettaQ103010000000000000000000000000000002022
ronnaR102710000000000000000000000000002022
yottaY102410000000000000000000000001991
zettaZ102110000000000000000000001991
exaE101810000000000000000001975
petaP101510000000000000001975
teraT101210000000000001960
gigaG10910000000001960
megaM10610000001873
kilok10310001795

Showing 10 of 24. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/si-prefixes.json | jq '.[0]'
JavaScript
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]);
Python
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])
Go
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])
}
Rust
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