---
name: "gdalcompare"
section: "1"
platform: "linux"
package: "gdal"
version: "3.13.3-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gdalcompare"
---

# gdalcompare(1)

Compare two images.

## NAME

gdalcompare -  Compare two images.

## SYNOPSIS

```
gdalcompare [--help] [--help-general]
               [-dumpdiffs] [-skip_binary] [-skip_overviews]
               [-skip_geolocation] [-skip_geotransform]
               [-skip_metadata] [-skip_rpc] [-skip_srs]
               [-sds] <golden_file> <new_file>
```

## DESCRIPTION

**gdalcompare** compares two GDAL supported datasets and reports the differences. In addition to reporting differences to the standard output the script will also return the difference count in its exit value.

Image pixels, and various metadata are checked. There is also a byte by byte comparison done which will count as one difference. So if it is only important that the GDAL visible data is identical a difference count of 1 (the binary difference) should be considered acceptable.

**NOTE:**

gdalcompare is a Python utility, and is only available if GDAL Python bindings are available.

- **--help**

  Show this help message and exit

- **--help-general**

  Gives a brief usage message for the generic GDAL commandline options and exit.

- **-dumpdiffs**

  Added in version 3.8.

  Whether to output the difference in pixel content in a TIFF file in the current directory.

- **-skip\_binary**

  Added in version 3.8.

  Whether to skip exact comparison of binary content.

- **-skip\_overviews**

  Added in version 3.8.

  Whether to skip comparison of overviews.

- **-skip\_geolocation**

  Added in version 3.8.

  Whether to skip comparison of GEOLOCATION metadata domain.

- **-skip\_geotransform**

  Added in version 3.8.

  Whether to skip comparison of geotransform matrix.

- **-skip\_metadata**

  Added in version 3.8.

  Whether to skip comparison of metadata

- **-skip\_rpc**

  Added in version 3.8.

  Whether to skip comparison of Rational Polynomial Coefficients (RPC) metadata domain.

- **-skip\_srs**

  Added in version 3.8.

  Whether to skip comparison of spatial reference systems (SRS).

- **-sds**

  If this flag is passed the script will compare all subdatasets that are part of the dataset, otherwise subdatasets are ignored.

- **\<golden\_file\>**

  The file that is considered correct, referred to as the golden file.

- **\<new\_file\>**

  The file being compared to the golden file, referred to as the new file.

Note that the **gdalcompare** script (like all the other scripts) can also be called as a library from python code: *from osgeo\_utils import gdalcompare*. The primary entry point is *gdalcompare.compare\_db()* which takes a golden *gdal.Dataset* and a new *gdal.Dataset* as arguments and returns a difference count (excluding the binary comparison). The *gdalcompare.compare\_sds()* entry point can be used to compare subdatasets.

## RETURN STATUS CODE

The program returns status code 0 in case of success, and non-zero in case of error (non-blocking errors emitted as warnings are considered as a successful execution).

## EXAMPLES

```
gdalcompare -dumpdiffs N.tiff S.tiff; echo $?
Files differ at the binary level.
Band 1 checksum difference:
  Golden: 36694
  New:    40645
  Pixels Differing: 1509
  Maximum Pixel Difference: 255.0
  Wrote Diffs to: 1.tif
Differences Found: 2
2
gdalcompare N.tiff N.tiff; echo $?
Differences Found: 0
0
```

## AUTHOR

Frank Warmerdam \<warmerdam@pobox.com\>

## COPYRIGHT

1998-2026
