Satellite Index Calculator

Compute NDVI, NDWI, NDSI, and NBR spectral indices from Sentinel-2 or Landsat 8/9 band GeoTIFFs directly in your browser — with statistics, classification breakdown, and a pseudocolor preview.

NDVI · Vegetation NDWI · Water NDSI · Snow NBR · Burn No Upload · 100% Private
Share this tool

Satellite / Sensor

Spectral Index

Formula:

Band A —

Band B —

Processing raster data…

Computing index pixel by pixel. Large files may take a few seconds.

Mean
Min / Max
Std Dev
NoData Px

Classification Breakdown

Pseudocolor Preview

Downsampled preview — actual computation uses full resolution

Computation Reference

— Formula: Band A: Band B: Dimensions:

How Spectral Index Computation Works

Every spectral index follows the same normalized difference formula: subtract Band B from Band A, then divide by their sum. This produces a value between −1 and +1 for every pixel in the raster. The tool reads your uploaded GeoTIFF files locally — no data is sent to any server — then iterates every pixel pair, computes the index, and maps the result to a pseudocolor preview.

INPUT BANDS NIR B08.tif Red B04.tif Single-band GeoTIFF No upload • fully private PIXEL FORMULA (NIR − Red) ÷ (NIR + Red) Per-pixel computation Range −1.0 to +1.0 NDVI RESULT −1.0 +1.0 0 MEAN 0.42 CLASS Moderate ✓ NDVI Computed

What Is NDVI and How Is It Calculated?

The Normalized Difference Vegetation Index (NDVI) is the most widely used spectral index in remote sensing. It was developed in the 1970s and remains the standard measure for monitoring vegetation health from satellite imagery. NDVI uses the contrast between the Near Infrared (NIR) and Red bands: healthy vegetation absorbs red light strongly for photosynthesis and reflects NIR strongly because of leaf cell structure, producing a high positive NDVI. Bare soil, urban surfaces, and water yield values near zero or negative.

The formula is NDVI = (NIR − Red) / (NIR + Red). Values above 0.6 indicate very dense, healthy canopy such as tropical forest or well-watered cropland. Values between 0.2 and 0.4 represent moderate vegetation like grassland or sparse crops. Values below 0.1 indicate bare soil, rock, sand, or urban areas. Negative values are typical of water bodies, snow, and ice.

For Sentinel-2, upload Band B08 (NIR, 10 m) as Band A and Band B04 (Red, 10 m) as Band B. For Landsat 8 or Landsat 9, upload Band 5 (NIR) as Band A and Band 4 (Red) as Band B. Both bands must be the same spatial resolution — resample to match if needed before uploading.

NDWI, NDSI, and NBR — When to Use Each Index

NDWI — Water Index

Uses Green and NIR bands. Values above 0 indicate open water. Flood mapping, wetland delineation, irrigation monitoring, and dam reservoir tracking are the primary applications. NDWI is complementary to NDVI — water pixels that confuse vegetation maps show up as strong positive NDWI.

NDSI — Snow Index

Uses Green and SWIR bands. Snow reflects strongly in the Green band but absorbs SWIR, while clouds reflect both — NDSI reliably separates snow from cloud. Values above 0.4 indicate snow-covered pixels. Used for glacier monitoring, seasonal snow cover mapping, and avalanche risk assessment.

NBR — Burn Ratio

Uses NIR and SWIR2 bands. Healthy vegetation has high NIR and low SWIR2; burned areas reverse this. The difference between pre-fire and post-fire NBR (dNBR) is the standard metric for fire severity mapping. Used by wildfire managers, insurance analysts, and post-fire rehabilitation planners.

How to Download Sentinel-2 and Landsat Band Files

Sentinel-2 imagery is available free from the Copernicus Data Space Ecosystem (dataspace.copernicus.eu). Search for your area of interest, select a scene with low cloud cover, and download the L2A (surface reflectance) product. Inside the ZIP you will find individual band files named *_B03.tif, *_B04.tif, *_B08.tif, *_B11.tif, and *_B12.tif. B03, B04, and B08 are already at 10 m resolution. B11 and B12 are at 20 m — use QGIS (Raster › Resample) or gdal_translate to upsample them to 10 m before computing NDSI or NBR.

Landsat 8 / Landsat 9 scenes are available from USGS Earth Explorer (earthexplorer.usgs.gov). Download Collection 2 Level-2 Surface Reflectance products. Band files end in _SR_B3.TIF, _SR_B4.TIF, _SR_B5.TIF, _SR_B6.TIF, and _SR_B7.TIF. All Landsat bands at the same scene are already at 30 m resolution, so no resampling is required for index computation.

Spectral Index Band Reference Table

IndexSatelliteBand A (role)Band B (role)Threshold
NDVISentinel-2B08 — NIR (10 m)B04 — Red (10 m)> 0.2 vegetation
NDVILandsat 8/9B5 — NIR (30 m)B4 — Red (30 m)> 0.2 vegetation
NDWISentinel-2B03 — Green (10 m)B08 — NIR (10 m)> 0.0 water
NDWILandsat 8/9B3 — Green (30 m)B5 — NIR (30 m)> 0.0 water
NDSISentinel-2B03 — Green (10 m)B11 — SWIR 1 (20 m)> 0.4 snow
NDSILandsat 8/9B3 — Green (30 m)B6 — SWIR 1 (30 m)> 0.4 snow
NBRSentinel-2B08 — NIR (10 m)B12 — SWIR 2 (20 m)< 0.1 burned
NBRLandsat 8/9B5 — NIR (30 m)B7 — SWIR 2 (30 m)< 0.1 burned

Frequently Asked Questions

What is a good NDVI value for healthy vegetation?

Values above 0.6 indicate very dense, actively growing canopy — tropical rainforest, irrigated crops during peak season. Values between 0.4 and 0.6 represent moderate vegetation like temperate woodland, grassland in good condition, or crops at early canopy closure. Values between 0.2 and 0.4 are sparse vegetation such as shrubland, senescent crops, or degraded pasture. Below 0.2 is typically bare soil, rock, urban surfaces, or water. Negative values reliably indicate water bodies or snow.

Why must Band A and Band B have the same dimensions?

The index formula is computed pixel by pixel. Pixel i in Band A is paired with pixel i in Band B. If the bands have different widths or heights, the pixel-to-pixel correspondence breaks — NDSI and NBR for Sentinel-2 require this step because B11 and B12 are native 20 m while B03 and B08 are 10 m. In QGIS use Raster › Resample and match the target raster (B08 or B03) to upsample the 20 m band to 10 m before uploading.

What does NDWI above 0 mean in practice?

Positive NDWI values (> 0) indicate pixels where green reflectance exceeds NIR reflectance — a spectral signature unique to open water surfaces. Shallow water, flood-inundated fields, saturated soils, and coastal wetlands all show values between 0.1 and 0.6. Deep, clear water can reach above 0.6. Dense vegetation has high NIR and therefore negative NDWI, helping separate flooded fields from intact canopy.

How is NBR used for wildfire severity mapping?

The standard workflow computes NBR from a pre-fire scene and a post-fire scene, then subtracts: dNBR = NBR_pre − NBR_post. Positive dNBR indicates fire damage — the higher the value, the more severe the burn. The US Forest Service uses USGS-defined thresholds: dNBR › 0.1 is low severity, above 0.27 is moderate, and above 0.44 is high severity. This tool computes single-date NBR — you can run it twice and subtract the results to get dNBR manually.

Can I use this tool with other satellite sensors like MODIS or Landsat 7?

Yes. The formula itself is sensor-agnostic — as long as you upload the correct spectral band roles (NIR and Red for NDVI, Green and NIR for NDWI, etc.) the computation is valid. For Landsat 7 ETM+: NDVI uses B4 (NIR) and B3 (Red); NDSI uses B2 (Green) and B5 (SWIR 1). For MODIS: NDVI can use Band 2 (NIR 858 nm) and Band 1 (Red 645 nm). Select "Landsat 8/9" in the satellite selector — the band naming is different but the math is identical.

Does my satellite imagery stay private? Is it uploaded to a server?

No data is sent to any server. The GeoTIFF files are read entirely within your browser using the Web File API and the geotiff.js JavaScript library. Pixel computation, statistics, and canvas rendering all run in your browser's JavaScript engine. The files never leave your machine. This makes the tool suitable for commercial, confidential, or restricted imagery where upload-based tools would not be appropriate.