IRS yearly average exchange rates, recomputed from daily data
The IRS has no official exchange rate — it accepts any posted rate used consistently. We recomputed its 2025 yearly average table from daily data and matched it within a tenth of a percent, then computed two currencies the table stops short of.
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.
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/FRED business-day fixes plus live-source dailies) for the same year:
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
One request to the historical range endpoint returns the daily series; one jq expression averages it. No API key needed to try it:
Swap the symbol and the dates for any other currency or year — daily history runs back to 1999 on every tier, including Free. 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.