.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "GDAL-RASTER-INFO" "1" "Jun 05, 2026" "" "GDAL" .SH NAME gdal-raster-info \- Get information on a raster dataset .sp Added in version 3.11. .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 .sp .EX Usage: gdal raster info [OPTIONS] Return information on a raster dataset. Positional arguments: \-i, \-\-dataset, \-\-input Input raster dataset [required] [not available in pipelines] Common Options: \-h, \-\-help Display help message and exit \-\-json\-usage Display usage as JSON document and exit \-\-config = Configuration option [may be repeated] Options: \-f, \-\-of, \-\-format, \-\-output\-format Output format. OUTPUT\-FORMAT=json|text \-\-mm, \-\-min\-max Compute minimum and maximum value \-\-stats Retrieve or compute statistics, using all pixels Mutually exclusive with \-\-approx\-stats \-\-approx\-stats Retrieve or compute statistics, using a subset of pixels Mutually exclusive with \-\-stats \-\-hist Retrieve or compute histogram Advanced Options: \-\-if, \-\-input\-format Input formats [may be repeated] [not available in pipelines] \-\-oo, \-\-open\-option = Open options [may be repeated] [not available in pipelines] \-\-no\-gcp Suppress ground control points list printing \-\-no\-md Suppress metadata printing \-\-no\-ct Suppress color table printing \-\-no\-fl Suppress file list printing \-\-checksum Compute pixel checksum \-\-list\-metadata\-domains, \-\-list\-mdd List all metadata domains available for the dataset \-\-mdd, \-\-metadata\-domain Report metadata for the specified domain. \(aqall\(aq can be used to report metadata in all domains Esoteric Options: \-\-no\-nodata Suppress retrieving nodata value \-\-no\-mask Suppress mask band information \-\-subdataset Use subdataset of specified index (starting at 1), instead of the source dataset itself \-\-crs\-format Which format to use to report CRS. CRS\-FORMAT=AUTO|WKT2|PROJJSON (default: AUTO) .EE .UNINDENT .UNINDENT .SH DESCRIPTION .sp \fBgdal raster info\fP lists various information about a GDAL supported raster dataset, and returns them on the standard output stream when used from the command line, or in the \fBoutput\fP parameter when used from the API. .sp The following items will be reported (when known): .INDENT 0.0 .IP \(bu 2 The format driver used to access the file. .IP \(bu 2 Raster size (in pixels and lines). .IP \(bu 2 The coordinate system for the file (in short form AUTH_NAME:CODE when possible, or otherwise OGC WKT2:2019). .IP \(bu 2 The geotransform associated with the file (rotational coefficients are currently not reported). .IP \(bu 2 Corner coordinates in georeferenced, and if possible lat/long based on the full geotransform (but not GCPs). .IP \(bu 2 Ground control points. .IP \(bu 2 File wide (including subdatasets) metadata. .IP \(bu 2 Band data types. .IP \(bu 2 Band color interpretations. .IP \(bu 2 Band block size. .IP \(bu 2 Band descriptions. .IP \(bu 2 Band min/max values (internally known and possibly computed). .IP \(bu 2 Band checksum (if computation asked). .IP \(bu 2 Band NODATA value. .IP \(bu 2 Band overview resolutions available. .IP \(bu 2 Band unit type (i.e.. \(dqmeters\(dq or \(dqfeet\(dq for elevation bands). .IP \(bu 2 Band pseudo\-color tables. .UNINDENT .sp Starting with GDAL 3.12, \fBgdal raster info\fP can be used as the last step of a pipeline. .sp The following options are available: .SH PROGRAM-SPECIFIC OPTIONS .INDENT 0.0 .TP .B \-\-approx\-stats Read and display image statistics. Force computation if no statistics are stored in an image. However, they may be computed based on overviews or a subset of all tiles. Useful if you are in a hurry and don\(aqt need precise stats. .UNINDENT .INDENT 0.0 .TP .B \-\-checksum Force computation of the checksum for each band in the dataset. .UNINDENT .INDENT 0.0 .TP .B \-f, \-\-of, \-\-format, \-\-output\-format json|text Which output format to use. Default is JSON, and starting with GDAL 3.12, text when invoked from command line. .UNINDENT .INDENT 0.0 .TP .B \-\-crs\-format AUTO|WKT2|PROJJSON Added in version 3.13. .sp Which format to use to report the CRS. In AUTO default mode, if the CRS can be captured with an authority name and code (known of PROJ), only a summary of the CRS, including its name, ID, type and area of use will be reported. Otherwise a full WKT2:2019 definition will be reported. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 \fI\%\-\-crs\-format\fP can only be set when \fI\%\-\-output\-format\fP is set to \fBtext\fP\&. The JSON text format includes both WKT2 and PROJJSON. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-hist Report histogram information for all bands. .UNINDENT .INDENT 0.0 .TP .B \-\-list\-mdd List all metadata domains available for the dataset. .UNINDENT .INDENT 0.0 .TP .B \-\-mdd, \-\-metadata\-domain |all adds metadata using: .sp \fBdomain\fP Report metadata for the specified domain. .sp \fBall\fP Report metadata for all domains. .UNINDENT .INDENT 0.0 .TP .B \-\-mm, \-\-min\-max Force computation of the actual min/max values for each band in the dataset. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-ct Suppress printing of color table. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-fl Only display the first file of the file list. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-gcp Suppress ground control points list printing. It may be useful for datasets with huge amount of GCPs, such as L1B AVHRR or HDF4 MODIS which contain thousands of them. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-mask Suppress band mask printing. Is implied if \fI\%\-\-no\-nodata\fP is specified. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-md Suppress metadata printing. Some datasets may contain a lot of metadata strings. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-nodata Suppress nodata printing. Implies \fI\%\-\-no\-mask\fP\&. .sp Can be useful for example when querying a remove GRIB2 dataset that has an index .idx side\-car file, together with \fI\%\-\-no\-md\fP .UNINDENT .INDENT 0.0 .TP .B \-\-stats Read and display image statistics. Force computation if no statistics are stored in an image. .UNINDENT .INDENT 0.0 .TP .B \-\-subdataset If the input dataset contains several subdatasets read and display a subdataset with specified \fBn\fP number (starting from 1). This is an alternative of giving the full subdataset name. .UNINDENT .SH STANDARD OPTIONS .INDENT 0.0 .TP .B \-\-if, \-\-input\-format Format/driver name to be attempted to open the input file(s). It is generally not necessary to specify it, but it can be used to skip automatic driver detection, when it fails to select the appropriate driver. This option can be repeated several times to specify several candidate drivers. Note that it does not force those drivers to open the dataset. In particular, some drivers have requirements on file extensions. .sp May be repeated. .UNINDENT .INDENT 0.0 .TP .B \-\-oo, \-\-open\-option = Dataset open option (format specific). .sp May be repeated. .UNINDENT .SH RETURN STATUS CODE .sp 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). .SH EXAMPLES .SS Example 1: Getting information on the file utmsmall.tif as text output .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal raster info utmsmall.tif Driver: GTiff/GeoTIFF Files: utmsmall.tif Size is 100, 100 Coordinate Reference System: \- name: NAD27 / UTM zone 11N \- ID: EPSG:26711 \- type: Projected \- projection type: Transverse Mercator \- units: metre Data axis to CRS axis mapping: 1,2 Origin = (440720.000000000000000,3751320.000000000000000) Pixel Size = (60.000000000000000,\-60.000000000000000) Metadata: AREA_OR_POINT=Area Image Structure Metadata: INTERLEAVE=BAND Corner Coordinates: Upper Left ( 440720.000, 3751320.000) (117d38\(aq28.21\(dqW, 33d54\(aq 8.47\(dqN) Lower Left ( 440720.000, 3745320.000) (117d38\(aq26.75\(dqW, 33d50\(aq53.66\(dqN) Upper Right ( 446720.000, 3751320.000) (117d34\(aq34.59\(dqW, 33d54\(aq 9.62\(dqN) Lower Right ( 446720.000, 3745320.000) (117d34\(aq33.28\(dqW, 33d50\(aq54.82\(dqN) Center ( 443720.000, 3748320.000) (117d36\(aq30.71\(dqW, 33d52\(aq31.66\(dqN) Band 1 Block=100x81 Type=Byte, ColorInterp=Gray .EE .UNINDENT .UNINDENT .SS Example 2: Getting information on the file utmsmall.tif as JSON output, including statistics .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal raster info \-\-format=JSON \-\-stats utmsmall.tif { \(dqdescription\(dq:\(dqutmsmall.tif\(dq, \(dqdriverShortName\(dq:\(dqGTiff\(dq, \(dqdriverLongName\(dq:\(dqGeoTIFF\(dq, \(dqfiles\(dq:[ \(dqutmsmall.tif\(dq ], \(dqsize\(dq:[ 100, 100 ], \(dqcoordinateSystem\(dq:{ \(dqwkt\(dq:\(dqPROJCRS[\e\(dqNAD27 / UTM zone 11N\e\(dq,\en BASEGEOGCRS[\e\(dqNAD27\e\(dq,\en DATUM[\e\(dqNorth American Datum 1927\e\(dq,\en ELLIPSOID[\e\(dqClarke 1866\e\(dq,6378206.4,294.978698213898,\en LENGTHUNIT[\e\(dqmetre\e\(dq,1]]],\en PRIMEM[\e\(dqGreenwich\e\(dq,0,\en ANGLEUNIT[\e\(dqdegree\e\(dq,0.0174532925199433]],\en ID[\e\(dqEPSG\e\(dq,4267]],\en CONVERSION[\e\(dqTransverse Mercator\e\(dq,\en METHOD[\e\(dqTransverse Mercator\e\(dq,\en ID[\e\(dqEPSG\e\(dq,9807]],\en PARAMETER[\e\(dqLatitude of natural origin\e\(dq,0,\en ANGLEUNIT[\e\(dqdegree\e\(dq,0.0174532925199433],\en ID[\e\(dqEPSG\e\(dq,8801]],\en PARAMETER[\e\(dqLongitude of natural origin\e\(dq,\-117,\en ANGLEUNIT[\e\(dqdegree\e\(dq,0.0174532925199433],\en ID[\e\(dqEPSG\e\(dq,8802]],\en PARAMETER[\e\(dqScale factor at natural origin\e\(dq,0.9996,\en SCALEUNIT[\e\(dqunity\e\(dq,1],\en ID[\e\(dqEPSG\e\(dq,8805]],\en PARAMETER[\e\(dqFalse easting\e\(dq,500000,\en LENGTHUNIT[\e\(dqmetre\e\(dq,1],\en ID[\e\(dqEPSG\e\(dq,8806]],\en PARAMETER[\e\(dqFalse northing\e\(dq,0,\en LENGTHUNIT[\e\(dqmetre\e\(dq,1],\en ID[\e\(dqEPSG\e\(dq,8807]]],\en CS[Cartesian,2],\en AXIS[\e\(dqeasting\e\(dq,east,\en ORDER[1],\en LENGTHUNIT[\e\(dqmetre\e\(dq,1]],\en AXIS[\e\(dqnorthing\e\(dq,north,\en ORDER[2],\en LENGTHUNIT[\e\(dqmetre\e\(dq,1]],\en ID[\e\(dqEPSG\e\(dq,26711]]\(dq, \(dqdataAxisToSRSAxisMapping\(dq:[ 1, 2 ] }, \(dqgeoTransform\(dq:[ 440720.0, 60.0, 0.0, 3751320.0, 0.0, \-60.0 ], \(dqmetadata\(dq:{ \(dq\(dq:{ \(dqAREA_OR_POINT\(dq:\(dqArea\(dq }, \(dqIMAGE_STRUCTURE\(dq:{ \(dqINTERLEAVE\(dq:\(dqBAND\(dq } }, \(dqcornerCoordinates\(dq:{ \(dqupperLeft\(dq:[ 440720.0, 3751320.0 ], \(dqlowerLeft\(dq:[ 440720.0, 3745320.0 ], \(dqlowerRight\(dq:[ 446720.0, 3745320.0 ], \(dqupperRight\(dq:[ 446720.0, 3751320.0 ], \(dqcenter\(dq:[ 443720.0, 3748320.0 ] }, \(dqwgs84Extent\(dq:{ \(dqtype\(dq:\(dqPolygon\(dq, \(dqcoordinates\(dq:[ [ [ \-117.6420428, 33.9023684 ], [ \-117.6416377, 33.848257 ], [ \-117.5767844, 33.8485775 ], [ \-117.5771485, 33.9026895 ], [ \-117.6420428, 33.9023684 ] ] ] }, \(dqbands\(dq:[ { \(dqband\(dq:1, \(dqblock\(dq:[ 100, 81 ], \(dqtype\(dq:\(dqByte\(dq, \(dqcolorInterpretation\(dq:\(dqGray\(dq, \(dqminimum\(dq:0.0, \(dqmaximum\(dq:255.0, \(dqmean\(dq:154.621, \(dqstdDev\(dq:54.251, \(dqmetadata\(dq:{ \(dq\(dq:{ \(dqSTATISTICS_MINIMUM\(dq:\(dq0\(dq, \(dqSTATISTICS_MAXIMUM\(dq:\(dq255\(dq, \(dqSTATISTICS_MEAN\(dq:\(dq154.6212\(dq, \(dqSTATISTICS_STDDEV\(dq:\(dq54.250980733624\(dq, \(dqSTATISTICS_VALID_PERCENT\(dq:\(dq100\(dq } } } ], \(dqstac\(dq:{ \(dqproj:shape\(dq:[ 100, 100 ], \(dqproj:wkt2\(dq:\(dqPROJCRS[\e\(dqNAD27 / UTM zone 11N\e\(dq,\en BASEGEOGCRS[\e\(dqNAD27\e\(dq,\en DATUM[\e\(dqNorth American Datum 1927\e\(dq,\en ELLIPSOID[\e\(dqClarke 1866\e\(dq,6378206.4,294.978698213898,\en LENGTHUNIT[\e\(dqmetre\e\(dq,1]]],\en PRIMEM[\e\(dqGreenwich\e\(dq,0,\en ANGLEUNIT[\e\(dqdegree\e\(dq,0.0174532925199433]],\en ID[\e\(dqEPSG\e\(dq,4267]],\en CONVERSION[\e\(dqTransverse Mercator\e\(dq,\en METHOD[\e\(dqTransverse Mercator\e\(dq,\en ID[\e\(dqEPSG\e\(dq,9807]],\en PARAMETER[\e\(dqLatitude of natural origin\e\(dq,0,\en ANGLEUNIT[\e\(dqdegree\e\(dq,0.0174532925199433],\en ID[\e\(dqEPSG\e\(dq,8801]],\en PARAMETER[\e\(dqLongitude of natural origin\e\(dq,\-117,\en ANGLEUNIT[\e\(dqdegree\e\(dq,0.0174532925199433],\en ID[\e\(dqEPSG\e\(dq,8802]],\en PARAMETER[\e\(dqScale factor at natural origin\e\(dq,0.9996,\en SCALEUNIT[\e\(dqunity\e\(dq,1],\en ID[\e\(dqEPSG\e\(dq,8805]],\en PARAMETER[\e\(dqFalse easting\e\(dq,500000,\en LENGTHUNIT[\e\(dqmetre\e\(dq,1],\en ID[\e\(dqEPSG\e\(dq,8806]],\en PARAMETER[\e\(dqFalse northing\e\(dq,0,\en LENGTHUNIT[\e\(dqmetre\e\(dq,1],\en ID[\e\(dqEPSG\e\(dq,8807]]],\en CS[Cartesian,2],\en AXIS[\e\(dqeasting\e\(dq,east,\en ORDER[1],\en LENGTHUNIT[\e\(dqmetre\e\(dq,1]],\en AXIS[\e\(dqnorthing\e\(dq,north,\en ORDER[2],\en LENGTHUNIT[\e\(dqmetre\e\(dq,1]],\en ID[\e\(dqEPSG\e\(dq,26711]]\(dq, \(dqproj:epsg\(dq:26711, \(dqproj:projjson\(dq:{ \(dq$schema\(dq:\(dqhttps://proj.org/schemas/v0.7/projjson.schema.json\(dq, \(dqtype\(dq:\(dqProjectedCRS\(dq, \(dqname\(dq:\(dqNAD27 / UTM zone 11N\(dq, \(dqbase_crs\(dq:{ \(dqname\(dq:\(dqNAD27\(dq, \(dqdatum\(dq:{ \(dqtype\(dq:\(dqGeodeticReferenceFrame\(dq, \(dqname\(dq:\(dqNorth American Datum 1927\(dq, \(dqellipsoid\(dq:{ \(dqname\(dq:\(dqClarke 1866\(dq, \(dqsemi_major_axis\(dq:6378206.4, \(dqinverse_flattening\(dq:294.978698213898 } }, \(dqcoordinate_system\(dq:{ \(dqsubtype\(dq:\(dqellipsoidal\(dq, \(dqaxis\(dq:[ { \(dqname\(dq:\(dqGeodetic latitude\(dq, \(dqabbreviation\(dq:\(dqLat\(dq, \(dqdirection\(dq:\(dqnorth\(dq, \(dqunit\(dq:\(dqdegree\(dq }, { \(dqname\(dq:\(dqGeodetic longitude\(dq, \(dqabbreviation\(dq:\(dqLon\(dq, \(dqdirection\(dq:\(dqeast\(dq, \(dqunit\(dq:\(dqdegree\(dq } ] }, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:4267 } }, \(dqconversion\(dq:{ \(dqname\(dq:\(dqTransverse Mercator\(dq, \(dqmethod\(dq:{ \(dqname\(dq:\(dqTransverse Mercator\(dq, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:9807 } }, \(dqparameters\(dq:[ { \(dqname\(dq:\(dqLatitude of natural origin\(dq, \(dqvalue\(dq:0, \(dqunit\(dq:\(dqdegree\(dq, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:8801 } }, { \(dqname\(dq:\(dqLongitude of natural origin\(dq, \(dqvalue\(dq:\-117, \(dqunit\(dq:\(dqdegree\(dq, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:8802 } }, { \(dqname\(dq:\(dqScale factor at natural origin\(dq, \(dqvalue\(dq:0.9996, \(dqunit\(dq:\(dqunity\(dq, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:8805 } }, { \(dqname\(dq:\(dqFalse easting\(dq, \(dqvalue\(dq:500000, \(dqunit\(dq:\(dqmetre\(dq, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:8806 } }, { \(dqname\(dq:\(dqFalse northing\(dq, \(dqvalue\(dq:0, \(dqunit\(dq:\(dqmetre\(dq, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:8807 } } ] }, \(dqcoordinate_system\(dq:{ \(dqsubtype\(dq:\(dqCartesian\(dq, \(dqaxis\(dq:[ { \(dqname\(dq:\(dqEasting\(dq, \(dqabbreviation\(dq:\(dq\(dq, \(dqdirection\(dq:\(dqeast\(dq, \(dqunit\(dq:\(dqmetre\(dq }, { \(dqname\(dq:\(dqNorthing\(dq, \(dqabbreviation\(dq:\(dq\(dq, \(dqdirection\(dq:\(dqnorth\(dq, \(dqunit\(dq:\(dqmetre\(dq } ] }, \(dqid\(dq:{ \(dqauthority\(dq:\(dqEPSG\(dq, \(dqcode\(dq:26711 } }, \(dqproj:transform\(dq:[ 60.0, 0.0, 440720.0, 0.0, \-60.0, 3751320.0 ], \(dqraster:bands\(dq:[ { \(dqdata_type\(dq:\(dquint8\(dq, \(dqstats\(dq:{ \(dqminimum\(dq:0.0, \(dqmaximum\(dq:255.0, \(dqmean\(dq:154.621, \(dqstddev\(dq:54.251 } } ], \(dqeo:bands\(dq:[ { \(dqname\(dq:\(dqb1\(dq, \(dqdescription\(dq:\(dqGray\(dq } ] } } .EE .UNINDENT .UNINDENT .SS Example 3: Check if a remote GeoTIFF is a COG .sp Search for \fBLAYOUT=COG\fP in the \fBImage Structure Metadata\fP\&. The example below uses \X'tty: link https://jqlang.org/'\fI\%jq\fP\X'tty: link' and returns \fItrue\fP if the remote image is a COG. Bash .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal raster info https://sentinel\-cogs.s3.us\-west\-2.amazonaws.com/sentinel\-s2\-l2a\-cogs/36/Q/WD/2020/7/S2A_36QWD_20200701_0_L2A/TCI.tif \-\-of=JSON \e | jq \(aq.metadata.IMAGE_STRUCTURE.LAYOUT == \(dqCOG\(dq\(aq .EE .UNINDENT .UNINDENT PowerShell .INDENT 0.0 .INDENT 3.5 .sp .EX > gdal raster info https://sentinel\-cogs.s3.us\-west\-2.amazonaws.com/sentinel\-s2\-l2a\-cogs/36/Q/WD/2020/7/S2A_36QWD_20200701_0_L2A/TCI.tif \-\-of=JSON \(ga | jq \(aq.metadata.IMAGE_STRUCTURE.LAYOUT == \e\(dqCOG\e\(dq\(aq .EE .UNINDENT .UNINDENT .SS Example 4: Return the CRS used by the raster using jq Bash .INDENT 0.0 .INDENT 3.5 .sp .EX gdal raster info in.tif \-\-of json | jq \-r \(aq.stac.\(dqproj:projjson\(dq.id | .authority + \(dq:\(dq + (.code|tostring)\(aq .EE .UNINDENT .UNINDENT PowerShell .INDENT 0.0 .INDENT 3.5 .sp .EX gdal raster info in.tif \-\-of json | jq \-r \(aq.stac.\e\(dqproj:projjson\e\(dq.id | .authority + \e\(dq:\e\(dq + (.code|tostring)\(aq .EE .UNINDENT .UNINDENT .SH AUTHOR Even Rouault .SH COPYRIGHT 1998-2026 .\" Generated by docutils manpage writer. .