Getting your spreadsheet to match the map
The layout is the one your sheet already has: one row per country, one column per period, with the period names across the top. Paste it straight from Excel, Google Sheets or Numbers — tab, comma and semicolon separated data are all detected.
The part that actually goes wrong is naming. Sheets say “USA”, “U.S.A.”, “United States” and “US” for the same country, and a strict match would silently drop three rows and leave you wondering why North America is blank. Names are normalised for case and spacing, an alias table covers the usual suspects — UK, USA, Russia, South Korea, Czechia, UAE, DRC, Türkiye, Ivory Coast, Burma — and anything still unmatched is listed on screen rather than quietly discarded.
If a row will not match, use the two-letter ISO code: US, GB, DE, BR, IN. Those are unambiguous and always work. Blank cells inherit the previous period’s value, which suits a slow-moving indicator; type a zero where a genuine zero belongs.
How it is drawn
The basemap is bundled Natural Earth vector data — public domain, no attribution required — so there is no tile server, no API key and no request leaving your browser. That is the practical reason this is usable with internal figures: revenue by market or headcount by country never goes anywhere.
Country outlines are held as paths in projected space and filled per frame, so a full world redraw is cheap enough to animate at 30 fps. A coarse outline loads first so the map appears immediately, and a finer one is fetched in the background and swapped in — which is why the borders sharpen a moment after the page settles.
Between periods the values are interpolated with an ease-in-out curve and the colour is interpolated through the scale, so a country moves smoothly through the ramp instead of stepping. Recording captures the canvas in real time, so a 12-second animation takes 12 seconds and the tab needs to stay visible while it runs.