---
title: "What is SAVI? (Soil-Adjusted Vegetation Index)"
description: "SAVI corrects NDVI for soil background — essential for monitoring young or sparse crops where bare soil drags NDVI down. Learn the formula and when to use it."
url: https://www.agroreports.org/articles/what-is-savi/
lang: en
updated: 2026-06-18
source: https://www.agroreports.org/articles/what-is-savi/
license: All rights reserved. (c) AgroReports
---

# What is SAVI? (Soil-Adjusted Vegetation Index)

## What is SAVI?

SAVI, the **Soil-Adjusted Vegetation Index**, is a version of NDVI that corrects for the influence of bare soil. It is the index you reach for when vegetation is sparse — young crops, recently planted fields, arid pastures — where the soil showing through the canopy drags NDVI down and makes a healthy young crop look worse than it is. If NDVI is the everyday choice, SAVI is the early-season and dryland specialist.

## How it's calculated

NDVI assumes the only thing affecting red and near-infrared reflectance is the vegetation. When the canopy is open, that assumption breaks: the soil underneath contributes to both bands, biasing the index downward. SAVI inserts a soil-brightness correction factor `L` into the denominator:

```
SAVI = ((NIR − Red) / (NIR + Red + L)) × (1 + L)
```

On Sentinel-2 these are **Band 8** (NIR) and **Band 4** (Red). The `L` factor is typically **0.5** — a compromise for intermediate vegetation density. `L = 0` reduces SAVI exactly to NDVI (no soil adjustment); `L = 1` applies maximum correction for very sparse vegetation on bright soils.

A critical detail: Sentinel-2 surface-reflectance values are stored on a 0–10,000 scale. Because SAVI *adds* `L` to the bands, the scale does not cancel — `L` must be scaled to match, implemented as `5000` (0.5 × 10000) in DN space. Getting this wrong is the most common silent bug in SAVI implementations.

## Typical value ranges

SAVI occupies the same −1 to +1 range as NDVI, but for sparse canopies it reads higher because it removes the soil-brightness penalty.

| SAVI range | Meaning | Typical for |
|------------|---------|-------------|
| **0.6 – 0.9** | Dense, healthy vegetation | Peak-season closed canopy (SAVI ≈ NDVI here) |
| **0.4 – 0.6** | Moderate vegetation | Developing crops, healthy pasture |
| **0.2 – 0.4** | Sparse but healthy | Young crops, arid rangeland — *where SAVI shines vs NDVI* |
| **0.0 – 0.2** | Very sparse / bare | Newly emerged crop, bare soil |
| **Below 0** | Water, snow, cloud | Open water, snow cover |

The difference between SAVI and NDVI is largest when vegetation cover is low (roughly 10–40%). As the canopy closes, the two indices converge.

## When to use it

A practical rule: **if you can see soil in the image, prefer SAVI.** Once the canopy closes, switch back to NDVI. In early growth, SAVI sits above NDVI by a margin that shrinks as the canopy closes — that gap is the soil-brightness error NDVI was making, now corrected. SAVI is especially valuable in arid rangelands, shrublands, and any field with variable soil brightness that would add noise to NDVI comparisons.

The `L` factor is fixed, not adaptive — you pick `L = 0.5` and accept it as a compromise. If your field has very high or very low vegetation density, a fixed `L` is suboptimal. MSAVI2 solves this with a self-adjusting formulation.

## Comparison with other indices

SAVI is NDVI with a fixed soil-brightness correction — it shines in sparse and early-growth conditions where soil drags NDVI down. MSAVI2 improves on SAVI by computing the soil correction automatically per pixel (no fixed `L`), making it more accurate for heterogeneous fields. NDVI remains the better choice once the canopy closes and soil is invisible. For high-biomass canopies where saturation is the problem (not soil), use EVI instead.

> **Try it free:** Get SAVI values for your field — free, no signup. Works on any land worldwide. [Check my field's establishment →](/)

## Frequently asked questions

<details>
<summary>What is the difference between SAVI and NDVI?</summary>

SAVI is NDVI with a soil-brightness correction. NDVI assumes only vegetation affects the reflectance; SAVI inserts an adjustment factor `L` so that bare soil showing through a sparse canopy does not drag the index down. SAVI and NDVI give nearly identical values once the canopy closes; SAVI matters most when vegetation cover is low (10–40%).
</details>

<details>
<summary>What is the L value in SAVI?</summary>

`L` is the soil-brightness adjustment factor, typically set to **0.5** as a compromise for intermediate vegetation density. `L = 0` turns SAVI into NDVI; `L = 1` applies maximum soil correction for very sparse vegetation on bright soils. In Sentinel-2's DN space (0–10,000), `L = 0.5` is implemented as `5000`.
</details>

<details>
<summary>When should I use SAVI instead of NDVI?</summary>

Use SAVI when **soil is visible** in the pixel: young or widely spaced crops, arid rangelands, shrublands, and any field with variable soil brightness. Once the canopy closes (mid-to-late season for most annual crops), switch back to NDVI — the soil influence is gone and SAVI offers no further benefit.
</details>

<details>
<summary>What is the difference between SAVI and MSAVI2?</summary>

SAVI uses a **fixed** soil-adjustment factor `L = 0.5`. MSAVI2 computes the adjustment **automatically from the data itself** with an iterative formula, so the correction adapts to the actual vegetation density in each pixel. For heterogeneous fields or very sparse vegetation, MSAVI2 is the more accurate choice.
</details>
