A spectral index combines two or more bands of a satellite image into one number that highlights something specific: vegetation, water, moisture, buildings or burned land. Most follow the same pattern, a normalized difference (A − B) ÷ (A + B), which keeps values between −1 and 1. This page collects the common ones in one place.
Why different surfaces stand out
Every material reflects light differently across wavelengths, its spectral signature. Indices work by picking two bands where the target behaves very differently from everything else.
- Vegetation absorbs red and reflects near-infrared (NIR) strongly: the basis of NDVI.
- Water is dark in NIR and SWIR: the basis of NDWI and MNDWI.
- Soil and built-up land brighten in shortwave infrared (SWIR): the basis of NDBI.
- Burned land loses NIR and gains SWIR2: the basis of NBR.
The cheat sheet
| Index | Formula | Highlights | Read more |
|---|---|---|---|
| NDVI | (NIR − Red) ÷ (NIR + Red) | Green, healthy vegetation | NDVI guide |
| EVI | 2.5 × (NIR − Red) ÷ (NIR + 6·Red − 7.5·Blue + 1) | Vegetation in dense canopy, where NDVI saturates | Huete and others, 2002 |
| SAVI | 1.5 × (NIR − Red) ÷ (NIR + Red + 0.5) | Vegetation where soil shows through | Huete, 1988 |
| NDWI | (Green − NIR) ÷ (Green + NIR) | Open water | NDWI guide |
| MNDWI | (Green − SWIR1) ÷ (Green + SWIR1) | Open water, especially near cities | NDWI guide |
| NDMI | (NIR − SWIR1) ÷ (NIR + SWIR1) | Moisture in vegetation (also called Gao's NDWI) | Gao, 1996 |
| NDBI | (SWIR1 − NIR) ÷ (SWIR1 + NIR) | Built-up land and bare ground | NDBI guide |
| NBR | (NIR − SWIR2) ÷ (NIR + SWIR2) | Burned land; dNBR shows severity | NBR guide |
EVI and SAVI aren't plain normalized differences: their constants (2.5, 6, 7.5, 1 and 0.5) reduce the effects of the atmosphere and of bright soil. Use surface reflectance (atmospherically corrected) data for all of these, not raw digital numbers.
Which band is which
| Band | Wavelength (approx.) | Sentinel-2 | Landsat 8 and 9 |
|---|---|---|---|
| Blue | 490 nm | B2 (10 m) | B2 (30 m) |
| Green | 560 nm | B3 (10 m) | B3 (30 m) |
| Red | 665 nm | B4 (10 m) | B4 (30 m) |
| NIR | 842 nm (865 narrow) | B8 (10 m), B8A (20 m) | B5 (30 m) |
| SWIR1 | 1610 nm | B11 (20 m) | B6 (30 m) |
| SWIR2 | 2190 nm | B12 (20 m) | B7 (30 m) |
Band numbers differ between satellites, and older Landsat 5 and 7 use different numbers again (for example, NIR is band 4). Getting the bands wrong is the most common index mistake.
Worked values for each index
| Surface | NDVI | NDWI | MNDWI | NDMI | NDBI | NBR |
|---|---|---|---|---|---|---|
| Water | −0.43 | +0.60 | +0.78 | +0.33 | −0.33 | +0.60 |
| Vegetation | +0.80 | −0.70 | −0.47 | +0.34 | −0.34 | +0.64 |
| Bare soil | +0.11 | −0.25 | −0.36 | −0.12 | +0.12 | −0.06 |
| Built-up | +0.08 | −0.14 | −0.30 | −0.17 | +0.17 | −0.11 |
Notice that water scores high on NDMI and NBR too. Both bands are close to zero over water, so the ratio is unstable. That's why water is usually masked out, with NDWI or MNDWI, before using moisture or burn indices.
Tips
- Compare like with like: same season, same sensor, same processing level.
- Mask clouds, shadows and water first.
- Mind resolution: Sentinel-2's SWIR bands are 20 m, so SWIR-based indices are coarser than NDVI at 10 m.
- Indices are evidence, not answers: check them against known places or field data.
Frequently asked questions
Which index should I start with?
NDVI for vegetation, MNDWI for water, NBR for fire. Most projects use two or three together.
Can I calculate these in free software?
Yes: QGIS's Raster Calculator, Google Earth Engine, or Python with rasterio and NumPy.
Do drones work?
Yes, if the camera records the needed bands. Most multispectral drone cameras include red and NIR, but few have SWIR.
Need index maps for a project?
We'll turn imagery into answers.
Vegetation, water, moisture, burn or urban growth: we pick the right indices and validate the results.
