Germany, Still Becoming
HOW
GERMANY
RAN TOGETHER
Germany’s present-day regions have belonged to many different states. Follow them through duchies, electorates, kingdoms and occupation zones to see how repeated divisions and reunions led to the sixteen Länder.
Time falls. Width is conserved. Names change.Twelve openings, one changing river
The chart traces 26 fixed endpoint contributions through 12 historical stages. Hover or click any stream; use the width control to ask a different question of the same topology.
The structure carries the argument.
Some of the most important movements cannot share this width scale.
The main river traces land within Germany’s 1990 borders. The notes beside it describe territories that joined or left earlier political formations, including places outside that modern boundary.
excluded from the Prussian-led national unification. The Confederation included only parts of the Habsburg Empire, so modern Austria is not a defensible numeric substitute.
Use a substantial but unscaled dashed branch labeled 'Austria excluded'; avoid using modern Austria as the width.annexed as Reichsland Elsaß-Lothringen. Area and 1910 population refer to the Reichsland, not to modern administrative regions.
Area-scaled external branch is defensible; population is contemporaneous but should not be mixed with 2022 core population widths.territorial loss under the postwar settlement. Included inside the aggregate Versailles-loss row X09; do not sum both.
Use the same width as X07 to create a visible enter-and-exit loop.aggregate territorial loss. Includes Alsace-Lorraine and the other European losses. 69,930 km² is the conversion of 27,000 square miles and therefore a lower bound.
Use as one aggregate area-scaled exit, or decompose it—but not both. The source says 'more than' 27,000 square miles.placed under Polish administration after the war. The cited 103,000 km² includes the German eastern territories beyond the Oder/Lausatian Neisse, southern East Prussia, and Danzig.
Use an area-scaled exit. Do not treat it as a share of the 2022 German economy or population.A modern endpoint carried backward—carefully
Each core endpoint atom carries a fixed share of Germany's official 2022 area, population, and nominal GDP through every historical stage. The balanced metric is the arithmetic mean of those three percentage shares and therefore remains additive and mass-conserving.
Core widths show how much of modern Germany's endpoint passes through a historical node. They are not estimates of that node's historical population, economy, or total territorial extent.
To make this long history readable, the diagram groups hundreds of imperial jurisdictions into regional streams. The source notes explain those groupings and the external territories shown alongside them.
Vertical is a layout orientation, not a rotated screenshot
The same conserved layout drives either direction. Vertical orientation projects bands, ribbons, particles, lifecycle rails, labels, hit geometry, and the time axis together.
import { ProcessSankey } from "semiotic" // Docs demos use layoutExecution="sync" for deterministic first paint. // Production apps should use "auto" (default) so large graphs can use a worker. <ProcessSankey nodes={historicalContainers} edges={massConservingTransitions} domain={[-0.18, 11.18]} axisTicks={historicalStages} nodeLabel="shortLabel" colorBy="lineageFamily" {...historyRiverDefaults} /> // Each transition totals 100%. Width follows a fixed contribution // from the 2022 German endpoint, not the historical state's size.