About this map
Russia annexed Crimea in 2014 and occupied part of Donbas. On 24 February 2022 it launched a full-scale invasion. Ukraine pushed it back from Kyiv, Kharkiv oblast and Kherson in 2022. Since then the front has moved slowly, with Ukraine's Kursk incursion of 2024–25 as the one move into Russia. Light red is Russian-occupied Ukraine and light blue is Ukrainian-held Russia. Small dots are strikes. Sources: VIINA (Zhukov, ODbL) for control 2022 to mid-2024; DeepStateMap via cyterat/deepstate-map-data from July 2024; a schematic Kursk outline from reported village control; Wikipedia for events. The borders are simplified.
Text version: https://www.movingpolygons.com/map/chrisjager/russias-war-on-ukraine-20142026-who-holds-what.md
Timeline
| Date | What the map shows |
|---|---|
| 20 Feb 2014 | Feb 2014 · Maidan; Ukraine within its borders |
| 18 Mar 2014 | Mar 2014 · Russia annexes Crimea |
| 1 Jun 2014 | Jun 2014 · Separatists hold Sloviansk and Donetsk |
| 17 Aug 2014 | Aug 2014 · Ukraine's offensive at its peak |
| 1 Sep 2014 | Sep 2014 · Russian troops win at Ilovaisk |
| 20 Sep 2014 | Sep 2014 · Minsk I: a first line of contact |
| 22 Jan 2015 | Jan 2015 · Donetsk airport falls |
| 18 Feb 2015 | Feb 2015 · Debaltseve falls; Minsk II line |
| 23 Feb 2022 | Feb 2022 · Eve of the full-scale invasion |
| 25 Feb 2022 | 24 Feb 2022 · Russia invades on four fronts |
| 1 Mar 2022 | Mar 2022 · Kherson falls; Kyiv threatened |
| 7 Mar 2022 | Mar 2022 · Mariupol encircled |
| 14 Mar 2022 | Mar 2022 · Chernihiv and Sumy cut off |
| 24 Mar 2022 | Mar 2022 · Furthest Russian advance |
| 1 Apr 2022 | Apr 2022 · Russia retreats from Kyiv |
| 8 Apr 2022 | Apr 2022 · The north is liberated |
| 20 May 2022 | May 2022 · Mariupol falls |
| 3 Jul 2022 | Jul 2022 · Luhansk oblast taken |
| 5 Sep 2022 | Sep 2022 · Kharkiv counteroffensive begins |
| 9 Sep 2022 | Sep 2022 · Balakliia liberated |
| 13 Sep 2022 | Sep 2022 · Izium and Kupiansk liberated |
| 3 Oct 2022 | Oct 2022 · Lyman liberated |
| 13 Nov 2022 | Nov 2022 · Kherson liberated |
| 16 Jan 2023 | Jan 2023 · Soledar falls |
| 21 May 2023 | May 2023 · Bakhmut falls |
| 28 Aug 2023 | Aug 2023 · Robotyne: counteroffensive peak |
| 18 Feb 2024 | Feb 2024 · Avdiivka falls |
| 20 May 2024 | May 2024 · Russian push across Kharkiv border |
| 8 Jul 2024 | Jul 2024 · Russia grinds toward Pokrovsk |
| 7 Aug 2024 | Aug 2024 · Ukraine strikes into Kursk |
| 13 Aug 2024 | Aug 2024 · Sudzha taken |
| 20 Aug 2024 | Aug 2024 · Ukraine holds ~1,000 km² of Kursk |
| 15 Sep 2024 | Sep 2024 · Russian counterattack in Kursk |
| 2 Oct 2024 | Oct 2024 · Vuhledar falls |
| 15 Nov 2024 | Nov 2024 · North Korean troops in Kursk |
| 6 Jan 2025 | Jan 2025 · Kurakhove falls |
| 15 Feb 2025 | Feb 2025 · Kursk salient shrinks |
| 8 Mar 2025 | Mar 2025 · Kursk pocket collapses |
| 13 Mar 2025 | Mar 2025 · Russia retakes Sudzha |
| 26 Apr 2025 | Apr 2025 · Kursk incursion ends |
| 15 Jun 2025 | Jun 2025 · Russia enters Dnipropetrovsk oblast |
| 15 Aug 2025 | Aug 2025 · Alaska summit; no ceasefire |
| 25 Oct 2025 | Oct 2025 · Pokrovsk and Kostiantynivka assaulted |
| 23 Dec 2025 | Dec 2025 · Siversk falls |
| 12 Jan 2026 | Jan 2026 · Ukraine clears Kupiansk |
| 10 Feb 2026 | Feb 2026 · Huliaipole falls |
| 25 Feb 2026 | Feb 2026 · Pokrovsk and Myrnohrad fall |
| 10 Mar 2026 | Mar 2026 · Ukrainian counteroffensive in the south |
| 15 May 2026 | May 2026 · Truce and 1,000-for-1,000 swap |
| 21 Jul 2026 | Jul 2026 · Battle for Kostiantynivka |
| 28 Sep 2026 | Sep 2026 · Ukrainian gains near Lyman |
| 7 Oct 2026 | Oct 2026 · The front today |
Layers
Russia · Ukraine · Russian-occupied Ukraine · Ukrainian-held Russia (Kursk incursion)
Events
- 18 Feb 2014, Euromaidan shootings in Kyiv: Snipers and police kill about 100 protesters in the Revolution of Dignity's deadliest days; Yanukovych flees on 22 Feb.
- 27 Feb 2014, Russia seizes Crimea: Unmarked Russian troops take the Crimean parliament and key sites in Simferopol, starting the occupation of the peninsula.
- 16 Mar 2014, Crimea 'referendum' and annexation: Sham referendum held 16 March under occupation; Russia formally annexes Crimea on 18 March. Not recognised internationally.
- 12 Apr 2014, Sloviansk seized by Girkin's militants: Russian-led armed group takes Sloviansk, opening the war in Donbas; Ukraine retakes it on 5 July 2014.
- 11 May 2014, Donetsk and Luhansk 'referendums': Separatist-run votes on 11 May declare 'people's republics'; not recognised by Ukraine or the West.
- 26 May 2014, Battle of Donetsk Airport: Months-long fight for the airport; Ukrainian 'cyborg' defenders hold until the terminal collapses in January 2015.
- 17 Jul 2014, MH17 shot down over Donbas: Malaysia Airlines flight MH17 is downed by a Russian-supplied Buk missile near Hrabove, killing 298.
- 7 Aug 2014, Battle of Ilovaisk: Ukrainian volunteer battalions encircled after Russian regular troops intervene; heavy losses in the retreat corridor on 29 Aug.
- 22 Jan 2015, Battle of Debaltseve: Russian-backed forces encircle and capture the Debaltseve salient despite the Minsk II ceasefire.
- 12 Feb 2015, Minsk II agreement: Ceasefire and political roadmap signed by Ukraine, Russia, DNR/LNR in Minsk; never fully implemented.
- 24 Feb 2022, Siege of Mariupol: Russia besieges Mariupol; the Azovstal steelworks defenders are evacuated on 16-20 May, ending the siege.
- 24 Feb 2022, Battle of Kyiv: Russian advance on Kyiv from the north is stalled and defeated; Russia withdraws from the Kyiv region by 2 April.
- 24 Feb 2022, Battle of Hostomel Airport: Russian VDV airborne assault on the airport is beaten back on 24-25 Feb, derailing the plan to take Kyiv by coup de main.
- 24 Feb 2022, Full-scale invasion begins: Russia launches a multi-front invasion of Ukraine from Russia, Belarus and Crimea.
- 2 Mar 2022, Kherson captured: First major city to fall: Russian forces take Kherson in early March 2022.
- 4 Mar 2022, Zaporizhzhia Nuclear Plant seized: Russian troops take Europe's largest nuclear plant at Enerhodar after shelling and a fire at a reactor building.
- 29 Mar 2022, Istanbul peace talks: Ukraine and Russia hold direct talks in Istanbul; Ukraine proposes neutrality with guarantees. Talks collapse after Bucha.
- 2 Apr 2022, Bucha liberated, massacre revealed: Russian withdrawal from Kyiv Oblast exposes mass killings of civilians in Bucha.
- 8 Apr 2022, Kramatorsk station missile strike: Russian Tochka-U missile hits evacuees at Kramatorsk railway station, killing about 60.
- 6 May 2022, Battle of Sievierodonetsk: Russia takes Sievierodonetsk after weeks of street fighting; Lysychansk falls on 3 July, completing the Luhansk Oblast conquest.
- 30 Jun 2022, Snake Island recaptured: Russian garrison withdraws from Snake Island after Ukrainian strikes, easing pressure on Odesa.
- 1 Aug 2022, Battle of Bakhmut: Longest and bloodiest battle of the war; Wagner Group takes the ruined city, Russia declares it captured on 20 May 2023.
- 29 Aug 2022, Kherson counteroffensive: Ukraine pushes across the Dnipro's west bank; Russia withdraws from Kherson city on 11 Nov.
- 6 Sep 2022, Kharkiv counteroffensive: Surprise offensive retakes Balakliia, Izium, Kupiansk and over 500 settlements in days.
- 23 Sep 2022, Annexation 'referendums': Sham votes in occupied Donetsk, Luhansk, Kherson and Zaporizhzhia, 23-27 Sept; Putin signs annexation treaties on 30 Sept.
- 1 Oct 2022, Lyman liberated: Ukrainian forces retake Lyman after encircling it, a major gain on the eastern front.
- 8 Oct 2022, Crimean Bridge explosion: Truck bomb damages the Kerch Strait bridge; Russia answers with mass missile strikes on Ukrainian cities from 10 Oct.
- 11 Nov 2022, Kherson city liberated: Ukrainian troops enter Kherson after Russia withdraws from the Dnipro's west bank.
- 4 Jun 2023, Ukrainian counteroffensive in Zaporizhzhia: 2023 summer offensive; Ukraine retakes Robotyne on 28 Aug but fails to break the Surovikin Line.
- 6 Jun 2023, Kakhovka dam destroyed: The Kakhovka dam is breached, flooding the lower Dnipro; Ukraine blames Russia.
- 23 Jun 2023, Wagner mutiny: Prigozhin's Wagner Group seizes Rostov-on-Don and marches toward Moscow before standing down on 24 June.
- 10 Oct 2023, Fall of Avdiivka: Russia takes Avdiivka after a four-month assault; Ukraine withdraws on 17 Feb 2024.
- 10 May 2024, Kharkiv offensive: Russia opens a new northern front and takes Vovchansk after a months-long fight.
- 19 Jul 2024, Pokrovsk offensive: Russian drive on Pokrovsk and Myrnohrad begins after Prohres falls; ISW confirms Russian control of Pokrovsk on 25 Feb 2026.
- 6 Aug 2024, Kursk incursion: Ukrainian forces cross into Russia's Kursk Oblast on 6 Aug 2024 and take Sudzha; Russia declares the oblast cleared on 26 Apr 2025.
- 1 Oct 2024, Vuhledar captured: Russia takes Vuhledar after a two-year fight, as Ukraine withdraws on 1 Oct 2024.
- 21 Nov 2024, Oreshnik missile strike on Dnipro: Russia fires its experimental intermediate-range Oreshnik missile at Dnipro.
- 6 Jan 2025, Kurakhove captured: Russia takes Kurakhove, opening the way toward Velykomykhailivka and the Dnipropetrovsk border.
- 12 Mar 2025, Ukraine leaves Sudzha: Russia retakes Sudzha and most of the Kursk salient in March 2025; Moscow declares Kursk 'liberated' on 26 April.
- 13 Apr 2025, Sumy missile strike on Palm Sunday: Two Russian Iskander missiles hit central Sumy, killing 35 civilians.
- 16 May 2025, Istanbul direct talks: Russia and Ukraine hold the first direct talks in three years; prisoner exchanges agreed, no ceasefire.
- 25 Oct 2025, Battle of Kostiantynivka: Russia assaults the southern gate of the Donbas fortress belt from 25 Oct 2025. Contested city; Russia claimed capture on 3 July 2026, Ukraine denied it.
- 26 Oct 2025, Battle of Kupiansk: Russia claims Kupiansk on 20 Nov 2025; Ukraine counterattacks and announces the city cleared on 12 Jan 2026.
- 20 Nov 2025, US 28-point peace plan: US draft plan leaks; Ukrainians and Europeans object to territorial and military-cap terms; negotiations continue in Geneva, Florida and Moscow.
- 1 Dec 2025, Pokrovsk falls to Russia: Russian milbloggers claim Pokrovsk on 22 Nov and the MoD on 1 Dec 2025; ISW later confirms Russian control, ending the offensive for the city.
- 21 Dec 2025, Siversk captured: Ukraine's General Staff confirms withdrawal from Siversk on 23 Dec; ISW assesses it fell by 21 Dec after 41 months of fighting.
- 8 Jan 2026, Oreshnik strike on Lviv: Russia hits the Lviv region with an Oreshnik missile.
- 12 Jan 2026, Kupiansk cleared by Ukraine: Ukrainian officials announce complete clearing of Kupiansk and recovery of the city council building.
- 6 Feb 2026, Huliaipole captured: Geolocated footage shows Russian forces took Huliaipole, ending the Huliaipole offensive that began in September 2025.
- 11 Feb 2026, 2026 Ukrainian counteroffensive: Counterattacks near Huliaipole and Oleksandrivka retake villages in Zaporizhzhia and Dnipropetrovsk oblasts; about 745 km2 by August per Zelenskyy.
- 1 Apr 2026, Russia claims all of Luhansk Oblast: Russian MoD says it has seized all of Luhansk Oblast; Ukrainian officials deny it.
- 11 Apr 2026, Orthodox Easter truce: 32-hour truce from 11 Apr 13:00 UTC, proposed by Zelenskyy; Ukraine reports 7,696 violations.
- 9 May 2026, Victory Day truce and POW swap: Trump announces a three-day truce on 9-11 May and a 1,000-for-1,000 prisoner exchange.
- 15 May 2026, Kherson 'Highway of Death' strikes: Ukrainian drones destroy dozens of Russian supply vehicles on the R-280 highway in Kherson Oblast, mid-to-late May.
- 18 May 2026, Ukraine retakes Stepnohirsk: HUR claims Ukrainian forces retook Stepnohirsk in Zaporizhzhia Oblast.
- 3 Jul 2026, Russia claims Kostiantynivka: Russia announces full capture on 3 July; Ukraine rejects it and both sides hold positions in the city.
- 21 Jul 2026, Syrskyi replaced as commander-in-chief: Zelenskyy dismisses Oleksandr Syrskyi and appoints Mykhailo Drapatyi; defence minister Fedorov was dismissed on 15 July.
- 22 Aug 2026, Russia retakes Rodynske: Russian forces retake Rodynske in Donetsk Oblast.
- 5 Sep 2026, Witkoff and Kushner meet Putin: US envoys meet Putin in Moscow on 5 Sept, then visit Kyiv on 6 Sept under a temporary 72-hour pause on strikes on capitals.
- 15 Sep 2026, Operation Vivaldi: Ukraine's 3rd Army Corps confirms counteroffensive to clear Russian forces from Dnipropetrovsk Oblast and the salient northwest of Lyman.
- 18 Sep 2026, Russian Duma vote in occupied territories: Voting in occupied Donetsk, Luhansk, Kherson and Zaporizhzhia and Crimea since late August, ending 20 Sept; Kyiv calls it illegal.
- 24 Sep 2026, Massive missile attack on Kyiv: Ballistic and Zircon missiles in three waves; Ukraine intercepts about 60% of ballistic missiles.
- 30 Sep 2026, Russia claims Dobropillia; Ukraine holds: Russian MoD claims capture of Dobropillia; ISW and Ukrainian command say Ukrainian forces repelled the attack.