GeoTIFF Viewer
View GeoTIFF bands with nodata handling and min/max stretch
What Is a GeoTIFF Viewer?
A GeoTIFF viewer is a tool that opens, decodes and displays GeoTIFF raster files directly in a map interface. GeoTIFF is a public-domain extension of the TIFF image format that embeds georeferencing metadata β coordinate reference system (CRS), affine transform, projection parameters, nodata values and per-band statistics β alongside the pixel data. Because that metadata travels with the file, any compliant viewer can place the imagery in the correct location on Earth without a separate world file or sidecar.
The GeoTIFF Viewer on gis.tools is a browser-based GeoTIFF preview tool. You drag a .tif or .tiff file into the page, the file is parsed locally with geotiff.js, and the raster is rendered onto a Leaflet/MapLibre map at the correct coordinates. There is no upload step. Your imagery never leaves the device, which matters for sensitive aerial photography, drone surveys, defence imagery and unreleased commercial satellite scenes.
People search for "geotiff viewer online", "view geotiff in browser" and "geotiff preview" because desktop alternatives like QGIS, ArcGIS Pro and ENVI are heavyweight installs and gdalinfo only prints metadata to a terminal. A browser viewer lets you confirm a download succeeded, sanity-check georeferencing, inspect band statistics or share a quick visualization with a colleague who does not own a GIS license.
How GeoTIFF Decoding Works
GeoTIFF builds on the baseline TIFF specification. A TIFF file is a sequence of Image File Directories (IFDs), each containing tags that describe the image (width, height, bits per sample, samples per pixel, compression, photometric interpretation) and pointers to the actual pixel data. GeoTIFF adds reserved tags (ModelPixelScaleTag, ModelTiepointTag, ModelTransformationTag, GeoKeyDirectoryTag) that encode the affine transform from pixel space to map space and the CRS.
Tiled vs Stripped Storage
Pixel data inside a TIFF can be organised in horizontal strips or in fixed-size tiles. Cloud-Optimized GeoTIFF (COG) layouts use internal tiling plus overviews so that an HTTP range request can fetch only the bytes needed for a particular zoom and viewport. The GeoTIFF Viewer reads both layouts; for very large files, internally tiled GeoTIFFs render dramatically faster because only the visible window has to be decoded.
Compression Codecs
GeoTIFFs can be uncompressed or use LZW, Deflate, Packbits, JPEG, WebP, ZSTD or LERC compression. The viewer's decoder library handles the common cases (uncompressed, LZW, Deflate, JPEG); exotic codecs like LERC may not be supported in the browser and will produce a parse error.
Affine Transform and CRS
Once the IFD is parsed, the viewer reads the GeoKeys to identify the CRS (an EPSG code or a custom WKT) and applies the affine transform to compute the geographic bounds. If the CRS is not WGS84 / Web Mercator, the bounds are reprojected on the fly so that the raster overlays correctly on the basemap.
Key Parameters and Display Options
Band Selection
Multispectral GeoTIFFs from Landsat, Sentinel-2, MODIS or aerial cameras contain multiple bands. The viewer lets you pick which band to render in grayscale or assign three bands to the red, green and blue channels for true-colour or false-colour composites.
Min/Max Stretch
Most raw raster pixel values are 16-bit integers or 32-bit floats with a small dynamic range (think Sentinel-2 reflectance from 0 to 10000 or DEM elevations from 0 to 4000 m). A linear min/max stretch maps the actual data range onto the 0-255 display range so the imagery looks meaningful instead of black or saturated. The viewer auto-computes percentile stretches (typically 2nd to 98th percentile) but lets you override the limits.
Nodata Handling
GeoTIFF metadata can declare a nodata sentinel value (often -9999 for elevation or 0 for masked imagery). The viewer treats those pixels as transparent so that masked areas do not pollute the colour stretch and so that the basemap shows through.
Colour Ramps
For single-band rasters (DEMs, NDVI products, classified land-cover), you can apply a colour ramp such as terrain, viridis, magma or a discrete categorical palette.
Practical Applications
Drone and UAV Mapping
Drone pilots produce orthomosaics from Pix4D, OpenDroneMap or DJI Terra and need to verify the output before sharing it with a client. A browser GeoTIFF viewer is the fastest way to confirm the orthomosaic landed in the correct place without launching QGIS.
Satellite Imagery QA
When you download a Sentinel-2 scene from the Copernicus Open Access Hub or a Landsat scene from USGS Earth Explorer, you want to immediately glance at the file to make sure the cloud cover is acceptable and the area of interest is fully captured. The viewer is ideal for this triage step.
Lidar Derivative Inspection
Hillshades, Digital Surface Models and Digital Terrain Models exported from CloudCompare, LAStools or PDAL are commonly stored as GeoTIFFs. Quickly previewing them in the browser confirms the LIDAR processing pipeline produced sensible elevations.
Government Open Data Browsing
National mapping agencies publish elevation, bathymetry and land-cover GeoTIFFs through open data portals. A browser viewer lets a researcher peek at a tile before committing to a multi-gigabyte download.
Field Data Collaboration
Field biologists, archaeologists and surveyors often receive GeoTIFFs from collaborators by email or cloud storage. A web viewer lets non-GIS specialists inspect the imagery without a software install.
Classroom and Training
GIS instructors use browser viewers to introduce students to raster data without the friction of installing desktop software on shared lab computers.
Step-by-Step Workflow in gis.tools
- Open the GeoTIFF Viewer page on gis.tools.
- Drag and drop a
.tifor.tifffile (or click to browse). The file is read with the File API; nothing is uploaded. - The viewer parses the GeoKeys, displays the CRS, dimensions, band count, nodata value and pixel data type in a metadata panel.
- The raster is rendered on the map at its native bounds. The map zooms to fit.
- Use the band selector to choose grayscale or RGB display. Adjust the min/max sliders or pick a percentile stretch.
- Toggle nodata transparency, swap basemaps, and pan/zoom to inspect detail.
- Optionally pipe the same file into the Hillshade Generator, Slope/Aspect Calculator or Raster Value Probe for further analysis.
Worked Example: Inspecting a Sentinel-2 Tile
You download a Sentinel-2 Level-2A tile covering the Atlas Mountains. The file is T29SQA_20240612_B04.tif (red band, 10980 by 10980 pixels, UInt16). You drop it into the viewer. The metadata panel reports CRS EPSG:32629 (UTM zone 29N), pixel size 10 m, nodata 0. The 2-98 percentile stretch maps the reflectance range 200-3500 onto display values, revealing clear mountain ridges, river valleys and snowfields. You confirm the scene is largely cloud-free and that the area of interest is centred. From there you can run the NDVI Calculator using the same tile plus the NIR band.
Common Pitfalls and Gotchas
- Very large GeoTIFFs (multi-gigabyte uncompressed) may exceed available browser memory. Consider downsampling with Raster Resampler or convert to a tiled COG first.
- Files compressed with rare codecs (LERC, JPEG2000, ZSTD) may not decode in the browser; uncompress with
gdal_translate -co COMPRESS=DEFLATEfirst. - Float32 elevation rasters with unusual nodata values (e.g. NaN or 3.4e38) may need explicit nodata configuration if the metadata is missing.
- Files with rotation in the affine transform (non-axis-aligned) display as a warped rectangle; this is correct but unusual.
- Single-band 1-bit masks render as either black or white; a custom colour ramp helps interpret them.
- Files saved without a CRS GeoKey will not project correctly. Use the CRS Metadata Inspector to diagnose missing CRS information.
- Internally tiled COGs render fastest; stripped TIFFs with no overviews force a full read of every byte that overlaps the viewport.
- Multi-page TIFFs (subdatasets) usually only display the first page; use desktop GDAL to extract subdatasets if needed.
Tips for Best Results
- Convert older GeoTIFFs to Cloud-Optimized GeoTIFF (COG) format before viewing β internal tiles plus overviews dramatically improve responsiveness.
- For multispectral imagery, start with a true-colour (R-G-B) composite before exploring false-colour combinations like NIR-R-G.
- Use a percentile stretch (2-98) instead of absolute min/max β outlier pixels rarely deserve full dynamic range.
- For elevation rasters, switch to a terrain colour ramp and pair the viewer with the Hillshade Generator for a 3D feel.
- Always check the reported nodata value; misinterpreted nodata is the most common reason rasters look weird.
- Keep an eye on the file size before dropping; the browser tab will not OOM-protect you.
Comparison with Other GIS Approaches
Desktop tools like QGIS and ArcGIS Pro can open any GeoTIFF and offer richer raster algebra, but they require installation, license management and a learning curve. Command-line GDAL utilities (gdalinfo, gdal_translate, gdaldem) are fast and scriptable but offer no visual feedback. Web GIS platforms (ArcGIS Online, Mapbox) require uploading the imagery and an account. The browser-based GeoTIFF Viewer occupies a sweet spot: zero installation, no upload, immediate visual feedback, and integration with adjacent tools on gis.tools. The trade-off is that you cannot run heavy raster algebra on multi-gigabyte scenes the way a desktop GIS or a Dask/xarray pipeline can.
Performance Considerations
Browser memory is the limiting factor. A 10980x10980 UInt16 GeoTIFF (a Sentinel-2 tile) is about 240 MB uncompressed in memory; that fits comfortably in modern browsers. A 1 GB Lidar-derived DTM at 1 m resolution may push the limits. For best performance, work with COGs that have internal overviews β the viewer will fetch only the overview level needed for the current zoom. If a file is too large, use Raster Resampler to downsample before display, or Clip Raster by Polygon to crop to your area of interest.
Data Privacy and Browser-Based Processing
Every byte of your GeoTIFF stays on your machine. There is no upload, no server-side decoding, no logging of file names or metadata, no telemetry. The decoder runs in WebAssembly inside your tab. This privacy guarantee is critical for proprietary drone imagery, classified defence rasters, archaeological site data that must not be made public, and any scenario where a corporate IT policy forbids uploading geospatial data to third-party services.
Related GIS Concepts
Cloud-Optimized GeoTIFF (COG): A GeoTIFF arranged so that an HTTP client can read just the bytes needed for a viewport using HTTP range requests. The de-facto standard for serving raster data on the modern web.
Overviews / Pyramids: Reduced-resolution copies of a raster stored inside the same file, used so that low-zoom views do not have to read full-resolution pixels.
World File: A legacy sidecar text file (.tfw) that holds the affine transform when the TIFF itself lacks GeoTIFF tags. Modern workflows embed everything inside the TIFF.
Photometric Interpretation: The TIFF tag that tells a renderer whether a band is grayscale, RGB, palette-indexed, CMYK, etc. Misconfiguration causes colour issues.
Frequently Asked Questions
Can I view a Cloud-Optimized GeoTIFF (COG) in the browser?
Yes. The viewer reads internal tiling and overviews, so COGs render quickly even for large scenes.
What is the maximum GeoTIFF size I can view?
There is no hard limit, but practical performance falls off above ~500 MB depending on your machine. Multi-gigabyte files should be downsampled or converted to COG first.
Why does my GeoTIFF look completely black?
The default display range probably does not match the data range. Apply a percentile stretch or set the min/max manually. Floating-point DEMs almost always need a stretch.
Can the viewer handle 16-bit and 32-bit float rasters?
Yes. Sentinel-2 UInt16 reflectance, Lidar Float32 DEMs and classified UInt8 land cover all work.
What if my GeoTIFF is missing CRS information?
The viewer will warn that the CRS is unknown and place the raster using its raw pixel coordinates. Use the CRS Metadata Inspector to confirm and a desktop tool to assign a CRS.
Does the tool support multiple GeoTIFFs at once?
Yes β load several files into the Online Map Viewer (Multi-Layer) and toggle them as separate layers.
Related Tools on gis.tools
Related Tools
View All ToolsRaster Reclass Tool
Reclassify raster values based on custom rules
Raster ToolsSlope/Aspect Calculator
Calculate slope and aspect from elevation data
Raster ToolsHillshade Generator
Generate shaded relief from a DEM GeoTIFF
Raster ToolsZonal Statistics
Calculate raster statistics within polygon zones
Raster ToolsRaster Resampler
Resample raster with nearest neighbor or bilinear interpolation
Raster ToolsRaster Mosaic Preview
Preview multiple raster tiles as a single view
Raster Tools100% client-side processing - your data stays private and never leaves your device