Filter Curves

Transmission & stacking calculator — UV / visible / IR ← Back to Channel Swap
nothing selected
What "Camera body" does and doesn't change
The curve you see is always the glass itself — that never changes with camera choice, it's a fixed physical property. Selecting a body scales down the red/near-IR portion (>600nm) of the combined result chart, readout and description, based on a real finding: Kolari Vision compiled stock transmission curves for 82 camera bodies and found Fujifilm's sensor runs hottest for red/near-IR sensitivity, Canon sits in the middle, Sony and Nikon skew lowest (source). That's a real published ranking, not a measured curve — so the exact scaling here is estimated to match the ranking, not lab data.
Deliberately NOT included: that same Kolari study also measured each brand's stock UV/IR-cut glass cutoff (Sony ≈409nm, Canon ≈416nm, Nikon/Fuji ≈420nm). That data is real too, but it describes the hot-mirror glass that gets physically removed during a full-spectrum conversion — so it doesn't apply to a converted body, which is what this tool assumes. Using it here would misrepresent a converted camera's actual UV response.
Known recipes
Select filters — tap to stack
About this data — read before trusting it

These are modelled curves, not measured spectra. Each filter is drawn from a parametric model (sigmoid band edges) tuned to published cutoffs, manufacturer specs, and the measured optical-density figures in Pedro Aphalo's spectrophotometer work. They reproduce the shape and behaviour — where a filter passes, where it blocks, and crucially where it leaks — but a given curve is not a lab trace and the exact percentages should not be quoted as measurements.

The branded filters are the best-anchored. Their 50% transmission points come from the Kodak Photographic Filters Handbook (B-3, 1992) for the Wratten series — which is what Tiffen numbering follows — and from B+W's own published figures for the 09x series. Where a manufacturer gives two points (B+W 092: 50% at 695nm rising past 90% by 730nm; B+W 093: about 1% at 800nm and 88% at 900nm) the edge steepness was fitted to match both, rather than guessed. Every branded cutoff here reproduces its published 50% figure to within a nanometre.

Real glass rolls off slightly asymmetrically, so a sigmoid can't match a true trace perfectly — the 092 curve reaches about 81% at 730nm where the spec says over 90%. Close, not exact.

The Wratten step series is a good fit by nature. Filters 3 through 29 are documented as sharing one curve shape — a simple step cutting everything below a limit, with only the cutoff moving from blue to deep red — which is exactly what this model draws. Cut-on figures are from filter-stock listings and the Kodak handbook. These are the filters put in front of Aerochrome film to hold back blue, since all three emulsion layers are inherently blue-sensitive; shooters generally reach for a #15 dark yellow or #16 orange, finding a #12 or lighter leaves a blue cast.

Colour filters are modelled with their infrared leak included, because that is the single most important thing about using them on a converted body. Organic dyes absorb in the visible but go essentially transparent past about 700nm, so a blue, green or magenta filter passes its colour and infrared at once. That dual band is what produces in-camera false colour, and it is why a deep blue Wratten 47 is used deliberately for the effect. The visible bands are drawn from published Wratten passband figures; the leak height is a reasonable dye-filter value, not a measurement for each specific filter.

KG3 / GRB3 is modelled as an attenuator, not a blocker. It passes visible light almost untouched and only knocks infrared down — effectively an ND filter for IR. That partial pass is the point: leaving some IR through and pairing it with a colour gel is what gives controlled false colour rather than the all-or-nothing result of a hard IR cut. The two DIY recipes on the buttons above (KG3 1mm + Lee 139 Primary Green; KG3 2mm + Lee 729 Scuba Blue, the latter reported as close to Kolari's IR Chrome) come from David Kennard's 23-filter comparison. The attenuation depths here are estimates for those glass thicknesses, not measured figures.

"Faux UV on an unconverted body" is a real, verified case worth explaining. Reported directly on ultravioletphotography.com by Fedia: ZWB3 + QB21 stacked on a stock (unconverted) Canon 600D. No true UV reaches the sensor here — the camera's own internal hot-mirror still blocks it, which this tool models explicitly via "Stock camera IR-cut" and can verify numerically: the same ZWB3+QB21 pair passes 64% at 350nm on a converted body but only 0.1% on a stock one. What survives instead is a narrow deep blue-violet band around 410nm — a purely visible-light effect. Fedia's own observation was that vegetation still renders dark, similar to true UV, but for an unrelated reason: chlorophyll absorbs blue light strongly too, so a blue-only passband darkens foliage by a completely different mechanism than UV absorption does. Worth knowing if you own UV glass but haven't converted a body yet.

The astronomy filters are anchored on physical constants. The emission wavelengths are not estimates — H-alpha 656.3nm, H-beta 486.1nm, OIII 495.9/500.7nm, SII 671.6nm, sodium D 589.0/589.6nm, mercury 435.8/546.1/578nm. The passband widths follow standard product bandwidths (3nm, 7nm, 8nm) and the modelled filters measure within about 0.15nm of the width they are named for. The L-eXtreme is drawn as Optolong specify it: 7nm bands on Ha and OIII, with H-beta deliberately blocked, which is what separates it from the tri-band L-eNhance.

The stock camera IR-cut entry is there to show why conversion happens at all. Select it together with an H-alpha filter: an unconverted body passes roughly 20% at 656nm against about 89% once the internal cut filter is gone. That gap is the whole reason astro-modified and full-spectrum bodies exist, and it is the same modification that makes this tool's kind of photography possible.

QB21 and Schott BG38 are the same glass. Tangsinuo sell it under both names, and it is listed elsewhere as "QB21 (equal to BG38)" — so the two entries here deliberately carry identical curves. The AR-coated QB21 is separate because the coating raises throughput; Pedro Aphalo measured it transmitting UV-A better than the TSN575 while blocking NIR less effectively, which is why it is drawn with an earlier deep-IR leak. Relative ordering within the Schott short-pass family follows documented behaviour: S8612 suppresses infrared more aggressively than BG38, BG39 or BG40 at equal thickness, BG39 cuts furthest into visible red, and BG40 sits between BG38 and BG39. B+W 039 is mounted BG39, B+W 489 is mounted KG3, and the LDP CC1 is widely held to be uncoated 2.5mm BG38. Cutoffs assume roughly 2mm — thickness matters a great deal with absorptive glass.

Absorptive and interference blockers are flagged separately because the difference is practical, not academic. Absorptive glass works chemically and behaves identically across the frame. Interference coatings reflect infrared off a dielectric stack whose effective thickness varies with incidence angle, so the cutoff drifts at the frame edges and wide lenses can show an uneven cyan corner cast. Filters known to develop surface haze over time are flagged too.

Hoya's X0/X1 naming does not match Kodak's. Kodak's old letter scheme ran K1 = Wratten 6, K2 = Wratten 8, K3 = Wratten 9, G = Wratten 15, X1 = Wratten 11, X2 = Wratten 13, A = Wratten 25. Hoya broke from it: they sell the Wratten 11 yellow-green as X0 and use X1 for a fuller green. Both namings are in circulation and people do get caught out — a Hoya X1 is not a Kodak X1. The Hoya group here follows Hoya's own product naming, since that is what is engraved on the filter you are holding, and each entry states its Wratten equivalent explicitly. Hoya's O is designated (G), and Kodak's G was deep yellow rather than orange, which is why the O(G) sits at Wratten 15 and not with the true oranges.

Two real physical effects are now modelled separately. Absorption in the glass follows Beer-Lambert, so internal transmittance scales as a power of thickness — doubling the glass squares it. Surface reflection is a fixed Fresnel loss of roughly 4% per air-glass face, independent of thickness, which an anti-reflection coating cuts to about 1%. Schott quote internal and external transmission separately for exactly this reason. The thickness slider applies the first effect and leaves the second alone, which is why moving it barely changes the passband but drives the stopband down hard: 1mm of S8612 passes about 28% at 700nm, 2mm about 8%, 3mm about 2.5%. That is also why S8612 is described as matching BG38's blocking at half the thickness. Interference filters are excluded from the scaling because their behaviour comes from a coating stack, not bulk absorption.

Turn on the log scale to see leaks. A linear axis flattens anything below about 1% onto the baseline, which hides precisely the thing that matters most — a UV stack leaking a few tenths of a percent in the infrared still ruins the shot. The log axis runs down to 0.001% so those tails are visible. It is the same reason spectroscopy is usually plotted as optical density.

Fedia (source for the ZWB3/ZWB1 data above, and for the faux-UV-on-unconverted-body technique) put the practical reason better than that: a UV-pass filter's small secondary bumps look unimportant on a linear chart, but they aren't. UV glass like ZWB3 passes a lot of UV in absolute terms, but a camera sensor's native sensitivity to UV is weak, so shooting real UV means cranking ISO hard to compensate. Once you've done that, the "small" leak features get amplified right along with the UV signal — a bump that reads as a few percent on a linear axis can end up genuinely competing with the UV you're trying to capture. The log scale is what actually shows you that risk; the linear one hides it.

The Schott series is the reference glass most filters are cut from. Their part numbers are the 50% cut-on wavelength by definition — RG695 cuts at 695nm, OG550 at 550nm — so those entries are exact rather than estimated. B+W 092 is RG695, B+W 093 is RG830, B+W 091 is RG630, and the Hoya R72 sits beside RG715. Edge steepness is the estimated part: it varies between melts and the model scales it with wavelength as a rough rule.

Not all UV-pass glass leaks infrared — dielectric ones don't. The ZWB/UG-family absorptive glass leaks deep IR because its dye simply doesn't absorb out there, which is why it needs a blocker stacked with it. Baader U and its rivals (Andrea-U, Chroma U-Bessel) work differently: a dielectric coating stack reflects everything outside the passband by design, so there is no IR leak to block in the first place — independently measured out to 850nm on both Baader and Andrea-U. The tradeoff is the same one interference coatings always have: transmission is angle-dependent, so the passband drifts and dims a little off-axis (measured at about 0.2 stops for the Baader U at 45°). The Hoya U-330/340/360 series is the absorptive-glass counterpart — U-340 is the astronomy and forensic standard — and it does leak IR like the ZWB family. The U-360 curve here is fitted directly to a published measurement: 70% transmission near 360nm and about 10% infrared leak at 740nm.

The colour-conversion filters are the weakest models on this page. An 80A, 80C or KB20 is not a step filter at all — it's a gentle slope across the whole visible band, and a sigmoid can only sketch that. Their peak values and slope were estimated from typical conversion behaviour, not fitted to published two-point data like the B+W IR glass. Read them as indicative shapes showing roughly how much red each one holds back, and nothing more precise than that.

The stacking maths is exact, though: transmittances multiply, which is the same operation used on real measured data. So the qualitative conclusions a stack shows you here — "this combination still leaks IR", "this one doesn't" — are trustworthy even though the absolute numbers are approximations.

Individual filters also genuinely vary between glass melts, so even real measured curves differ slightly from filter to filter of the same type.

For actual measured spectra see photo-spectrum.info (Pedro J. Aphalo, measured on an HP 8453 diode-array spectrophotometer) and the filter-test threads at ultravioletphotography.com.