Currencies
ISO 4217 active currency codes with their numeric codes, symbols, decimal precision (which determines minor unit handling for amounts), and the alpha-2 country codes of every territory that uses each currency. Useful for currency pickers, formatting amounts, and validating user input.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/currencies.json
Or use as a typed import:
import { currencies } from "https://staticdata.dev/v1/currencies.ts"
Formats
- JSON 24.9 KB
/v1/currencies.json
min: 15.9 KB · /v1/currencies.min.json
- CSV 5.0 KB
/v1/currencies.csv
- TypeScript 25.1 KB
/v1/currencies.ts
export const currencies
type Currency = (typeof currencies)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| code | string | ISO 4217 alphabetic code | EUR |
| name | string | English currency name | Euro |
| numeric | string | ISO 4217 numeric code (zero-padded) | 978 |
| symbol | string | Currency symbol | € |
| decimals | number | Number of decimal places defining the minor unit | 2 |
| countries | string[] | ISO 3166-1 alpha-2 codes of countries using the currency | ["AT","DE","FR"] |
Preview
First 10 records.
| code | name | numeric | symbol | decimals |
|---|---|---|---|---|
| AED | UAE Dirham | 784 | د.إ | 2 |
| AFN | Afghani | 971 | ؋ | 2 |
| ALL | Lek | 008 | L | 2 |
| AMD | Armenian Dram | 051 | ֏ | 2 |
| ANG | Netherlands Antillean Guilder | 532 | ƒ | 2 |
| AOA | Kwanza | 973 | Kz | 2 |
| ARS | Argentine Peso | 032 | $ | 2 |
| AUD | Australian Dollar | 036 | $ | 2 |
| AWG | Aruban Florin | 533 | ƒ | 2 |
| AZN | Azerbaijan Manat | 944 | ₼ | 2 |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/currencies.json | jq '.[0]' import type { Currency } from "https://staticdata.dev/v1/currencies.ts";
const res = await fetch("https://staticdata.dev/v1/currencies.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const currencies: Currency[] = await res.json();
console.log(currencies[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/currencies.min.json") as r:
currencies = json.load(r)
print(currencies[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/currencies.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/currencies.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
The list tracks the ISO 4217 List One as of October 2026 (published 2026-09-17), including recent additions such as SLE (Sierra Leone, 2022), VED (Venezuela, 2021), XCG (Curaçao and Sint Maarten, 2025) and ZWG (Zimbabwe, 2024). Fund codes (BOV, CLF, COU, MXV, USN, UYI, UYW, CHE, CHW, XAD), precious metals (XAU, XAG, XPT, XPD), the SDR and other supranational units (XDR, XSU, XUA, XBA–XBD) and the XTS/XXX codes are excluded; the multi-country X-prefixed currencies XAF, XOF, XCD and XPF are included.
Four codes withdrawn recently — ANG (replaced by XCG in 2025), BGN (Bulgaria adopted the euro on 1 January 2026), SLL (replaced by SLE) and ZWL (replaced by ZWG) — are kept for backwards compatibility with an empty countries array. Do not offer them for new transactions.
The decimals field is critical for displaying amounts. Currencies with 0 decimals (JPY, KRW, ISK, several CFA-zone currencies) should not be formatted with cents. Currencies with 3 decimals (BHD, JOD, KWD, OMR, TND, IQD, LYD) require three-digit minor units. Most are 2 decimals.
Symbols are the most common form in the issuing country’s primary script. There is no canonical authoritative source for currency symbols; we follow CLDR where it exists and Unicode otherwise.
The countries array lists every country or territory that ISO 4217 lists as using the currency (Palestine is additionally listed under ILS, its de facto currency). The Euro list is the longest. Some currencies (USD, EUR, XAF, XOF, XCD, XPF, NZD) are used by multiple countries.
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
currencies changelog for this dataset's history.