GeoTIFF — Georeferenced Raster Maps: What It Is, History 1995-2026, How to Export from OpenStreetMap
GeoTIFF is a regular TIFF file with a handful of special tags carrying coordinate information: which coordinate reference system to use, how pixels map to real-world distances, where the map's anchor point sits. For a GIS analyst opening the file in QGIS or ArcGIS, GeoTIFF appears instantly: the program pulls in the CRS, overlays the map on top of other layers, computes areas and distances in real units. The format has been alive since 1995, became a formal OGC standard at version 1.1 in 2019, and over thirty years has become the industry default for raster geospatial data — from NASA satellite imagery to municipal cadasters.
A short history: from neighborhood initiative to OGC standard
GeoTIFF's story began informally in 1994 on a small email list run by Niles Ritter at NASA/JPL. The idea was simple: TIFF had already become the universal raster format after Adobe published the TIFF 6.0 spec in 1992, and it would be natural to extend it with a few special tags for geographic referencing rather than invent another spatial raster container.
In March 1995 a group from NASA/JPL, USGS, ESRI, ERDAS, and several other organizations met at the SPOT Image conference in Toulouse. The draft spec came out of that meeting. By November 1995 Niles Ritter and Mike Ruth published GeoTIFF Format Specification 1.0 — the document that remained the de facto standard for twenty-five years without formal status.
In 2019 the Open Geospatial Consortium took GeoTIFF under official stewardship, publishing OGC 19-008 as version 1.1. The changes from 1.0 are minimal — formalized definitions, updated EPSG links, support for additional projections — but standard status gave formal legitimacy to a format every GIS application on the planet was already using.
In 2023 OGC adopted a related standard — Cloud Optimized GeoTIFF (COG), document 21-026. COG is a special GeoTIFF packaging for cloud streaming via HTTP range requests; an ordinary GeoTIFF program opens COG as plain GeoTIFF without knowing about cloud optimization. COG is covered in a separate article; here we stay with classic GeoTIFF.
What's inside the file
TIFF (Tagged Image File Format) is a container with flexible structure: header, set of Image File Directories (IFD), and pixel data. Each IFD is a collection of "number-value" tag pairs. Base TIFF includes tags like ImageWidth (256), ImageLength (257), BitsPerSample (258), PhotometricInterpretation (262). GeoTIFF adds just six tags on top:
- ModelPixelScaleTag (33550) — three numbers: pixel size in CRS units along X, Y, Z.
- ModelTiepointTag (33922) — anchor points: "pixel → real coordinate" pairs.
- ModelTransformationTag (34264) — alternative to the two above: full 4×4 affine matrix.
- GeoKeyDirectoryTag (34735) — table of geo-keys describing CRS, projection type, units.
- GeoDoubleParamsTag (34736) — numeric geo-key parameters.
- GeoAsciiParamsTag (34737) — string parameters (projection name, source).
The GDAL utility gdalinfo dumps these in human-readable form:
Driver: GTiff/GeoTIFF
Size is 4096, 4096
Coordinate System is:
PROJCS["WGS 84 / UTM zone 33N", ...]
GeoTransform =
392750.0, 0.122, 0.0
5821250.0, 0.0, -0.122
First line is the GDAL driver. Second is raster size in pixels. Then a text description of the CRS (UTM zone 33N here for Berlin) and the affine transformation: first row specifies eastings, second northings, at 12.2 cm per pixel.
GeoTIFF supports multi-band imagery: a Landsat 8 scene carries 11 channels (visible light, near-infrared, thermal). For an OSM city map RGB (3 bands) or RGBA (4 with alpha) is enough. Compression is optional: LZW and DEFLATE are lossless, JPEG is lossy (for photos). For maps we use LZW — a Moscow district map at 300 dpi runs 80–150 MB.
Who needs GeoTIFF
GIS analyst. The main audience. Territorial zoning, infrastructure planning, raster basemap overlays under cadastral vectors — all of this has been done in GeoTIFF for decades. When you need an aerial photo under a stormwater drainage design, or a satellite scene over a development plan vector, GeoTIFF is the universal lingua franca between a dozen GIS tools.
Environmental scientist. Satellite imagery in conservation, climate, and oceanographic research is distributed almost universally in GeoTIFF. NASA Earthdata, USGS EROS, ESA Copernicus, Japan's JAXA — all publish Landsat, Sentinel, MODIS, ALOS scenes in GeoTIFF. Multi-band data (visible + near-IR + thermal) live in one file, the analysis tool picks the band it needs.
Architect and infrastructure designer. A topographic basemap with attachment matters for BIM. GeoTIFF imports into Revit as Linked CAD with spatial reference, and when recalculating a building relative to true north or computing solar exposure, all geometry lives in the correct CRS. Without georeferencing metadata a BIM engineer wastes hours on manual orientation.
Software that opens GeoTIFF
QGIS. Free, open source, GPL v2. Windows, macOS, Linux. Open via Layer → Add Raster Layer — the program reads CRS from tags, overlays the layer, computes statistics. Version 3.36 (LTR Long Term Release) is the current production stable. qgis.org
ArcGIS Pro. Paid, subscription from 1500 USD/year for Basic. Windows only. Professional standard in government and large commercial GIS projects. Deep integration with Esri ecosystem: ArcGIS Online, Living Atlas, ArcGIS Enterprise. esri.com/arcgis-pro
GDAL / Rasterio. Free, MIT/X11 license. CLI and Python libraries. If you need to automatically process hundreds of GeoTIFFs in a pipeline (reprojection, clipping, tiling), these are the base tools. gdalinfo, gdal_translate, gdalwarp, gdal_calc.py are core commands. The Python wrapper Rasterio (Mapbox) gives a numpy-array interface. gdal.org, rasterio.readthedocs.io
Global Mapper. Paid, around 499 USD one-time, Windows. From Blue Marble Geographics. Good for DEM work, hydrological modeling, format conversions. Simple UI makes it the geologist and surveyor's choice. bluemarblegeo.com/global-mapper
MapInfo Pro. Paid, around 1850 USD one-time, Windows. Pitney Bowes. Historically popular in Russia's Rosreestr and municipal GIS. Opens GeoTIFF via File → Open Universal Data.
Any raster viewer (without CRS). GeoTIFF is fundamentally a regular TIFF. Photoshop, GIMP, IrfanView, Windows Photos will open the file as a picture, ignoring geo tags. Fine for viewing, useless for analysis.
Pros and cons
Pros. Industry standard for 30+ years. Universality: dozens of GIS programs read and write GeoTIFF out of the box. Support for 6500+ EPSG projections. Lossless compression (LZW/DEFLATE) for maps, lossy (JPEG-in-TIFF) for photos. Multi-band imagery — satellite data with dozens of bands in one file. BigTIFF (extension for files >4 GB). Self-documenting: coordinate attachment is embedded, never lost on copy.
Cons. Size. A 1000×1000 pixel district map at 300 dpi runs about 50 MB; at 600 dpi over 150 MB. Not optimized for HTTP streaming: to fetch a 100×100 pixel chunk from the middle of a gigabyte file, classic GeoTIFF requires downloading almost the whole file (unless COG is used, which solves exactly this). No native browser support — web mapping needs tiles or COG. Complex multidimensional data (4D time-series cubes) live better in Zarr or NetCDF.
GeoTIFF vs COG vs PNG vs PDF
| Parameter | GeoTIFF | COG | PNG | |
|---|---|---|---|---|
| Type | Raster with CRS | Cloud-optimized GeoTIFF | Raster, no CRS | Document |
| HTTP streaming | No | Yes (range requests) | No | Partial |
| CRS embedded | Yes | Yes | No | Optional |
| BigTIFF | Yes | Yes | No | N/A |
| Multi-band | Yes | Yes | RGB(A) | RGB only |
| Web view | Via tiles | Direct | Native | Via viewer |
| Typical size 1 km² | 10–80 MB | 12–100 MB | 5–40 MB | 1–10 MB |
GeoTIFF for desktop GIS work, file lives on local disk. COG for cloud hosting, file sits on S3/R2 and is read in chunks via HTTP range. PNG when CRS doesn't matter, e.g., for reports or slides. PDF for static delivery to a client or print shop. A detailed raster vs vector comparison is in a separate article.
How to make a GeoTIFF map from OpenStreetMap
Step 1. On osm2cdr.ru pick GeoTIFF from the format dropdown (Raster category). Note: there's also a COG variant for cloud hosting.
Step 2. Draw the area. For a city block, 200–500 m. For a district, 1–3 km. For a city center, up to 10 km. Remember: file size grows quadratically with area and linearly with DPI.
Step 3. Pick a coordinate system. Critical for GeoTIFF — this CRS is what gets embedded in the file. For European Russia, the appropriate MSK zone. For Germany, UTM 32N or 33N. For US, State Plane. For safe interop, Web Mercator (EPSG:3857) or WGS 84 (EPSG:4326).
Step 4. Pick DPI and width. Web: 96–150 DPI, width 1000–2000 px. Print poster: 300 DPI, width 3000+ px. Aerial-level detail: 600 DPI.
Step 5. Cartographic style. standard OSM colors, contrast for print with bright borders, monochrome for technical basemaps.
Step 6. Click "Export". Render takes 30–120 seconds. Download the .tif and open in QGIS — coordinate attachment unpacks automatically.
Get a GeoTIFF Map of Mitte in 90 Seconds
Pitfalls
Is the CRS set correctly? Most common mistake — export in one CRS, attempt to overlay onto layers in a different CRS without reprojection. If your QGIS project is in EPSG:3857 and you load a GeoTIFF in EPSG:4326, QGIS reprojects on the fly, and for large files that lags. Solution: either export in the project CRS, or reproject explicitly via gdalwarp -t_srs EPSG:3857.
ModelPixelScale for geographic CRS. If you export in EPSG:4326 (degrees), pixel scale is in degrees, not meters. Fine for small bboxes, but for area and distance calculations you need a metric CRS (UTM, MSK, State Plane). At Moscow latitude 1 degree of longitude is about 70 km, at Singapore latitude about 110 km.
BigTIFF for large files. Classic TIFF is limited to 4 GB due to 32-bit offsets. For huge maps (600 dpi over all of Moscow) you need BigTIFF — an extension with 64-bit offsets. Our exporter auto-switches to BigTIFF over the limit, but not every reader handles it: GDAL 2.4+ and QGIS 3.x yes, old versions no.
Compression choice. LZW — compromise for maps with solid areas (water, forest). DEFLATE — same idea, slightly more efficient, slightly less compatible. JPEG-in-TIFF — only for photos or aerials; gives visual artifacts on line-art maps.
FAQ
How is GeoTIFF different from regular TIFF? GeoTIFF is TIFF plus six geospatial tags describing CRS and pixel-to-coordinate attachment. Any TIFF viewer opens GeoTIFF as a picture; a GIS program unpacks coordinates too.
Which CRS to pick? For GIS analysis, a metric one (UTM or national). For web maps, Web Mercator (EPSG:3857). For Russia, the appropriate MSK zone out of our 122. For global data, WGS 84 (EPSG:4326).
Can I open GeoTIFF without QGIS? Yes, in any image viewer (it shows the image without CRS) or specialized GIS (ArcGIS, Global Mapper, MapInfo). For scripts, GDAL CLI or Python Rasterio.
What's the difference between GeoTIFF and COG? COG is a special layout of the same GeoTIFF: internal tiling + overviews + correct byte order for HTTP range requests. Any program reading GeoTIFF reads COG too (just without optimization). Cloud-native services benefit.
What is BigTIFF? A TIFF/GeoTIFF extension with 64-bit offsets instead of 32-bit, removing the 4 GB limit. Modern GIS programs support it, old ones don't.
Related
- GeoTIFF in remote sensing: satellites and DEM
- PNG — raster without coordinate attachment
- Vector vs raster: which format to choose
- GIS data formats 2026
- GeoTIFF format landing
Sources
- OGC 19-008r4, GeoTIFF Standard 1.1 (2019) — docs.ogc.org/is/19-008r4/19-008r4.html
- USGS, GeoTIFF Format Specification — usgs.gov
- Adobe TIFF 6.0 Specification (1992) — adobe.io/open/standards/TIFF
- GDAL GeoTIFF driver documentation — gdal.org/drivers/raster/gtiff.html
- Wikipedia, GeoTIFF — en.wikipedia.org/wiki/GeoTIFF