Home › Photography & Optics › ND Filter Exposure Calculator
ND Filter Exposure Calculator
Computes the shutter speed needed after adding a neutral-density filter given in stops or as a filter factor (ND8, ND64, ND1000 ...), plus the filter's optical density and a table of resulting shutter speeds for common filters.
When to use
You know the correctly exposed shutter speed without a filter and want the exposure time with an ND filter, or need to convert between ND stops, filter factor and optical density.
Do not use when: The change comes from aperture or ISO rather than a filter (use equivalent-exposure), or you need the exposure value itself (use exposure-value).
Formula
stops = nd_stops or log2(nd_factor); new_shutter_seconds = base_shutter_seconds × 2^stops; optical_density = log10(2^stops)
Assumes the filter is neutral and the scene light is constant; a marketed 'ND1000' is 9.97 stops (2^10 = 1024). Exposures beyond about 30 s need bulb mode, and film needs reciprocity-failure compensation.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
base_shutter_seconds | number | s | yes | Exposure time in seconds. Enter fractions as decimals: 1/125 s = 0.008, 1/60 s = 0.016667, 1/1000 s = 0.001. Range: > 0, ≤ 86400 |
nd_stops | number | stops | no | Filter strength in stops (3-stop, 6-stop, 10-stop ...). Give this or nd_factor; when both are given nd_stops is used. Range: ≥ 0, ≤ 30 |
nd_factor | number | no | Filter factor as in the ND name: ND8 = 8, ND64 = 64, ND1000 = 1000 (stops = log2(factor)). Range: ≥ 1, ≤ 1000000000 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
new_shutter_seconds | number | s | base_shutter_seconds × 2^stops. |
new_shutter_text | string | The same value as a fraction or seconds, e.g. '1/15 s' or '17.07 s'. | |
stops | number | stops | Light reduction in stops (log2 of the filter factor). |
nd_factor | number | 2^stops: how many times less light reaches the sensor. | |
optical_density | number | log10(filter factor): the ND value printed on some filters (0.9 = 3 stops, 3.0 = 10 stops). | |
filter_table | object | s | Resulting shutter speed in seconds for ND2, ND4, ND8, ND16, ND64, ND400 and ND1000 from the same base speed. |
Example
1/60 s with a 10-stop filter: {"base_shutter_seconds":0.016667,"nd_stops":10} → {"new_shutter_seconds":17.067,"stops":10,"nd_factor":1024,"optical_density":3.01}
1/125 s with an ND8 filter: {"base_shutter_seconds":0.008,"nd_factor":8} → {"new_shutter_seconds":0.064,"stops":3,"optical_density":0.9,"new_shutter_text":"1/16 s"}
GET https://tttkmbb.com/api/v1/calculate/nd-filter-exposure?base_shutter_seconds=0.016667&nd_stops=10
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/nd-filter-exposure(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/nd-filter-exposure · Markdown: https://tttkmbb.com/photography/nd-filter-exposure.md · JSON definition: https://tttkmbb.com/photography/nd-filter-exposure.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="nd-filter-exposure" - OpenAPI operationId:
calculate_nd_filter_exposure - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Neutral-density filter (reference)
- Wikipedia – Exposure value (reference)
FAQ
Is ND1000 the same as a 10-stop filter?
Almost: ND1000 reduces light 1000× = 9.97 stops, a true 10-stop filter 1024×; the 0.03-stop difference is far below camera exposure tolerance.
How do I read the optical-density marking?
Density d means a factor of 10^d: ND 0.3 = 1 stop, 0.9 = 3 stops, 1.8 = 6 stops, 3.0 = 10 stops (each 0.3 of density is one stop).
Related calculators
- Equivalent Exposure Calculator — Compensate with aperture or ISO instead of shutter speed.
- Exposure Value Calculator — Exposure value of the base setting.