This visualisation shows global arms transfers from 1950–2025. Pick any set of supplier countries and watch coloured dots flow along arcs from each supplier to its recipients, year by year. Each dot represents a slice of the transfer's value (TIV); when a dot reaches a recipient, that country briefly lights up.
Heavily inspired by this video by Will Geary (@wgeary) — vimeo.com/286751571.
The dataset is from SIPRI, the Stockholm International Peace Research Institute — sipri.org/databases/armstransfers (SIPRI Arms Transfers Database, doi.org/10.55163/SAFC1241). The SVG world map is from amCharts.
Found a bug or have a suggestion? Open an issue on the GitHub repo.
Removed: deals with unknown supplier/recipient, multi-seller deals without specification, and deals involving the UN, NATO, RSSS, OSCE & the African Union.
Consolidated sub-state groups and historical entities into present-day countries (e.g. Soviet Union → Russia, Viet Cong / Viet Minh → Vietnam, UNITA → Angola).
This version was substantially reworked with the help of AI-tools, The original 2017 version is preserved, unchanged, on the Original branch.
Dataset updated to 1950–2025 — re-fetched and rebuilt from SIPRI's per-year trade registers (was 1950–2017), with new consolidations: modern spellings and historical entities (e.g. Turkiye → Turkey, Czechia → Czech Republic, unified Germany → Germany (FRG)) and additional non-state / faction groups folded into their host country (e.g. PLO / Hamas → Palestine, RSF / SPLA → Sudan, Houthi rebels → Yemen).
Frontend ported to WebGL — the dots now render on the GPU (replacing the original Canvas2D + jQuery + Spectrum stack), with a full-screen responsive map and a draggable timeline.