In September 2022, Russia self-declared the annexation of four Ukrainian regions – Donetsk, Luhansk, Zaporizhzhia, Kherson – within their administrative borders. Yet it never controlled them fully. The chart shows what share of each region's land area was occupied by Russia, according to Deepstate Map.
Parts of the Kherson and Luhansk regions were liberated by Ukrainian forces during counter-offensives in Autumn 2022. Since then, the changes have been minimal. Capturing the whole of the Donetsk region continues to be the minimum goal of each year of the full-scale war. Since 2024, Russia has made gradual progress that has been slowing over time. In 2025, it also focused its offensive actions on the Zaporizhzhia region and made some advances. The front line was mostly stabilized there in 2026.
As of August 2026, Russia also holds smaller footholds in regions it hasn't declared annexed: 5.0% of Kharkiv, 1.5% of Sumy, 0.5% of Mykolaiv, and 0.1% of Dnipropetrovsk. Crimea was fully occupied at the beginning of the Russo-Ukrainian war in 2014.
What it shows — DeepState is a Ukrainian OSINT project publishing an interactive map of the Russo-Ukrainian war, updated daily. The map distinguishes occupied, liberated, and contested (grey-zone) territory.
What it's based on — The territorial control depicted on the map is based on geolocated footage, open-source reports, community submissions, and direct communication with Ukrainian units.
Who's behind it — It is created and maintained by NGO DeepstateUA, which has employees and a volunteer team of over 100 people. The founders of the project are Roman Pohorilyi and Ruslan Mykula.
Alignment to the sides of the war — Throughout the full-scale war, DeepState positions itself as a fact-based project. The map has partnerships with the Ukrainian Ministry of Defence and the General Staff, and the project also offers a closed-map solution for the Ukrainian defence forces. DeepState has publicly stated that during Ukrainian offensive operations, it delays map updates for operational-security reasons. The latest case of this seems to be in some months of 2026, when the Ukrainian General Staff and independent analysts at the Finnish Black Bird Group claimed that Ukraine recaptured more territory than Russia. Deepstate data doesn't show a single month when Ukraine had a net gain in territory. Deepstate has also contradicted the official position of the General Staff in previous years and spoken out publicly about Russian advances that the General Staff hadn't communicated prior.
General data risks and usefulness — The map data — like any source heavily based on OSINT — tends to be a lagging indicator. Moreover, a clear frontline became non-existent due to drone warfare. Now it's hundreds of square kilometers of a gray zone. Approaches to defining this area differ.
01SnapshotOnce a month, we check how much of each region was under Russian control, based on where the front line stood at the time.
02Add older groundSome land — mainly in Donetsk and Luhansk — was already under Russian control before the 2022 invasion. That's added in too, so the picture shows everything currently held, not just recent changes.
03Split by regionWe work out how much of that controlled land falls inside each region's own borders.
04Turn it into a percentageEach region's controlled area is divided by its total size, giving the percentage shown on the chart.
05PublishThe numbers are rounded and the chart is updated with the latest figures every month.
Changelog
Editorial changes
No editorial changes logged yet. Last updated 2026-08-31.
Data dictionary
Columns in the downloadable CSV — the exact output of this chart’s processed view. Periods without a usable upstream snapshot are absent rows, never interpolated or carried forward.
Column
Type
Unit / format
Description
month
text
YYYY-MM
Calendar month, keyed to the month-end snapshot.
Luhansk
number
%
Share of Luhansk oblast's official land area under Russian control at month-end.
Donetsk
number
%
Share of Donetsk oblast's official land area under Russian control at month-end.
Zaporizhzhia
number
%
Share of Zaporizhzhia oblast's official land area under Russian control at month-end.
Kherson
number
%
Share of Kherson oblast's official land area under Russian control at month-end.
These columns are the exact output of this chart’s database view, verified against the published CSV. DeepState publishes its own terminology for the raw map — where they differ, their definitions are authoritative for the upstream data.
Reuse this work
You’re free to
Republish the chart on your own site, in print, in a paper.
Restyle the chart — change colours, fonts, layout.
Remix the data with other sources to build something new.
Use the chart commercially. <mark>Make sure you check the terms of primary data source — {source} publishes under its own terms.</mark>
The only ask
Credit the original source (DeepState) and the processed dataset (this site).
Link back to this page when republishing online.
Don’t imply DeepState or this site endorses your republication.
All charts and processed datasets on this site are released under Creative Commons Attribution 4.0 (CC-BY 4.0). The underlying source data is licensed by its respective provider — DeepState publishes under its own terms.
Citations
Please cite both this processed dataset and, most importantly, the original DeepState source. The DeepState's work should be recognised. Two-part citations look like this:
In-text
DeepState Map (2026), processed by visua.no
Full citation
DeepState Map (2026). "How much territory does Russia control in the regions it considers its own" [chart]. Processed by Pavlo Krasnomovets, visua.no. Data as of 31 August 2026. https://visua.no/en/charts/deepstate-occupied-oblasts/
BibTeX
@misc{deepstatemap2026deepstateoccupiedoblasts,
author = {DeepState Map},
title = {How much territory does Russia control in the regions it considers its own},
year = {2026},
note = {Processed by Pavlo Krasnomovets, visua.no},
howpublished = {\url{https://visua.no/en/charts/deepstate-occupied-oblasts/}},
urldate = {2026-08-31}
}
Download
Everything used to produce this chart. The CSV and PNG come straight from Datawrapper; the processed series and source data are linked from the pipeline repository.
<iframe title="How much territory does Russia control in the regions it considers its own" aria-label="Line chart" id="datawrapper-chart-r3Xpa" src="https://datawrapper.dwcdn.net/r3Xpa/" scrolling="no" frameborder="0" loading="lazy" style="width: 0; min-width: 100% !important; border: none;" height="400" data-external="1"></iframe>
Use the unversioned dwcdn.net/r3Xpa/ path — the daily refresh always serves the latest version. Full snippet from Datawrapper →
For scripts & agents
Every chart is built to have .csv and .meta.json siblings at a stable URL — no auth, no rate limits for reasonable use. Pages are plain HTML, so the methodology above is readable without JavaScript.
Schema, source, processing steps, key points, license. Machine-readable version of this page.
Site index for agents
https://visua.no/llms.txt
Plain-text index of every chart, dataset URL, and methodology page on the site.
Questions, corrections, source ideas
Using this chart in a story or a paper and something’s unclear? Spotted an error? Know a data source worth tracking? I read (almost) everything — usually same-day.