Data HubContributeData Hub on GitHub

ESA WorldCover 2021 global land cover at 10 m

European Space Agency (ESA)

Part of: ESA WorldCover

Versionv200
licenseCC-BY-4.0doi10.5281/zenodo.7254221created2026-10-15updated2026-10-15

Overview

Global land cover map for the year 2021 at 10 m, classifying every land pixel between 60 degrees south and 84 degrees north into 11 classes from Sentinel-1 radar and Sentinel-2 optical time series. Produced by the ESA WorldCover consortium for the European Space Agency (ESA), with a validated global overall accuracy of 76.7%. Used for land cover stratification and masking, cropland and built-up extent baselines, and habitat and exposure mapping. AWS Open Data serves the map as 2,651 cloud-optimized GeoTIFF tiles of 3x3 degrees, and the Hub publishes a GDAL virtual raster (VRT) that opens them as one global mosaic.

Important note

Pixels are 1/12000 degree, so their ground area shrinks with latitude; weight by pixel area or reproject to an equal-area grid before computing area statistics. The VRT references the tiles over HTTPS with /vsicurl, so open it with GDAL-based tools (rasterio, terra, stars) and read a window at a time. Avoid reading the full map at once, as the whole map is about 117 GB.

Quick start

Python
import rioxarray

url = "https://ai4edataeuwest.blob.core.windows.net/esa-worldcover/v200/2021/map/"
da = rioxarray.open_rasterio(url, masked=True)

Full access details and endpoints

Intended uses

  • land cover masks and strata for sampling, zonal statistics and model inputs
  • cropland, built-up and tree cover extent baselines and their share of administrative units
  • habitat, wetland and mangrove extent for exposure and conservation assessment

Not recommended for

land cover change against the 2020 map

Why: the 2020 (v100) and 2021 (v200) maps use different algorithms, so differences mix real and methodological change.

crop type, tree crop or pasture mapping

Why: cropland is annual herbaceous crops only; plantations fall under tree cover and pasture under grassland.

Use instead: ESA WorldCereal for temporary crop extent and type, or a land use product.

Access & use

Files, endpoints, and worked examples for each distribution.

Data

WorldCover COGs

2,651 tiles named ESA_WorldCover_10m_2021_v200_<N|S>yy<E|W>xxx_Map.tif by their lower-left corner.

Format: Cloud-Optimized GeoTIFF — best for single-file downloads, visualisation, and traditional GIS tools

Variables: map

Dimensions: cell

Data dictionary →

File indexes

GDAL VRThttps://digital-atlas.s3.amazonaws.com/cdh/data/esa-worldcover-2021-v200/map.vrt

Global mosaic; tile paths are HTTPS

Usage examples

Python
import rioxarray

# The VRT opens as one raster; its tiles are read on demand
da = rioxarray.open_rasterio("https://digital-atlas.s3.amazonaws.com/cdh/data/esa-worldcover-2021-v200/map.vrt", masked=True)
Other access methods
HTTPS directory:https://esa-worldcover.s3.amazonaws.com/v200/2021/map/
S3 (no credentials) directory:s3://esa-worldcover/v200/2021/map/
earth-engine

Image collection with one image for 2021, band Map. Needs an Earth Engine account.

Variables: map

Dimensions: cell

Data dictionary →

Access the data

https://earthengine.googleapis.com/v1/projects/earthengine-public/assets/ESA/WorldCover/v200

Other access methods
Earth Engine:ee://ESA/WorldCover/v200
planetary-computer

The same tiles on Azure, in the esa-worldcover STAC collection alongside the 2020 map (filter esa_worldcover:product_version to 2.0.0). Reads need a short-lived SAS token from the Planetary Computer signing API. The sibling input_quality prefix holds the full quality layer; AWS has only one of its 2,651 tiles.

Format: Cloud-Optimized GeoTIFF — best for single-file downloads, visualisation, and traditional GIS tools

Variables: map

Dimensions: cell

Data dictionary →

Access the data

https://ai4edataeuwest.blob.core.windows.net/esa-worldcover/v200/2021/map/

Usage examples

Python
import rioxarray

url = "https://ai4edataeuwest.blob.core.windows.net/esa-worldcover/v200/2021/map/"
da = rioxarray.open_rasterio(url, masked=True)

# Clip a window (East Africa)
window = da.rio.clip_box(
    minx=28, miny=-12, maxx=52, maxy=18
)

# ...or sample a single point
point = da.sel(x=36.8, y=-1.3, method="nearest")

Additional assets

class-codesmetadatadescribedby1 KB

Class code to name and hex colour, read from the tiles' legend and colour table.

Format: application/json

Other access methods
S3:s3://digital-atlas/cdh/data/esa-worldcover-2021-v200/class-codes.json
tile-gridmetadata

Footprints of the 2,651 tiles with their ll_tile name, from the producer.

Format: application/flatgeobuf

product-user-manualdescribedby

Product User Manual v2.0, with class definitions and the algorithm description.

Format: application/pdf

validation-reportvalidation

Product Validation Report v2.0, with the global and regional accuracy figures.

Format: application/pdf

Data dictionary

What each file holds. A layout describes how the data is stored in a file: its variables, the dimensions they vary over, and any keys.

File layouts

FilesFormatVariablesDimensionsNo data
WorldCover COGs, earth-engine, planetary-computerCloud-Optimized GeoTIFF, mapcell0

Variables

VariableTypeDescription
mapuint8Land cover class of the pixel. Cropland (40) is annual herbaceous crops only; tree crops and plantations are tree cover (10) and pasture is grassland (30).
10
Tree cover
20
Shrubland
30
Grassland
40
Cropland
50
Built-up
60
Bare/sparse vegetation
70
Snow and ice
80
Permanent water bodies
90
Herbaceous wetland
95
Mangroves
100
Moss and lichen

Dimensions

cellxy

1/12000 degree (~10 m at the equator), on a 3x3 degree tile grid.

Grid spacing: 0.0000833333 degree

Technical metadata

The full spatial, temporal, and modeling detail behind the summaries elsewhere on this page.

Spatial

CRS
EPSG:4326
Extent (W S E N)
[-180, -60, 180, 84]
Coverage
World
Grid spacing
0.3 arc-seconds (~9.3 m at the equator)

Temporal

Reference date
2021

Provenance

Ordered processing steps, from source to publication.

  1. source

    Sentinel-1 GRD and Sentinel-2 L2A observations from 2021 classified with the WorldCover v2 algorithm (CatBoost gradient-boosted decision trees) by the ESA WorldCover consortium, and distributed by VITO as 3x3 degree cloud-optimized GeoTIFF tiles on Terrascope, Zenodo and AWS Open Data.

    Derived from: ESA WorldCover 10 m 2021 v200 ↗

  2. index2026-10-15

    VRT mosaic over the tiles, laid out from the producer's tile grid, with the class legend and colour table exported to class-codes.json. No data is copied.

    Code: esa_worldcover.py ↗ @ 71c767d

How to cite

Please cite the dataset and any associated peer-reviewed publications.

Daniele Zanaga, Ruben Van De Kerchove, Dirk Daems, Wanda De Keersmaecker, Carsten Brockmann, Grit Kirches, Jan Wevers, Oliver Cartus, Maurizio Santoro, Steffen Fritz, Myroslava Lesiv, Martin Herold, Nandin-Erdene Tsendbazar, Panpan Xu, Fabrizio Ramoino, Olivier Arino (2022-10-28) ESA WorldCover 10 m 2021 v200. Version v200. Zenodo. https://doi.org/10.5281/zenodo.7254221. Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/esa-worldcover-2021_v200/.
BibTeX
BibTeX
@misc{esa_worldcover_2021_2022,
  title     = {ESA WorldCover 10 m 2021 v200},
  author    = {Zanaga, Daniele and Van De Kerchove, Ruben and Daems, Dirk and De Keersmaecker, Wanda and Brockmann, Carsten and Kirches, Grit and Wevers, Jan and Cartus, Oliver and Santoro, Maurizio and Fritz, Steffen and Lesiv, Myroslava and Herold, Martin and Tsendbazar, Nandin-Erdene and Xu, Panpan and Ramoino, Fabrizio and Arino, Olivier},
  year      = {2022},
  version   = {v200},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.7254221},
  note      = {Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/esa-worldcover-2021_v200/}
}

Attribution

Reproduce this credit line wherever you reuse the data.

© ESA WorldCover project 2021 / Contains modified Copernicus Sentinel data (2021) processed by ESA WorldCover consortium

Contacts

Who produced this dataset, and who to reach about it.

Brayden YoungbergMaintainer
Alliance of Bioversity International and CIAT
ProcessorPoint of contact
European Space Agency (ESA)Licensor
Producer
VITO
ProducerProcessorPoint of contact