US taxpayers reporting foreign income convert amounts to dollars, and the IRS publishes a yearly average exchange rate table for that. Two things about that table are less known: the IRS states it has no official exchange rate and generally accepts "any posted exchange rate that is used consistently", and the table covers a fixed list of currencies and years. Both facts matter the moment your currency or year is missing. This guide recomputes the IRS averages from daily data so you can see the method, then shows how to produce the same average for any of our supported currencies and any year back to 1999.
- The IRS accepts "any posted exchange rate that is used consistently" and states it has no official exchange rate.
- Its yearly average table is quoted as foreign currency units per 1 USD, to convert foreign income to dollars, divide by the average.
- Averaging our daily USD-base series over 2025 reproduces the IRS table within roughly a tenth of a percent: EUR 0.887 vs 0.886, GBP 0.759 vs 0.759, JPY 149.655 vs 149.632, CAD 1.398 vs 1.398.
- The same one-line computation works for any supported currency and year, back to 1999 for many currencies, including ones the IRS table does not carry.
- Rates are indicative and this is not tax advice; pick one posted source and use it consistently.
What the IRS actually requires
The rule is looser than most people expect. Per the IRS yearly average currency exchange rates page: "Generally, it accepts any posted exchange rate that is used consistently", and the same page states the IRS has no official exchange rate of its own. The published table is a convenience, not a mandate. The direction convention matters: the table lists foreign currency units per 1 US dollar, so you divide a foreign amount by the yearly average to get dollars.
The 2025 table, recomputed from daily data
A yearly average should be reproducible: take every daily observation for the year, average them. Here is the IRS 2025 figure next to the arithmetic mean of our own daily USD-base series (ECB business-day fixes plus live-source dailies) for the same year:
| Currency | IRS 2025 average | Recomputed from daily data |
|---|---|---|
| Euro (EUR) | 0.886 | 0.887 |
| UK Pound (GBP) | 0.759 | 0.759 |
| Japanese Yen (JPY) | 149.632 | 149.655 |
| Canadian Dollar (CAD) | 1.398 | 1.398 |
| Australian Dollar (AUD) | 1.551 | 1.552 |
| Swiss Franc (CHF) | 0.831 | 0.831 |
| Indian Rupee (INR) | 87.133 | 87.166 |
| Mexican Peso (MXN) | 19.212 | 19.213 |
Every row lands within about a tenth of a percent. The residual comes from calendar choices, which days count, and how holidays are handled, not from different market data. The point of the exercise: the IRS average is an ordinary average of daily rates, and you can produce one yourself for anything the table leaves out.
Two currencies we carry that the IRS 2025 table does not list: the Philippine Peso and the Indonesian Rupiah. Computed the same way for the 2025 full year: PHP 57.509 and IDR 16,478.44, each foreign units per 1 USD, divide to convert.
Compute it for any currency and any year
Fetch daily rates from the range endpoint and average them with jq. This full-year example needs a Plus or Pro API key:
curl -s "https://api.exchangerate.dev/v1/range?base=USD&symbols=EUR&start_date=2025-01-01&end_date=2025-12-31" \ -H "Authorization: Bearer YOUR_API_KEY" \ | jq '[.data[].rates.EUR] | add/length'# 0.8867047450980384 <- foreign units per 1 USD; divide income by thisSwap the symbol and the dates for any other currency or year; daily history runs back to 1999 for many currencies on Plus and Pro. For a mid-year arrival or departure (a partial tax year), change the date range and the same expression yields a partial-period average. Every response carries `source` and `market_session` so you can state exactly what kind of observations your average was built from; a stronger consistency story than a screenshot of a table.
This article describes how published exchange-rate averages are computed and reproduced. It is not tax, legal, or financial advice, and exchangerate.dev rates are indicative, published for reference and analytics, not an official or settlement rate. Rules differ for specific transactions (property sales, foreign tax credits, functional-currency elections). For anything beyond straightforward income conversion, ask a tax professional.