A Cloud Optimized GeoTIFF (COG) is a regular GeoTIFF file, aimed at being hosted on a HTTP file server, with an internal organization that enables more efficient workflows on the cloud. It does this by leveraging the ability of clients issuing ​HTTP GET range requests to ask for just the parts of a file they need.

Why Cloud Optimized GeoTIFF?

  • Efficient Imagery Data Access

    COG-aware software can stream just the portion of data that it needs, improving processing times and creating real-time workflows previously not possible

  • Reduced Duplication of Data

    Accessing COG’s with cloud workflows enables diverse software to all access a single file online instead of needing to copy and cache the data

  • Legacy Compatibility

    Traditional GIS software is able to treat Cloud Optimized GeoTIFF’s just like normal GeoTIFF’s, so data providers need only produce one format

How does it work?

Cloud Optimized GeoTIFF relies on two complementary pieces of technology.

The first is the ability of a GeoTIFF to not only store the raw pixels of the image, but to also organize those pixels in particular ways. The second is HTTP GET range requests, that let clients ask for just the portions of a file that they need. Together these enable fully online processing of data by COG-aware clients, as they can stream the right parts of the GeoTIFF as they need it, instead of having to download the whole file.

Get Started

There are a variety of ways to get started. Data Providers can start to make imagery available as Cloud Optimized GeoTiffs. Developers can leverage GDAL's VSICurl with COG Data. And Users can find software and data providers who use COG today.

Software and Data Providers

COG is just getting started, so many software and data providers still do not fully support it, and indeed many have likely never heard of it. You can help this change quickly, by sharing this website with those who should implement it. As the list of providers grows this page will evolve to more details on how to use it.

  • Planet
  • GDAL
  • DigitalGlobe
  • QGIS
  • FarmShots


Cloud Optimized GeoTIFFs started as a GDAL project, leveraging the vsicurl driver, so both reading and writing COG's is well supported. See the GDAL Wiki for how to read COG files with GDAL.

Other software providers are less clear, but we have heard prototypes and first implementations from a number of them. If you are a software provider feel free to update this section.

  • QGIS can read Cloud Optimized GeoTIFF's using Virtual Raster Builder with a vsicurl file format to refer to the online URL. See the tutorial for details.
  • GRASS GIS can read Cloud Optimized GeoTIFF's by using Virtual Raster Builder with a vsicurl file format to refer to the online URL and registration within GRASS GIS using r.external.
  • Rasterio wraps the powerful features of GDAL in idiomatic Python functions and classes. Their latest release includes a number of features to optimize cloud geotiff access. See their Advanced Rasterio Features Notebook for truly excellent documentation on working with COG's.
  • Radiant.Earth is hosting a Cloud Optimized GeoTIFF validator. You can also get the source code, created by Even Rouault with support from Planet
  • Marblecutter serves web tiles from Cloud Optimized GeoTIFF's, completely on the fly. You can see it in action at OpenAerialMap, as all tiles are rendered by an early version.
  • Farmshots builds agriculture analytics on top of Planet’s Cloud Optimized GeoTIFF’s, pulling in just the needed field data and serving it up live to their customers.
  • DigitalGlobe has built a project called IDAHO that can read COG files and perform on the fly band math analysis.
  • GeoServer can use a new GeoTools community module named 's3-geotiff' to use COG's as a datastore. Advanced GeoServer users who know how to add new datastores can find it in the Boundless nightly repo (use the s3:// url form for it to work).
  • Earth Observing System’s Engine and Land Viewer are both able to leverage Cloud Optimized GeoTIFFs for live web tile serving and on the fly band math.
  • GeoTrellis has not yet implemented, but has detailed their plans to do so.
  • Orfeo ToolBox All Orfeo ToolBox applications can read cloud optimized geotiffs through GDAL (simply prefix file url with /vsicurl/), and Monteverdi, the Orfeo ToolBox image viewer, can navigate in remote cloud optimized geotiff out of the box.
  • Rio-tiler Rasterio plugin creates web tiles from Cloud Optimized GeoTIFF's. Used to create serverless landsat tiles server with landsat-tiler.
  • geotiff.js is a small library to parse TIFF files for visualization or analysis including Cloud Optimized GeoTIFFs. It is written in pure JavaScript, and is usable in both the browser and node.js applications.
  • COG-Explorer is a browser app to visualize Cloud Optimized GeoTIFFs, for example from the Landsat-8 archive on S3, based on geotiff.js.

Most any software that relies on GDAL should support Cloud Optimized GeoTIFF's without much effort. Things like MapServer, Safe FME, ArcGIS and ENVI jump to mind. The fact that they and others aren't on this list mostly means no one has tested and got them working yet. Feel free to submit a pull request to add any software confirmed to support COG's (links to documentation appreciated!).

Data Providers

  • OpenAerialMap stores all new imagery as Cloud Optimized GeoTIFF's, and also provides a service that takes uploaded data and turns it in to AWS S3 hosted COG's. The only constraint is that data uploaded must be openly licensed.
  • Planet provides all its data (from RapidEye, PlanetScope and soon SkySat satellites) as Cloud Optimized GeoTIFFs.
  • DigitalGlobe’s GBDX data is available as Cloud Optimized GeoTIFF, for all processing done on the platform.