Currency Converter

Convert an amount between currencies using an exchange-rate table you supply. Rates chain across currencies for multi-leg conversions, each rate works both ways by default, and everything runs in your browser — no live data, no account.

Try:
Result

About the currency converter

This tool converts an amount from one currency to another using an exchange-rate table you supply — it does not fetch live rates. That makes it useful when you want to convert against a specific, known rate: the rate printed on a receipt, a rate agreed for an invoice, a historical rate, an internal accounting rate, or a crypto price you already have.

Fill in the amount, the from and to currency codes, and paste your rates, one per line. Each rate line is FROM TO RATE, meaning 1 FROM = RATE TO:

USD EUR 0.92
EUR JPY 160

With that table, converting 100 USD → EUR gives:

100 USD = 92.00 EUR
Rate: 1 USD = 0.92 EUR

Chained (multi-leg) conversions

You do not need a direct rate between every pair. If the table connects the two currencies through intermediates, the converter follows the path with the fewest legs. With the two lines above, converting 100 USD → JPY works even though there is no USD JPY line:

100 USD = 14,400.00 JPY
Rate: 1 USD = 144 JPY
Path: USD → EUR → JPY (2 legs)

When a direct rate and a longer route both exist, the direct rate wins.

Reverse rates

By default every rate is also usable in reverse (1/rate), so a single USD EUR 0.92 line converts both USD→EUR and EUR→USD. Untick Use each rate in reverse to only follow rates in the exact direction you wrote them.

Rate-table format

Everything runs locally in your browser. Your amounts and rates are never uploaded, and the tool works offline.

FAQ

Does this use live, up-to-the-minute exchange rates?

No. It converts strictly against the rate table you paste, so the result is only as current as the rates you enter. This is deliberate — it lets you convert against a specific receipt, invoice, historical, or internal rate rather than whatever a live feed happens to show.

How do I convert between two currencies with no direct rate?

Include rates that connect them through an intermediate currency. If your table has USD EUR 0.9 and EUR JPY 160, converting USD→JPY chains the two automatically and reports the path used (USD → EUR → JPY). It always takes the route with the fewest legs.

What does the "reverse rate" option do?

When it is on (the default), each rate line also works backwards using 1/rate, so one USD EUR 0.92 line handles both directions. Turn it off if your rates are directional (for example a buy rate that should not be inverted into a sell rate).

Can I convert cryptocurrencies?

Yes. Currency codes are just 2–10 letter/digit tokens, so BTC, ETH, or any ticker works exactly like USD or EUR. Increase the decimal places for small crypto amounts.

Why is my conversion failing?

The two most common causes are a rate line that is not in FROM TO RATE form (each line needs exactly two codes and one positive number) and no path connecting the two currencies in your table. The error message points at the offending line or the missing link.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool currency-converter 'amount=100'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/currency-converter/?amount=100&from=USD&to=EUR&rates=USD%20EUR%200.92%0AEUR%20JPY%20160&bidirectional=true&precision=2

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.