Sources& attribution
What we drew on, who owns it, and how to file a correction.
Conflict records
The 1,340 conflict entries in public/conflicts.json were seeded from the leads of English Wikipedia articles (CC BY-SA 4.0), then cross-checked against:
- Micheal Clodfelter, Warfare and Armed Conflicts: A Statistical Encyclopedia of Casualty and Other Figures, 1492–2015 (4th ed., McFarland).
- R.J. Rummel, Death by Government, for 20th-century democide and famine-adjacent figures.
- The Uppsala Conflict Data Program (UCDP) for post-1945 armed-conflict tracking.
- The Correlates of War (COW v4) inter-state and intra-state war series, primarily as a cross-check on 1816–2010 date boundaries and casualty totals.
- ACLED for post-1997 event-level corroboration of ongoing conflicts, especially in Africa and the post-Cold-War Middle East.
- For pre-modern Eurasia, period-specific scholarly syntheses (Bagnall & Frier on the Roman census; Twitchett & Fairbank on China; Lev & Boomgaard on Southeast Asia; Reid on early modern Southeast Asia; Thornton on West Africa) where the encyclopedic compilations are too thin.
Each conflict entry that has a Wikipedia source preserves the article URL on the record; the conflict sidebar links to it directly.
Empire summaries
The lead-paragraph summaries shown under "Overview" / "From Wikipedia" in the empire flyout come from the English Wikipedia REST summary API. Reused under CC BY-SA 4.0 with attribution preserved on every entry.
The fetcher script (scripts/fetch_wikipedia_summaries.py) sends a polite User-Agent identifying the project and its maintainer, rate-limits to a few requests per second, and caches results in public/empire-wikipedia.json. Curated editorial summaries (lib/empire-descriptions.ts) take precedence in the UI; Wikipedia content fills the gap and is always labelled as such.
Borders, polygons, geometry
The empire polygons are a deliberate mix:
- Reconstructed (solid lines): aourednik / historical-basemaps (CC BY-SA 4.0), sometimes intersected with Natural Earth modern country shapes (public domain) where the historical map didn't resolve a coastline.
- Approximate (dashed lines): Hand-constructed polygons drawn from scholarly atlases, or smooth ovals where extent is genuinely contested or undocumented at this resolution.
We treat the dashed/solid distinction as a hard editorial requirement — never restyle it away. If a polygon is dashed, don't cite the line.
Map tiles & basemap
The dark base map and tile rendering is provided by Mapbox. Geographic features (coastlines, rivers, modern administrative boundaries, place names) come from OpenStreetMap.
Required attribution: © Mapbox · © OpenStreetMap contributors (under the ODbL). The attribution control is visible in the corner of every map view.
Application code
All code in this repository is released under the MIT License. See LICENSE in the repository root for the full text and a per-dataset breakdown.
Historiography & disputed figures
The headline numbers on the map are point estimates drawn from a mainstream scholarly literature that itself disagrees, sometimes by an order of magnitude. We surface the disagreement in the per-conflict sidebar where we can; this section collects the most important debates so a reader who wants to argue with our number knows what they're arguing about.
- An Lushan Rebellion (755–763 CE). The famous “36 million dead” figure is widely quoted but comes from comparing two Tang census rolls. A substantial body of recent scholarship (Pulleyblank; Durand; more recently Lewis and Charles Holcombe) reads most of that drop as administrative collapse — registered households, not deaths. Plausible direct death tolls range from a few million to the low tens of millions.
- Mongol conquests (13th c.). Cumulative death tolls in the 20–60 million range are common in popular sources; the modern academic consensus (Morgan; May; Biran) is that the true number is real but unrecoverable, with the higher figures dependent on chronicles like Juvayni and Rashid al-Din that themselves use round numbers as a literary convention.
- Taiping Civil War (1850–64). Reported tolls run from 20 million to over 70 million. Most current scholarship (Platt; Spence; Meyer-Fong) settles on roughly 20–30 million including famine and epidemic deaths, with much of the higher spread again driven by Qing census discontinuities.
- The Columbian collapse (1492–1600). Estimates of the pre-contact population of the Americas, and the proportion killed by epidemic disease, war, and colonial labor regimes, range from ~8 million (lower bounds) to ~100 million pre-contact with 50–95 % loss. Koch et al. (2019) and the Berkeley/Stanford consensus is now in the 50–60 million pre-contact / ~90 % loss range, but the question is genuinely open and politically loaded.
- R. J. Rummel's “democide” figures. We use Rummel for 20th-century mass-violence counts, but cautiously. His maximum-likely estimates (especially for Mao-era China, the Soviet Union, and the Khmer Rouge) are widely judged to skew high by historians of those regimes, and his methodology (encyclopedia compilation, midpoint averaging) is not always auditable. Where Rummel is the headline source, the sidebar shows the range that includes lower scholarly estimates.
- The Holodomor. We list the 1932–33 Soviet famine in Ukraine separately as a mass-violence event. Recognition as a genocide is the position of Ukraine, most Western parliaments, and a growing scholarly majority (Applebaum; Snyder; Marples); it is rejected by Russia and contested by a minority of historians of the Soviet Union. The atlas adopts the genocide framing while flagging the dispute.
- Armenian Genocide, Holocaust, Rwandan Genocide. Each is named with the accepted academic and (where it exists) legal designation. State-level denial — Turkey for 1915, fringe revisionism for the Shoah — exists; the atlas does not equivocate.
Terminology choices
Naming is itself a historiographical act. A few decisions worth flagging:
- “Indian Rebellion of 1857”, not “Indian Mutiny” or “Sepoy Mutiny”. The colonial framings reduce a multi-class anti-imperial uprising to military insubordination; they were standard in British historiography until the late 20th c. and persist in older sources.
- “Yihetuan Movement (Boxer Rebellion)” uses the Chinese self-designation as primary and the foreign-press name parenthetically — the convention adopted by Cohen, Esherick, and most current sinological scholarship.
- “Byzantine Empire” is the conventional modern term, but a 16th-century coinage. The empire's inhabitants called themselves Romans (“Rhōmaîoi”); the atlas uses “Byzantine” for recognizability but the entry flags the modernism.
- Place names resolve to the modern canonical form in modern contexts (Mumbai, Kyiv, Yangon, Beijing) and to period-appropriate names where the period was named for the city (Constantinople / Konstantiniyye / Istanbul fade in and out of the map label as the centuries scroll past).
Periodization
The site uses the Western three-age scheme (Bronze Age / Classical Antiquity / Medieval / Early Modern / Modern) for era labels because our users overwhelmingly read in that vocabulary. This framing is unmistakably Eurocentric and lines up poorly with East Asian, African, and pre-Columbian American chronologies — there is no “Bronze Age” in the Mississippian world, the Chinese Tang–Song transition is not a “medieval” event, and sub-Saharan iron metallurgy predates the Mediterranean Iron Age. Per-region periodization is a planned future addition; in the meantime, treat the era ribbons as one viewing lens, not the only one.
Methodology caveats
- Casualty figures for pre-modern conflicts should be read as orders of magnitude. Many derive from primary sources (often censuses showing population loss) that conflate war deaths with famine, plague, and displacement. Where a well-cited range exists (~150 conflicts), the sidebar shows the range with source attribution rather than a single number.
- Deaths vs. displacement. Events whose defining toll is forced migration rather than killing — the Nakba, the Trail of Tears, Partition of India — keep these as separate ledgers. The casualty figure on the map dot is always a death estimate; displacement figures appear in the narrative.
- Coverage bias — concretely: of the 1,335 conflicts in the current dataset, ≈36 % are in Europe, ≈33 % in Asia, ≈20 % in the Americas, ≈9 % in Africa, and ≈2 % in Oceania. Pre-colonial sub-Saharan polities, Pacific Islander warfare, and pre-Columbian Mesoamerican and Andean conflict are all under-represented relative to a true global count. Pre-1500 records are sparser everywhere; we treat the gap as a debt, not a feature, and welcome corrections that close it.
- Importance ratings (1–5) are editorial and were originally seeded from a Eurasian-centric weighting that over-rated European wars relative to comparable conflicts elsewhere. We're actively recalibrating; if a rating looks wrong, file an issue with a specific case rather than a general complaint, since the specific cases are what we can actually correct.
- Importance ratings (1–5) are editorial. They determine visual prominence on the map and are weighted by casualties, duration, geographic scope, and downstream significance. They are not a value judgment about which lives mattered.
- Ongoing conflicts — figures for active wars (Russo-Ukrainian, Israel-Hamas, Sudan, Yemen, Myanmar, and others) are point-in-time snapshots from the dataset version shown in the About panel. They should be cross-checked against current reporting before being cited.
- Disputed borders — the modern country shapes follow Natural Earth conventions, which approximate internationally recognized borders. These choices reflect Natural Earth's convention, not endorsement of any party's claim. The disputed-territory note in the bottom right of the map enumerates the cases.
Corrections & feedback
Spotted a wrong date, an under-counted casualty figure, an empire boundary that looks off, or a war that's missing? We treat corrections as the highest-priority work.
Please file an issue on the issue tracker with:
- The conflict / empire ID (visible in the sidebar footer in mono type).
- What's wrong, and what it should be.
- A citation — primary source, peer-reviewed work, or a Wikipedia link will all do.