Free tools
Multi-currency net worth calculator and currency risk analyzer
Add your assets and liabilities in any currency. See your real net worth in your chosen currency with live ECB rates, then check how much of it sits in currencies you don’t actually spend in. Everything runs in your browser. Nothing is sent to a server. Supports USD, EUR, GBP, INR, JPY, and 24 more.
Your assets & liabilities
0 itemsAdd at least one asset to see your currency concentration.
This calculator shows mathematical concentrations of your net positions across currencies, using ECB reference rates that may differ from rates available at your bank or broker. It does not account for your future spending plans, tax residency, hedging strategies, or risk tolerance, and it is not financial advice. For personalized advice, consult a licensed financial advisor.
How the calculation works
For each currency, we net your assets and liabilities, then convert the result to your functional currency using live exchange rates. Sum those converted positions and you have your total net worth in one currency. Each currency’s share of that total is your concentration:
Concentration % = (Net in currency X × Rate to functional) / Total net worth × 100
- Net position per currency = sum of assets minus sum of liabilities in that currency. A negative net means you owe more than you hold in that currency.
- Rate to functional is the multiplier that converts one unit of currency X into your functional currency, sourced live from the European Central Bank via the Frankfurter API and fetched directly by your browser. Rates update daily on business days. ECB reference rates are benchmarks and may differ from the rates your bank or broker actually offers.
- Concentration bands apply only to non-functional currencies (currencies you don't spend in). Under 20% is low, 20-40% is moderate, and over 40% is elevated. They describe how big a share of net worth sits in that currency, not what to do about it. Your functional currency is never flagged.
- Net vs. gross exposure. Concentration is computed on net positions. If you have a large foreign-currency debt that offsets a foreign-currency asset (for example a USD mortgage and a USD savings account), the net position is small but your gross FX exposure on each side is much larger. This tool measures the net; consider the gross figures separately when sizing real-world exchange-rate risk.
- All computation is client-side. Your asset names,
values, and totals never leave your browser. The only network
request is a one-time exchange rate fetch from Frankfurter, which
carries your functional currency code (e.g.
?from=EUR) and nothing about your assets.
Frequently asked questions
How does the multi-currency net worth calculator work?
You add your assets and liabilities with their currency and current value. The tool fetches live ECB reference exchange rates (via the free Frankfurter API), converts everything to your chosen functional currency, and shows your total net worth as a single number. Below that, it shows your currency concentration as a donut chart and flags any non-functional currency where you have elevated exposure.
What is currency concentration risk?
If a large portion of your net worth is in a currency you don't spend in, a swing in the exchange rate changes your real purchasing power. For example, if you plan to retire in Europe but hold 70% of your wealth in USD, a 10% move in USD/EUR (a magnitude EUR/USD has seen in many calendar years) would shift your retirement fund by roughly 7% measured in euros.
Does this send my financial data anywhere?
No. Everything runs in your browser. Your asset names, values, and currencies are never sent to any server. The only external request is to the Frankfurter API to fetch exchange rates, and that request only includes your functional currency code, not your asset data. Shareable links encode your data into the URL, and you control whether to share.
Which currencies are supported?
Twenty-nine currencies are supported, including the Euro (EUR), US Dollar (USD), British Pound (GBP), Swiss Franc (CHF), Japanese Yen (JPY), Indian Rupee (INR), Chinese Yuan (CNY), Canadian Dollar (CAD), Australian Dollar (AUD), Singapore Dollar (SGD), and the Nordic, Central European, Latin American, and South-East Asian majors. Exchange rates are fetched from the ECB via Frankfurter, which are reference rates and may differ from the rates available to retail customers at their bank.
What's the difference between the "Full" and "Redacted" share modes?
Full mode includes all your asset names, values, currencies, and types in the URL: anyone with the link can see your full breakdown and verify the math. Redacted mode includes only the per-currency concentration percentages and the band labels: no amounts, no asset names. Both are copied to your clipboard as a single link, and you choose which to send.
How are exchange rates sourced?
Rates come from the European Central Bank via the free Frankfurter API (frankfurter.app). They are reference rates updated daily on ECB business days, intended as benchmarks rather than transactable quotes. The rates you actually receive at your bank or broker include a spread and may be materially different, especially for smaller currencies. No API key is required, and the request is made directly from your browser.
What does "functional currency" mean?
Your functional currency is the currency you primarily spend and live in. It's the one your bills, rent, and groceries are priced in. We exclude it from risk flagging because having most of your wealth in your spending currency is normal and desirable.
What do "low", "moderate", and "elevated" mean?
They are descriptive bands for non-functional currencies: under 20% of net worth is "low", 20-40% is "moderate", and over 40% is "elevated". They describe concentration size, not what you should do about it. Whether a given level fits your situation depends on your future spending plans, where you intend to retire, and how you choose to balance currency risk with other goals.
Can I include debts and liabilities?
Yes. Each row has an Asset/Liability toggle. Liability amounts are subtracted from that currency's net position. If you have a USD mortgage alongside USD savings, the tool shows your net USD exposure. A currency where you owe more than you hold gets flagged as "Net debt."
How does the CSV upload work?
Create a CSV file with columns: name (optional), value (required), currency (required, 3-letter code), type (optional, "asset" or "liability", defaults to asset). Click "Upload CSV", pick the file, and the rows populate automatically. Any invalid rows are listed with line numbers so you can fix them. Uploading replaces existing data after a confirmation prompt.