Lunar Phase & Moonlight Exposure Calculator

Estimate the EV of moonlight and get shutter, aperture, and ISO for moonlit scenes.

Ad placeholder (leaderboard)

This calculator estimates how much light the moon throws on a scene and turns that into practical camera settings for moonlit landscapes and wide-field astrophotography. It models scene brightness from the moon’s illuminated fraction and its altitude above the horizon.

How it works

Exposure is anchored in EV at ISO 100. A full moon high in a clear sky lights the ground at roughly EV -3 at ISO 100 — about 18 stops below the Sunny-16 daylight value of EV 15.

Two corrections adjust that baseline:

  • Phase. Brightness falls faster than the illuminated fraction because of shadowing across the lunar surface. The model subtracts stops as you move away from full, using log2(fraction) scaled so a half moon is roughly three stops dimmer than a full moon.
  • Altitude. A low moon shines through more atmosphere. The model removes up to about one stop as altitude drops toward the horizon, and none when the moon is overhead.

The resulting scene EV is converted to a shutter time using the canonical relationship:

2^EV = (aperture^2) / shutter_seconds      at ISO 100

scaled for your chosen ISO. Solving for shutter gives:

shutter = (aperture^2) / (2^EV) * (100 / ISO)

Worked example

Full moon (100% illuminated) high overhead, shooting at f/2.8, ISO 1600:

  • Scene EV at ISO 100 is about -3.
  • shutter = 2.8^2 / 2^(-3) * (100 / 1600) = 7.84 * 8 * 0.0625 ≈ 3.9 s.

So a roughly 4-second exposure at f/2.8, ISO 1600 gives a balanced moonlit landscape — short enough to keep stars near pinpoints with a wide lens.

Notes

  • Snow, water, and pale sand reflect far more moonlight; reduce exposure a stop. Dense forest or dark rock needs a stop more.
  • The moon’s disc is many stops brighter than the moonlit ground. To capture surface detail use Looney 11 (f/11, shutter = 1/ISO) instead.
  • Treat the result as a starting point and bracket. Everything runs locally in your browser.
Ad placeholder (rectangle)