shadimage
flagcn
blockcurrencysource: ok · refreshed

Currency Components

Typed currency labels and Intl.NumberFormat-backed currency values.

npx shadcn add "https://flagcn.dev/r/currency.json"
free

No selection tags yet — empty means no evidence, not lack of support.

Files3 · source cached 10/7/2026, 3:45:08 PM

src/components/flags/currency.tsx
// SPDX-License-Identifier: MIT

import type * as React from "react"

import { cn } from "@/lib/utils"

import { formatCurrency, getCurrency } from "./currency-utils"
import type { CurrencyCode } from "./data/currencies"

export interface CurrencyProps extends React.ComponentProps<"span"> {
  code: CurrencyCode
  display?: "code" | "name" | "symbol" | "native-symbol"
}

export function Currency({ code, display = "code", className, ...props }: CurrencyProps) {
  const currency = getCurrency(code)
  const value = display === "name" ? currency?.name
    : display === "symbol" ? currency?.symbol
      : display === "native-symbol" ? currency?.symbolNative
        : code
  return <span className={cn(display === "code" && "font-mono", className)} {...props}>{value}</span>
}

export interface CurrencyValueProps extends React.ComponentProps<"span"> {
  amount: number
  currency: CurrencyCode
  locale?: string
}

export function CurrencyValue({ amount, currency, locale, ...props }: CurrencyValueProps) {
  return <span {...props}>{formatCurrency(amount, currency, locale)}</span>
}
src/components/flags/currency-utils.ts
// SPDX-License-Identifier: MIT

import { currencyData, type Currency } from "./data/currencies"
import { normalizeCountrySearch } from "./country-utils"

const byCode = new Map(currencyData.map((currency) => [currency.code.toLocaleUpperCase(), currency]))

export function getCurrency(code: string) {
  return byCode.get(code.toLocaleUpperCase())
}

export function searchCurrencies(query: string, source: readonly Currency[] = currencyData) {
  const normalized = normalizeCountrySearch(query)
  if (!normalized) return [...source]
  return source.filter((currency) => normalizeCountrySearch(`${currency.code} ${currency.name} ${currency.native} ${currency.symbol} ${currency.symbolNative}`).includes(normalized))
}

export function formatCurrency(amount: number, currency: string, locale?: string) {
  return new Intl.NumberFormat(locale, { style: "currency", currency: currency.toLocaleUpperCase() }).format(amount)
}

export { currencyData, type Currency, type CurrencyCode } from "./data/currencies"
src/components/flags/data/currencies.ts
// SPDX-License-Identifier: MIT

// Generated by scripts/generate-country-data.mjs from countries-list,
// i18n-iso-countries, and libphonenumber-js. Do not edit by hand.

export const currencyData = [
  {
    "code": "AED",
    "name": "United Arab Emirates Dirham",
    "native": "درهم إماراتي",
    "symbol": "AED",
    "symbolNative": "د.إ.",
    "numeric": "784",
    "decimals": 2
  },
  {
    "code": "AFN",
    "name": "Afghan Afghani",
    "native": "افغانۍ",
    "symbol": "؋",
    "symbolNative": "؋",
    "numeric": "971",
    "decimals": 2
  },
  {
    "code": "ALL",
    "name": "Albanian Lek",
    "native": "Leku shqiptar",
    "symbol": "ALL",
    "symbolNative": "Lekë",
    "numeric": "008",
    "decimals": 2
  },
  {
    "code": "AMD",
    "name": "Armenian Dram",
    "native": "հայկական դրամ",
    "symbol": "֏",
    "symbolNative": "֏",
    "numeric": "051",
    "decimals": 2
  },
  {
    "code": "ANG",
    "name": "Netherlands Antillean Guilder",
    "native": "Nederlands-Antilliaanse gulden",
    "symbol": "ANG",
    "symbolNative": "NAf.",
    "numeric": "532",
    "decimals": 2,
    "withdrawn": true
  },
  {
    "code": "AOA",
    "name": "Angolan Kwanza",
    "native": "kwanza angolano",
    "symbol": "Kz",
    "symbolNative": "Kz",
    "numeric": "973",
    "decimals": 2
  },
  {
    "code": "ARS",
    "name": "Argentine Peso",
    "native": "peso argentino",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "032",
    "decimals": 2
  },
  {
    "code": "AUD",
    "name": "Australian Dollar",
    "native": "Australian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "036",
    "decimals": 2
  },
  {
    "code": "AWG",
    "name": "Aruban Florin",
    "native": "Arubaanse gulden",
    "symbol": "AWG",
    "symbolNative": "Afl.",
    "numeric": "533",
    "decimals": 2
  },
  {
    "code": "AZN",
    "name": "Azerbaijani Manat",
    "native": "Azərbaycan Manatı",
    "symbol": "₼",
    "symbolNative": "₼",
    "numeric": "944",
    "decimals": 2
  },
  {
    "code": "BAM",
    "name": "Bosnia-Herzegovina Convertible Mark",
    "native": "Bosanskohercegovačka konvertibilna marka",
    "symbol": "KM",
    "symbolNative": "KM",
    "numeric": "977",
    "decimals": 2
  },
  {
    "code": "BBD",
    "name": "Barbadian Dollar",
    "native": "Barbadian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "052",
    "decimals": 2
  },
  {
    "code": "BDT",
    "name": "Bangladeshi Taka",
    "native": "বাংলাদেশী টাকা",
    "symbol": "৳",
    "symbolNative": "৳",
    "numeric": "050",
    "decimals": 2
  },
  {
    "code": "BHD",
    "name": "Bahraini Dinar",
    "native": "دينار بحريني",
    "symbol": "BHD",
    "symbolNative": "د.ب.",
    "numeric": "048",
    "decimals": 3
  },
  {
    "code": "BIF",
    "name": "Burundian Franc",
    "native": "franc burundais",
    "symbol": "BIF",
    "symbolNative": "FBu",
    "numeric": "108",
    "decimals": 0
  },
  {
    "code": "BMD",
    "name": "Bermudan Dollar",
    "native": "Bermudian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "060",
    "decimals": 2
  },
  {
    "code": "BND",
    "name": "Brunei Dollar",
    "native": "Dolar Brunei",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "096",
    "decimals": 2
  },
  {
    "code": "BOB",
    "name": "Bolivian Boliviano",
    "native": "boliviano",
    "symbol": "Bs",
    "symbolNative": "Bs",
    "numeric": "068",
    "decimals": 2
  },
  {
    "code": "BOV",
    "name": "Bolivian Mvdol",
    "native": "MVDOL boliviano",
    "symbol": "BOV",
    "symbolNative": "BOV",
    "numeric": "984",
    "decimals": 2
  },
  {
    "code": "BRL",
    "name": "Brazilian Real",
    "native": "Real brasileiro",
    "symbol": "R$",
    "symbolNative": "R$",
    "numeric": "986",
    "decimals": 2
  },
  {
    "code": "BSD",
    "name": "Bahamian Dollar",
    "native": "Bahamian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "044",
    "decimals": 2
  },
  {
    "code": "BTN",
    "name": "Bhutanese Ngultrum",
    "native": "དངུལ་ཀྲམ",
    "symbol": "BTN",
    "symbolNative": "Nu.",
    "numeric": "064",
    "decimals": 2
  },
  {
    "code": "BWP",
    "name": "Botswanan Pula",
    "native": "Botswanan Pula",
    "symbol": "P",
    "symbolNative": "P",
    "numeric": "072",
    "decimals": 2
  },
  {
    "code": "BYN",
    "name": "Belarusian Ruble",
    "native": "беларускі рубель",
    "symbol": "BYN",
    "symbolNative": "Br",
    "numeric": "933",
    "decimals": 2
  },
  {
    "code": "BZD",
    "name": "Belize Dollar",
    "native": "Belize Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "084",
    "decimals": 2
  },
  {
    "code": "CAD",
    "name": "Canadian Dollar",
    "native": "Canadian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "124",
    "decimals": 2
  },
  {
    "code": "CDF",
    "name": "Congolese Franc",
    "native": "franc congolais",
    "symbol": "CDF",
    "symbolNative": "FC",
    "numeric": "976",
    "decimals": 2
  },
  {
    "code": "CHE",
    "name": "WIR Euro",
    "native": "WIR-Euro",
    "symbol": "CHE",
    "symbolNative": "CHE",
    "numeric": "947",
    "decimals": 2
  },
  {
    "code": "CHF",
    "name": "Swiss Franc",
    "native": "Schweizer Franken",
    "symbol": "CHF",
    "symbolNative": "CHF",
    "numeric": "756",
    "decimals": 2
  },
  {
    "code": "CHW",
    "name": "WIR Franc",
    "native": "WIR Franken",
    "symbol": "CHW",
    "symbolNative": "CHW",
    "numeric": "948",
    "decimals": 2
  },
  {
    "code": "CLF",
    "name": "Chilean Unit of Account (UF)",
    "native": "unidad de fomento chilena",
    "symbol": "CLF",
    "symbolNative": "CLF",
    "numeric": "990",
    "decimals": 4
  },
  {
    "code": "CLP",
    "name": "Chilean Peso",
    "native": "Peso chileno",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "152",
    "decimals": 0
  },
  {
    "code": "CNY",
    "name": "Chinese Yuan",
    "native": "人民币",
    "symbol": "¥",
    "symbolNative": "¥",
    "numeric": "156",
    "decimals": 2
  },
  {
    "code": "COP",
    "name": "Colombian Peso",
    "native": "peso colombiano",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "170",
    "decimals": 2
  },
  {
    "code": "COU",
    "name": "Colombian Real Value Unit",
    "native": "Colombian Real Value Unit",
    "symbol": "COU",
    "symbolNative": "COU",
    "numeric": "970",
    "decimals": 2
  },
  {
    "code": "CRC",
    "name": "Costa Rican Colón",
    "native": "colón costarricense",
    "symbol": "₡",
    "symbolNative": "₡",
    "numeric": "188",
    "decimals": 2
  },
  {
    "code": "CUP",
    "name": "Cuban Peso",
    "native": "peso cubano",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "192",
    "decimals": 2
  },
  {
    "code": "CVE",
    "name": "Cape Verdean Escudo",
    "native": "escudo cabo-verdiano",
    "symbol": "CVE",
    "symbolNative": "CVE",
    "numeric": "132",
    "decimals": 2
  },
  {
    "code": "CZK",
    "name": "Czech Koruna",
    "native": "česká koruna",
    "symbol": "Kč",
    "symbolNative": "Kč",
    "numeric": "203",
    "decimals": 2
  },
  {
    "code": "DJF",
    "name": "Djiboutian Franc",
    "native": "franc djiboutien",
    "symbol": "DJF",
    "symbolNative": "Fdj",
    "numeric": "262",
    "decimals": 0
  },
  {
    "code": "DKK",
    "name": "Danish Krone",
    "native": "dansk krone",
    "symbol": "kr",
    "symbolNative": "kr.",
    "numeric": "208",
    "decimals": 2
  },
  {
    "code": "DOP",
    "name": "Dominican Peso",
    "native": "peso dominicano",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "214",
    "decimals": 2
  },
  {
    "code": "DZD",
    "name": "Algerian Dinar",
    "native": "دينار جزائري",
    "symbol": "DZD",
    "symbolNative": "د.ج.",
    "numeric": "012",
    "decimals": 2
  },
  {
    "code": "EGP",
    "name": "Egyptian Pound",
    "native": "جنيه مصري",
    "symbol": "E£",
    "symbolNative": "E£",
    "numeric": "818",
    "decimals": 2
  },
  {
    "code": "ERN",
    "name": "Eritrean Nakfa",
    "native": "ኤርትራዊ ናቕፋ",
    "symbol": "ERN",
    "symbolNative": "Nfk",
    "numeric": "232",
    "decimals": 2
  },
  {
    "code": "ETB",
    "name": "Ethiopian Birr",
    "native": "የኢትዮጵያ ብር",
    "symbol": "ETB",
    "symbolNative": "ብር",
    "numeric": "230",
    "decimals": 2
  },
  {
    "code": "EUR",
    "name": "Euro",
    "native": "euro",
    "symbol": "€",
    "symbolNative": "€",
    "numeric": "978",
    "decimals": 2
  },
  {
    "code": "FJD",
    "name": "Fijian Dollar",
    "native": "Fijian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "242",
    "decimals": 2
  },
  {
    "code": "FKP",
    "name": "Falkland Islands Pound",
    "native": "Falkland Islands Pound",
    "symbol": "£",
    "symbolNative": "£",
    "numeric": "238",
    "decimals": 2
  },
  {
    "code": "GBP",
    "name": "British Pound",
    "native": "British Pound",
    "symbol": "£",
    "symbolNative": "£",
    "numeric": "826",
    "decimals": 2
  },
  {
    "code": "GEL",
    "name": "Georgian Lari",
    "native": "ქართული ლარი",
    "symbol": "₾",
    "symbolNative": "₾",
    "numeric": "981",
    "decimals": 2
  },
  {
    "code": "GHS",
    "name": "Ghanaian Cedi",
    "native": "Ghanaian Cedi",
    "symbol": "GH₵",
    "symbolNative": "GH₵",
    "numeric": "936",
    "decimals": 2
  },
  {
    "code": "GIP",
    "name": "Gibraltar Pound",
    "native": "Gibraltar Pound",
    "symbol": "£",
    "symbolNative": "£",
    "numeric": "292",
    "decimals": 2
  },
  {
    "code": "GMD",
    "name": "Gambian Dalasi",
    "native": "Gambian Dalasi",
    "symbol": "GMD",
    "symbolNative": "D",
    "numeric": "270",
    "decimals": 2
  },
  {
    "code": "GNF",
    "name": "Guinean Franc",
    "native": "franc guinéen",
    "symbol": "FG",
    "symbolNative": "FG",
    "numeric": "324",
    "decimals": 0
  },
  {
    "code": "GTQ",
    "name": "Guatemalan Quetzal",
    "native": "quetzal",
    "symbol": "Q",
    "symbolNative": "Q",
    "numeric": "320",
    "decimals": 2
  },
  {
    "code": "GYD",
    "name": "Guyanese Dollar",
    "native": "Guyanese Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "328",
    "decimals": 2
  },
  {
    "code": "HKD",
    "name": "Hong Kong Dollar",
    "native": "港元",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "344",
    "decimals": 2
  },
  {
    "code": "HNL",
    "name": "Honduran Lempira",
    "native": "lempira hondureño",
    "symbol": "L",
    "symbolNative": "L",
    "numeric": "340",
    "decimals": 2
  },
  {
    "code": "HTG",
    "name": "Haitian Gourde",
    "native": "gourde haïtienne",
    "symbol": "HTG",
    "symbolNative": "G",
    "numeric": "332",
    "decimals": 2
  },
  {
    "code": "HUF",
    "name": "Hungarian Forint",
    "native": "magyar forint",
    "symbol": "Ft",
    "symbolNative": "Ft",
    "numeric": "348",
    "decimals": 2
  },
  {
    "code": "IDR",
    "name": "Indonesian Rupiah",
    "native": "Rupiah Indonesia",
    "symbol": "Rp",
    "symbolNative": "Rp",
    "numeric": "360",
    "decimals": 2
  },
  {
    "code": "ILS",
    "name": "Israeli New Shekel",
    "native": "שקל חדש",
    "symbol": "₪",
    "symbolNative": "₪",
    "numeric": "376",
    "decimals": 2
  },
  {
    "code": "INR",
    "name": "Indian Rupee",
    "native": "भारतीय रुपया",
    "symbol": "₹",
    "symbolNative": "₹",
    "numeric": "356",
    "decimals": 2
  },
  {
    "code": "IQD",
    "name": "Iraqi Dinar",
    "native": "دينار عراقي",
    "symbol": "IQD",
    "symbolNative": "د.ع.",
    "numeric": "368",
    "decimals": 3
  },
  {
    "code": "IRR",
    "name": "Iranian Rial",
    "native": "ریال ایران",
    "symbol": "IRR",
    "symbolNative": "ریال",
    "numeric": "364",
    "decimals": 2
  },
  {
    "code": "ISK",
    "name": "Icelandic Króna",
    "native": "íslensk króna",
    "symbol": "kr",
    "symbolNative": "kr.",
    "numeric": "352",
    "decimals": 0
  },
  {
    "code": "JMD",
    "name": "Jamaican Dollar",
    "native": "Jamaican Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "388",
    "decimals": 2
  },
  {
    "code": "JOD",
    "name": "Jordanian Dinar",
    "native": "دينار أردني",
    "symbol": "JOD",
    "symbolNative": "د.أ.",
    "numeric": "400",
    "decimals": 3
  },
  {
    "code": "JPY",
    "name": "Japanese Yen",
    "native": "日本円",
    "symbol": "¥",
    "symbolNative": "¥",
    "numeric": "392",
    "decimals": 0
  },
  {
    "code": "KES",
    "name": "Kenyan Shilling",
    "native": "Kenyan Shilling",
    "symbol": "KES",
    "symbolNative": "Ksh",
    "numeric": "404",
    "decimals": 2
  },
  {
    "code": "KGS",
    "name": "Kyrgyz Som",
    "native": "Кыргызстан сому",
    "symbol": "⃀",
    "symbolNative": "⃀",
    "numeric": "417",
    "decimals": 2
  },
  {
    "code": "KHR",
    "name": "Cambodian Riel",
    "native": "រៀល​កម្ពុជា",
    "symbol": "៛",
    "symbolNative": "៛",
    "numeric": "116",
    "decimals": 2
  },
  {
    "code": "KMF",
    "name": "Comorian Franc",
    "native": "فرنك جزر القمر",
    "symbol": "CF",
    "symbolNative": "CF",
    "numeric": "174",
    "decimals": 0
  },
  {
    "code": "KPW",
    "name": "North Korean Won",
    "native": "조선 민주주의 인민 공화국 원",
    "symbol": "₩",
    "symbolNative": "₩",
    "numeric": "408",
    "decimals": 2
  },
  {
    "code": "KRW",
    "name": "South Korean Won",
    "native": "대한민국 원",
    "symbol": "₩",
    "symbolNative": "₩",
    "numeric": "410",
    "decimals": 0
  },
  {
    "code": "KWD",
    "name": "Kuwaiti Dinar",
    "native": "دينار كويتي",
    "symbol": "KWD",
    "symbolNative": "د.ك.",
    "numeric": "414",
    "decimals": 3
  },
  {
    "code": "KYD",
    "name": "Cayman Islands Dollar",
    "native": "Cayman Islands Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "136",
    "decimals": 2
  },
  {
    "code": "KZT",
    "name": "Kazakhstani Tenge",
    "native": "Қазақстан теңгесі",
    "symbol": "₸",
    "symbolNative": "₸",
    "numeric": "398",
    "decimals": 2
  },
  {
    "code": "LAK",
    "name": "Laotian Kip",
    "native": "ລາວ ກີບ",
    "symbol": "₭",
    "symbolNative": "₭",
    "numeric": "418",
    "decimals": 2
  },
  {
    "code": "LBP",
    "name": "Lebanese Pound",
    "native": "جنيه لبناني",
    "symbol": "L£",
    "symbolNative": "L£",
    "numeric": "422",
    "decimals": 2
  },
  {
    "code": "LKR",
    "name": "Sri Lankan Rupee",
    "native": "ශ්‍රී ලංකා රුපියල",
    "symbol": "Rs",
    "symbolNative": "රු.",
    "numeric": "144",
    "decimals": 2
  },
  {
    "code": "LRD",
    "name": "Liberian Dollar",
    "native": "Liberian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "430",
    "decimals": 2
  },
  {
    "code": "LSL",
    "name": "Lesotho Loti",
    "native": "Lesotho Loti",
    "symbol": "LSL",
    "symbolNative": "LSL",
    "numeric": "426",
    "decimals": 2
  },
  {
    "code": "LYD",
    "name": "Libyan Dinar",
    "native": "دينار ليبي",
    "symbol": "LYD",
    "symbolNative": "د.ل.",
    "numeric": "434",
    "decimals": 3
  },
  {
    "code": "MAD",
    "name": "Moroccan Dirham",
    "native": "dírham marroquí",
    "symbol": "MAD",
    "symbolNative": "MAD",
    "numeric": "504",
    "decimals": 2
  },
  {
    "code": "MDL",
    "name": "Moldovan Leu",
    "native": "leu moldovenesc",
    "symbol": "MDL",
    "symbolNative": "L",
    "numeric": "498",
    "decimals": 2
  },
  {
    "code": "MGA",
    "name": "Malagasy Ariary",
    "native": "ariary malgache",
    "symbol": "Ar",
    "symbolNative": "Ar",
    "numeric": "969",
    "decimals": 2
  },
  {
    "code": "MKD",
    "name": "Macedonian Denar",
    "native": "Македонски денар",
    "symbol": "MKD",
    "symbolNative": "ден.",
    "numeric": "807",
    "decimals": 2
  },
  {
    "code": "MMK",
    "name": "Myanmar Kyat",
    "native": "မြန်မာ ကျပ်",
    "symbol": "K",
    "symbolNative": "K",
    "numeric": "104",
    "decimals": 2
  },
  {
    "code": "MNT",
    "name": "Mongolian Tugrik",
    "native": "Монгол төгрөг",
    "symbol": "₮",
    "symbolNative": "₮",
    "numeric": "496",
    "decimals": 2
  },
  {
    "code": "MOP",
    "name": "Macanese Pataca",
    "native": "澳門元",
    "symbol": "MOP",
    "symbolNative": "MOP$",
    "numeric": "446",
    "decimals": 2
  },
  {
    "code": "MRU",
    "name": "Mauritanian Ouguiya",
    "native": "أوقية موريتانية",
    "symbol": "MRU",
    "symbolNative": "أ.م.",
    "numeric": "929",
    "decimals": 2
  },
  {
    "code": "MUR",
    "name": "Mauritian Rupee",
    "native": "Mauritian Rupee",
    "symbol": "Rs",
    "symbolNative": "Rs",
    "numeric": "480",
    "decimals": 2
  },
  {
    "code": "MVR",
    "name": "Maldivian Rufiyaa",
    "native": "Maldivian Rufiyaa",
    "symbol": "MVR",
    "symbolNative": "ރ.",
    "numeric": "462",
    "decimals": 2
  },
  {
    "code": "MWK",
    "name": "Malawian Kwacha",
    "native": "Malawian Kwacha",
    "symbol": "MWK",
    "symbolNative": "MK",
    "numeric": "454",
    "decimals": 2
  },
  {
    "code": "MXN",
    "name": "Mexican Peso",
    "native": "peso mexicano",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "484",
    "decimals": 2
  },
  {
    "code": "MXV",
    "name": "Mexican Investment Unit",
    "native": "Mexican Investment Unit",
    "symbol": "MXV",
    "symbolNative": "MXV",
    "numeric": "979",
    "decimals": 2
  },
  {
    "code": "MYR",
    "name": "Malaysian Ringgit",
    "native": "Ringgit Malaysia",
    "symbol": "RM",
    "symbolNative": "RM",
    "numeric": "458",
    "decimals": 2
  },
  {
    "code": "MZN",
    "name": "Mozambican Metical",
    "native": "metical moçambicano",
    "symbol": "MZN",
    "symbolNative": "MTn",
    "numeric": "943",
    "decimals": 2
  },
  {
    "code": "NAD",
    "name": "Namibian Dollar",
    "native": "Namibian Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "516",
    "decimals": 2
  },
  {
    "code": "NGN",
    "name": "Nigerian Naira",
    "native": "Nigerian Naira",
    "symbol": "₦",
    "symbolNative": "₦",
    "numeric": "566",
    "decimals": 2
  },
  {
    "code": "NIO",
    "name": "Nicaraguan Córdoba",
    "native": "córdoba nicaragüense",
    "symbol": "C$",
    "symbolNative": "C$",
    "numeric": "558",
    "decimals": 2
  },
  {
    "code": "NOK",
    "name": "Norwegian Krone",
    "native": "norske kroner",
    "symbol": "kr",
    "symbolNative": "kr",
    "numeric": "578",
    "decimals": 2
  },
  {
    "code": "NPR",
    "name": "Nepalese Rupee",
    "native": "नेपाली रूपैयाँ",
    "symbol": "Rs",
    "symbolNative": "रू",
    "numeric": "524",
    "decimals": 2
  },
  {
    "code": "NZD",
    "name": "New Zealand Dollar",
    "native": "New Zealand Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "554",
    "decimals": 2
  },
  {
    "code": "OMR",
    "name": "Omani Rial",
    "native": "ريال عماني",
    "symbol": "OMR",
    "symbolNative": "ر.ع.",
    "numeric": "512",
    "decimals": 3
  },
  {
    "code": "PAB",
    "name": "Panamanian Balboa",
    "native": "balboa panameño",
    "symbol": "PAB",
    "symbolNative": "B/.",
    "numeric": "590",
    "decimals": 2
  },
  {
    "code": "PEN",
    "name": "Peruvian Sol",
    "native": "sol peruano",
    "symbol": "PEN",
    "symbolNative": "S/",
    "numeric": "604",
    "decimals": 2
  },
  {
    "code": "PGK",
    "name": "Papua New Guinean Kina",
    "native": "Papua New Guinean Kina",
    "symbol": "PGK",
    "symbolNative": "K",
    "numeric": "598",
    "decimals": 2
  },
  {
    "code": "PHP",
    "name": "Philippine Peso",
    "native": "Philippine Peso",
    "symbol": "₱",
    "symbolNative": "₱",
    "numeric": "608",
    "decimals": 2
  },
  {
    "code": "PKR",
    "name": "Pakistani Rupee",
    "native": "Pakistani Rupee",
    "symbol": "Rs",
    "symbolNative": "Rs",
    "numeric": "586",
    "decimals": 2
  },
  {
    "code": "PLN",
    "name": "Polish Zloty",
    "native": "złoty polski",
    "symbol": "zł",
    "symbolNative": "zł",
    "numeric": "985",
    "decimals": 2
  },
  {
    "code": "PYG",
    "name": "Paraguayan Guarani",
    "native": "guaraní paraguayo",
    "symbol": "₲",
    "symbolNative": "₲",
    "numeric": "600",
    "decimals": 0
  },
  {
    "code": "QAR",
    "name": "Qatari Riyal",
    "native": "ريال قطري",
    "symbol": "QAR",
    "symbolNative": "ر.ق.",
    "numeric": "634",
    "decimals": 2
  },
  {
    "code": "RON",
    "name": "Romanian Leu",
    "native": "leu românesc",
    "symbol": "lei",
    "symbolNative": "lei",
    "numeric": "946",
    "decimals": 2
  },
  {
    "code": "RSD",
    "name": "Serbian Dinar",
    "native": "српски динар",
    "symbol": "RSD",
    "symbolNative": "RSD",
    "numeric": "941",
    "decimals": 2
  },
  {
    "code": "RUB",
    "name": "Russian Ruble",
    "native": "российский рубль",
    "symbol": "₽",
    "symbolNative": "₽",
    "numeric": "643",
    "decimals": 2
  },
  {
    "code": "RWF",
    "name": "Rwandan Franc",
    "native": "Rwandan Franc",
    "symbol": "RF",
    "symbolNative": "RF",
    "numeric": "646",
    "decimals": 0
  },
  {
    "code": "SAR",
    "name": "Saudi Riyal",
    "native": "ريال سعودي",
    "symbol": "SAR",
    "symbolNative": "ر.س.",
    "numeric": "682",
    "decimals": 2
  },
  {
    "code": "SBD",
    "name": "Solomon Islands Dollar",
    "native": "Solomon Islands Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "090",
    "decimals": 2
  },
  {
    "code": "SCR",
    "name": "Seychellois Rupee",
    "native": "roupie des Seychelles",
    "symbol": "SCR",
    "symbolNative": "SR",
    "numeric": "690",
    "decimals": 2
  },
  {
    "code": "SDG",
    "name": "Sudanese Pound",
    "native": "جنيه سوداني",
    "symbol": "SDG",
    "symbolNative": "ج.س.",
    "numeric": "938",
    "decimals": 2
  },
  {
    "code": "SEK",
    "name": "Swedish Krona",
    "native": "svensk krona",
    "symbol": "kr",
    "symbolNative": "kr",
    "numeric": "752",
    "decimals": 2
  },
  {
    "code": "SGD",
    "name": "Singapore Dollar",
    "native": "Singapore Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "702",
    "decimals": 2
  },
  {
    "code": "SHP",
    "name": "St. Helena Pound",
    "native": "St. Helena Pound",
    "symbol": "£",
    "symbolNative": "£",
    "numeric": "654",
    "decimals": 2
  },
  {
    "code": "SLE",
    "name": "Sierra Leonean Leone",
    "native": "Sierra Leonean Leone",
    "symbol": "SLE",
    "symbolNative": "Le",
    "numeric": "925",
    "decimals": 2
  },
  {
    "code": "SLL",
    "name": "Sierra Leonean Leone",
    "native": "Sierra Leonean Leone",
    "symbol": "SLL",
    "symbolNative": "SLL",
    "numeric": "694",
    "decimals": 2,
    "withdrawn": true
  },
  {
    "code": "SOS",
    "name": "Somali Shilling",
    "native": "Shilingka Soomaaliya",
    "symbol": "SOS",
    "symbolNative": "S",
    "numeric": "706",
    "decimals": 2
  },
  {
    "code": "SRD",
    "name": "Surinamese Dollar",
    "native": "Surinaamse dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "968",
    "decimals": 2
  },
  {
    "code": "SSP",
    "name": "South Sudanese Pound",
    "native": "South Sudanese Pound",
    "symbol": "£",
    "symbolNative": "£",
    "numeric": "728",
    "decimals": 2
  },
  {
    "code": "STN",
    "name": "São Tomé & Príncipe Dobra",
    "native": "dobra de São Tomé e Príncipe",
    "symbol": "Db",
    "symbolNative": "Db",
    "numeric": "930",
    "decimals": 2
  },
  {
    "code": "SVC",
    "name": "Salvadoran Colón",
    "native": "colón salvadoreño",
    "symbol": "SVC",
    "symbolNative": "SVC",
    "numeric": "222",
    "decimals": 2
  },
  {
    "code": "SYP",
    "name": "Syrian Pound",
    "native": "ليرة سورية",
    "symbol": "£",
    "symbolNative": "£",
    "numeric": "760",
    "decimals": 2
  },
  {
    "code": "SZL",
    "name": "Swazi Lilangeni",
    "native": "Swazi Lilangeni",
    "symbol": "SZL",
    "symbolNative": "E",
    "numeric": "748",
    "decimals": 2
  },
  {
    "code": "THB",
    "name": "Thai Baht",
    "native": "บาท",
    "symbol": "฿",
    "symbolNative": "฿",
    "numeric": "764",
    "decimals": 2
  },
  {
    "code": "TJS",
    "name": "Tajikistani Somoni",
    "native": "Сомонии Тоҷикистон",
    "symbol": "TJS",
    "symbolNative": "сом.",
    "numeric": "972",
    "decimals": 2
  },
  {
    "code": "TMT",
    "name": "Turkmenistani Manat",
    "native": "Türkmen manady",
    "symbol": "TMT",
    "symbolNative": "TMT",
    "numeric": "934",
    "decimals": 2
  },
  {
    "code": "TND",
    "name": "Tunisian Dinar",
    "native": "دينار تونسي",
    "symbol": "TND",
    "symbolNative": "د.ت.",
    "numeric": "788",
    "decimals": 3
  },
  {
    "code": "TOP",
    "name": "Tongan Paʻanga",
    "native": "Tongan Paʻanga",
    "symbol": "T$",
    "symbolNative": "T$",
    "numeric": "776",
    "decimals": 2
  },
  {
    "code": "TRY",
    "name": "Turkish Lira",
    "native": "Türk lirası",
    "symbol": "₺",
    "symbolNative": "₺",
    "numeric": "949",
    "decimals": 2
  },
  {
    "code": "TTD",
    "name": "Trinidad & Tobago Dollar",
    "native": "Trinidad & Tobago Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "780",
    "decimals": 2
  },
  {
    "code": "TWD",
    "name": "New Taiwan Dollar",
    "native": "新台幣",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "901",
    "decimals": 2
  },
  {
    "code": "TZS",
    "name": "Tanzanian Shilling",
    "native": "Shilingi ya Tanzania",
    "symbol": "TZS",
    "symbolNative": "TSh",
    "numeric": "834",
    "decimals": 2
  },
  {
    "code": "UAH",
    "name": "Ukrainian Hryvnia",
    "native": "українська гривня",
    "symbol": "₴",
    "symbolNative": "₴",
    "numeric": "980",
    "decimals": 2
  },
  {
    "code": "UGX",
    "name": "Ugandan Shilling",
    "native": "Ugandan Shilling",
    "symbol": "UGX",
    "symbolNative": "USh",
    "numeric": "800",
    "decimals": 0
  },
  {
    "code": "USD",
    "name": "US Dollar",
    "native": "US Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "840",
    "decimals": 2
  },
  {
    "code": "USN",
    "name": "US Dollar (Next day)",
    "native": "US Dollar (Next day)",
    "symbol": "USN",
    "symbolNative": "USN",
    "numeric": "997",
    "decimals": 2
  },
  {
    "code": "USS",
    "name": "US Dollar (Same day)",
    "native": "US Dollar (Same day)",
    "symbol": "USS",
    "symbolNative": "USS",
    "numeric": "998",
    "decimals": 2,
    "withdrawn": true
  },
  {
    "code": "UYI",
    "name": "Uruguayan Peso (Indexed Units)",
    "native": "peso uruguayo en unidades indexadas",
    "symbol": "UYI",
    "symbolNative": "UYI",
    "numeric": "940",
    "decimals": 0
  },
  {
    "code": "UYU",
    "name": "Uruguayan Peso",
    "native": "peso uruguayo",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "858",
    "decimals": 2
  },
  {
    "code": "UYW",
    "name": "Uruguayan Nominal Wage Index Unit",
    "native": "Uruguayan Nominal Wage Index Unit",
    "symbol": "UYW",
    "symbolNative": "UYW",
    "numeric": "927",
    "decimals": 4
  },
  {
    "code": "UZS",
    "name": "Uzbekistani Som",
    "native": "O‘zbekiston so‘mi",
    "symbol": "UZS",
    "symbolNative": "soʻm",
    "numeric": "860",
    "decimals": 2
  },
  {
    "code": "VED",
    "name": "Bolívar Soberano",
    "native": "Bolívar Soberano",
    "symbol": "VED",
    "symbolNative": "VED",
    "numeric": "926",
    "decimals": 2
  },
  {
    "code": "VES",
    "name": "Venezuelan Bolívar",
    "native": "bolívar soberano",
    "symbol": "VES",
    "symbolNative": "Bs.S",
    "numeric": "928",
    "decimals": 2
  },
  {
    "code": "VND",
    "name": "Vietnamese Dong",
    "native": "Đồng Việt Nam",
    "symbol": "₫",
    "symbolNative": "₫",
    "numeric": "704",
    "decimals": 0
  },
  {
    "code": "VUV",
    "name": "Vanuatu Vatu",
    "native": "Vanuatu Vatu",
    "symbol": "VUV",
    "symbolNative": "VUV",
    "numeric": "548",
    "decimals": 0
  },
  {
    "code": "WST",
    "name": "Samoan Tala",
    "native": "Samoan Tala",
    "symbol": "WST",
    "symbolNative": "WST",
    "numeric": "882",
    "decimals": 2
  },
  {
    "code": "XAD",
    "name": "Arab Accounting Dinar",
    "native": "Arab Accounting Dinar",
    "symbol": "XAD",
    "symbolNative": "XAD",
    "numeric": "396",
    "decimals": 2
  },
  {
    "code": "XAF",
    "name": "Central African CFA Franc",
    "native": "franc CFA (BEAC)",
    "symbol": "FCFA",
    "symbolNative": "FCFA",
    "numeric": "950",
    "decimals": 0
  },
  {
    "code": "XAG",
    "name": "Silver",
    "native": "Silver",
    "symbol": "XAG",
    "symbolNative": "XAG",
    "numeric": "961",
    "decimals": 0
  },
  {
    "code": "XAU",
    "name": "Gold",
    "native": "Gold",
    "symbol": "XAU",
    "symbolNative": "XAU",
    "numeric": "959",
    "decimals": 0
  },
  {
    "code": "XBA",
    "name": "European Composite Unit",
    "native": "European Composite Unit",
    "symbol": "XBA",
    "symbolNative": "XBA",
    "numeric": "955",
    "decimals": 0
  },
  {
    "code": "XBB",
    "name": "European Monetary Unit",
    "native": "European Monetary Unit",
    "symbol": "XBB",
    "symbolNative": "XBB",
    "numeric": "956",
    "decimals": 0
  },
  {
    "code": "XBC",
    "name": "European Unit of Account (XBC)",
    "native": "European Unit of Account (XBC)",
    "symbol": "XBC",
    "symbolNative": "XBC",
    "numeric": "957",
    "decimals": 0
  },
  {
    "code": "XBD",
    "name": "European Unit of Account (XBD)",
    "native": "European Unit of Account (XBD)",
    "symbol": "XBD",
    "symbolNative": "XBD",
    "numeric": "958",
    "decimals": 0
  },
  {
    "code": "XCD",
    "name": "East Caribbean Dollar",
    "native": "East Caribbean Dollar",
    "symbol": "$",
    "symbolNative": "$",
    "numeric": "951",
    "decimals": 2
  },
  {
    "code": "XCG",
    "name": "Caribbean guilder",
    "native": "Caribische gulden",
    "symbol": "Cg",
    "symbolNative": "Cg",
    "numeric": "532",
    "decimals": 2
  },
  {
    "code": "XDR",
    "name": "Special Drawing Rights",
    "native": "Special Drawing Rights",
    "symbol": "XDR",
    "symbolNative": "XDR",
    "numeric": "960",
    "decimals": 0
  },
  {
    "code": "XOF",
    "name": "West African CFA Franc",
    "native": "franc CFA (BCEAO)",
    "symbol": "F CFA",
    "symbolNative": "F CFA",
    "numeric": "952",
    "decimals": 0
  },
  {
    "code": "XPD",
    "name": "Palladium",
    "native": "Palladium",
    "symbol": "XPD",
    "symbolNative": "XPD",
    "numeric": "964",
    "decimals": 0
  },
  {
    "code": "XPF",
    "name": "CFP Franc",
    "native": "franc CFP",
    "symbol": "CFPF",
    "symbolNative": "FCFP",
    "numeric": "953",
    "decimals": 0
  },
  {
    "code": "XPT",
    "name": "Platinum",
    "native": "Platinum",
    "symbol": "XPT",
    "symbolNative": "XPT",
    "numeric": "962",
    "decimals": 0
  },
  {
    "code": "XSU",
    "name": "Sucre",
    "native": "Sucre",
    "symbol": "XSU",
    "symbolNative": "XSU",
    "numeric": "994",
    "decimals": 0
  },
  {
    "code": "XTS",
    "name": "Testing Currency Code",
    "native": "Testing Currency Code",
    "symbol": "XTS",
    "symbolNative": "XTS",
    "numeric": "963",
    "decimals": 0
  },
  {
    "code": "XUA",
    "name": "ADB Unit of Account",
    "native": "ADB Unit of Account",
    "symbol": "XUA",
    "symbolNative": "XUA",
    "numeric": "965",
    "decimals": 0
  },
  {
    "code": "XXX",
    "name": "Unknown Currency",
    "native": "Unknown Currency",
    "symbol": "¤",
    "symbolNative": "¤",
    "numeric": "999",
    "decimals": 0
  },
  {
    "code": "YER",
    "name": "Yemeni Rial",
    "native": "ريال يمني",
    "symbol": "YER",
    "symbolNative": "ر.ي.",
    "numeric": "886",
    "decimals": 2
  },
  {
    "code": "ZAR",
    "name": "South African Rand",
    "native": "Suid-Afrikaanse rand",
    "symbol": "R",
    "symbolNative": "R",
    "numeric": "710",
    "decimals": 2
  },
  {
    "code": "ZMW",
    "name": "Zambian Kwacha",
    "native": "Zambian Kwacha",
    "symbol": "ZK",
    "symbolNative": "ZK",
    "numeric": "967",
    "decimals": 2
  },
  {
    "code": "ZWG",
    "name": "Zimbabwean Gold",
    "native": "Zimbabwean Gold",
    "symbol": "ZWG",
    "symbolNative": "ZWG",
    "numeric": "924",
    "decimals": 2
  }
] as const

export type Currency = (typeof currencyData)[number]
export type CurrencyCode = Currency["code"]

More from flagcn

Browse all components in this library →