Where the rates come from
The upstream source is the European Central Bank, which publishes one set of euro reference rates per TARGET business day. We read that series through Frankfurter, an open API that republishes the ECB data without modification. We do not blend feeds, add a spread of our own, or substitute an estimated rate when the feed is unavailable.
Reference-rate timing
The ECB collects quotes at around 14:10 CET on each business day and publishes shortly after 16:00 CET. There is exactly one value per currency per business day, so this is a daily reference-rate product, not an intraday market feed. On weekends and eurozone holidays, the most recent business day's publication is the latest rate that exists — and that is what we show, labelled with its reference date.
Base and cross-rate calculation
The ECB series is quoted against the euro. For a pair without EUR we cross through the shared euro leg: rate(A → B) = ECB(EUR → B) ÷ ECB(EUR → A). Both legs come from the same publication, so a cross rate always belongs to a single reference date, and A → B and B → A are exact reciprocals rather than two independently rounded numbers.
Rounding and display precision
- Exchange rates keep significant figures instead of fixed decimals, so a rate below 0.1 shows as 0.030344 rather than 0.03.
- Converted amounts use the target currency's minor units — two decimals for most, none for JPY, KRW and ISK.
- Very small results gain extra decimals instead of collapsing to 0.00.
- Very large results drop minor units and switch to exponential notation past the range where every integer is representable.
- All rounding is display-only: conversions are computed at full precision and rounded once, at the end.
Caching and freshness
The first paint shows a rate captured when this version of the site was built, stamped with its ECB reference date so a crawler without JavaScript sees exactly which publication it belongs to. A snapshot older than seven business days is discarded at build time rather than published. Once interactive, the converter fetches the current publication directly and replaces the snapshot; responses are cached in the browser for ten minutes, far shorter than the once-a-day publication interval.
Stale data and failure behaviour
If the feed cannot be reached, the converter says so. It never falls back to a hardcoded table, an estimate, or a previous build's number presented as current.
Reference rate vs the rate you will actually get
An ECB reference rate is a mid-market benchmark: the midpoint between the buying and selling prices quoted between large institutions. It is not a price you can transact at. Banks, card issuers, remittance firms and bureaux all quote a customer rate that differs from it, because that difference is how the service is paid for.
We deliberately do not publish typical markup percentages by provider type — we have no independently verified measurement of them. Measure your own instead: markup % = (reference rate ÷ quoted rate − 1) × 100. Compare that against the reference rate here for the same day and you have the real cost, including any spread hidden inside a zero-commission offer.
Scope
The site covers 30 currencies: the euro plus the 29 currencies of the ECB daily reference publication that we support, including the US dollar. Pairs outside that set are not offered. SnapExchangeRates is an information service — we do not exchange money, hold funds or broker transfers.