Developer Tools
Stripe Amount Converter
Convert any currency amount to the smallest unit (cents) Stripe and other payment APIs require. ISO 4217 decimal rules, Stripe overrides, copy snippets.
Pick the ISO 4217 currency you are charging in. The decimal places for the smallest unit will update automatically.
840Decimals2Decimal mode
Stripe diverges from ISO 4217 for HUF, ISK, and TWD. Pick which ruleset to follow.
Type the price as your users see it. Commas, dots, and spaces are all accepted as separators.
Result
Smallest unit (USD integer)
1999
Display preview
$19.99
Formatted with Intl.NumberFormat using your locale.
Ready-to-paste snippets
The smallest-unit integer above, dropped into the most common payment API patterns.
Stripe Node.js
// Stripe Node.js (Payment Intents)
const paymentIntent = await stripe.paymentIntents.create({
amount: 1999, // USD in smallest unit
currency: "usd",
});Stripe Python
# Stripe Python (Payment Intents)
payment_intent = stripe.PaymentIntent.create(
amount=1999, # USD in smallest unit
currency="usd",
)cURL
curl https://api.stripe.com/v1/payment_intents \ -u "sk_test_...:" \ -d amount=1999 \ -d currency=usd
Format display in JS
// Format USD in the user's locale
new Intl.NumberFormat(undefined, {
style: "currency",
currency: "USD",
minimumFractionDigits: 2,
maximumFractionDigits: 2,
}).format(19.99);Currency reference
The selected currency expanded with side-by-side ISO 4217 and Stripe decimal rules.
Alpha-3
USD
Numeric
840
Symbol
$
Name
US Dollar
ISO 4217 decimals
2
Stripe decimals
2
Smallest unit name
cent
1.00 unit
1.00
How to use
- Pick a currency from the dropdown or tap one of the Quick pick buttons. The header shows the ISO 4217 numeric code and the effective decimal places for the selected mode.
- Choose a Decimal mode: Stripe applies Stripe's documented overrides (HUF, ISK, TWD as zero-decimal; 3-decimal currencies rounded to the nearest 10). ISO 4217 follows the textbook spec instead.
- Pick a direction: Amount to smallest unit if you have a display price and need an integer, or Smallest unit to amount if you have an integer from a Stripe API payload and need a human-readable price.
- Type the value into the input. Commas, dots, spaces, and underscores are all accepted as grouping separators; the decimal point can be either dot or comma.
- Read the result: the smallest-unit integer (with rounding notes when applicable) and the locale-formatted display preview. Click Copy on any output, or grab a ready-to-paste snippet for Stripe Node, Stripe Python, cURL, or Intl.NumberFormat.
About this tool
Stripe Amount Converter takes the everyday integration question and answers it precisely: how many cents (or pence, or paise, or fils, or yen) do you pass to a payment API when the customer sees a price of, say, 19.99 in their currency? Pick a currency from the full ISO 4217 list, type a display amount in your own format (commas, dots, spaces, and underscores are all accepted as separators, and either dot or comma can be the decimal point), and the converter returns the integer count of the smallest currency unit that Stripe, PayPal, Braintree, Square, Adyen, Razorpay, Mollie, and similar processors expect. The reverse direction is also one click away: paste an integer like 1999 and read back 19.99 USD with locale-aware Intl.NumberFormat output. All arithmetic uses native BigInt, so very large amounts stay exact and you never lose precision to floating point rounding. Two decimal-rule modes are available because Stripe diverges from ISO 4217 for a handful of currencies. ISO 4217 mode follows the textbook spec: 0 decimals for JPY, KRW, ISK, VND, RWF, XAF, XOF, and the other zero-decimal currencies, 2 decimals for most of the world, and 3 decimals for BHD, JOD, KWD, OMR, TND, IQD, and LYD. Stripe mode applies Stripe's published overrides on top of that: HUF (Hungarian Forint), ISK (Icelandic Krona), and TWD (Taiwan New Dollar) are treated as zero-decimal in line with local practice; and for the 3-decimal Gulf currencies the smallest-unit integer is rounded to the nearest 10 because Stripe requires the last digit to be 0. The result panel shows the raw smallest-unit count, the API-safe rounded count when rounding applies, and a locale-formatted preview. A snippet panel below emits ready-to-paste code for stripe.paymentIntents.create in Node.js, stripe.PaymentIntent.create in Python, a cURL command against the Stripe API, and a JavaScript Intl.NumberFormat call for displaying the amount back to the user. A reference card shows the currency's alpha-3 code, ISO 4217 numeric code, symbol, official name, ISO and Stripe decimal rules side by side, and the common English name for the smallest unit (cent, penny, paise, fils, kuruş, øre, etc). Diagnostics surface when a typed value has more decimals than the currency supports, when rounding was applied for a 3-decimal currency, when Stripe's rule diverges from ISO 4217, and when a currency is not listed as a Stripe settlement currency. The currency table and conversion run entirely in your browser, so the amounts you type here never leave your device.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
Currency Code Lookup
Search ISO 4217 alpha-3 codes, numeric codes, symbols, and decimals.
Open tool
DeveloperStripe Webhook Signature Verifier
Parse the Stripe-Signature header and verify v1 HMAC plus replay tolerance.
Open tool
ConverterCurrency to Words Converter
Write any amount as currency words for checks, invoices, and contracts.
Open tool
ConverterNumber Formatter
Format numbers with commas, locale grouping, accounting parens, scientific, compact, and custom rules.
Open tool
CalculatorPayment Fee Calculator
Compute processor fees and net payouts for Stripe, PayPal, Square, and more.
Open tool