Home / Science / Materials science / Semiconductors and electronics materials / Thin-film thickness from fringesTool #865

Thin film thickness calculator from interference fringes: Swanepoel envelope method, refractive index and fringe counting

Work out a thin film's thickness from the interference fringes in its transmittance or reflectance spectrum: Swanepoel's envelope method gives the refractive index at every fringe and the thickness from whole-number orders; with a known index (constant or Cauchy) the fringe positions are enough; or count fringes between two wavelengths.

Keep it one tap away for everyday use.

Bookmark Thin-film thickness from fringes?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Spectrum
  2. Fringes
  3. Index n
  4. Thickness
Nothing is uploadedWorks offline once open

Method

Spectrum

A fringe is kept when it is a highest (or lowest) point within the window on each side and stands out from its neighbours by the set share of the spectrum's range; its position is refined with a parabola. Raise the window or the smoothing for noisy spectra, lower them for close fringes. The order shift moves every order by a whole number when the rounded orders are off by one (the thickness then jumps by about λ/2n). When the film's index is higher than the substrate's, transmittance maxima (and reflectance minima) sit at whole orders.

Indices

What it does

Light reflected from the top and bottom of a thin film interferes, so the transmittance or reflectance spectrum of a film a few hundred nanometres to a few micrometres thick goes up and down in fringes. Where the fringes fall depends on the film’s thickness d and refractive index n: at every maximum or minimum, 2nd = mλ, with m a whole number at one kind of extremum and a half at the other. This page turns the fringes into a thickness three ways:

  • Swanepoel’s envelope method (transmittance of a film on a thick transparent substrate). The page finds the maxima and minima, draws smooth upper and lower envelopes through them, and gets n at each fringe from N = 2s(T_M − T_m)/(T_M T_m) + (s² + 1)/2 and n = √(N + √(N² − s²)). Neighbouring fringes give a first thickness d₁; each fringe’s order is then rounded to a whole (or half) number, and d = mλ/2n from every fringe gives the final thickness and its spread. The orders also give a refined index n₂, and the upper envelope gives the absorption coefficient α where the film absorbs weakly.
  • Fringe positions with a known index. With n constant or following Cauchy’s n = A + B/λ², the positions alone give d, in transmittance or reflectance, at any angle of incidence.
  • Fringe count. N whole fringes between λ₁ and λ₂ give d = N / (2n(1/λ₁ − 1/λ₂)).

How to use it

  1. Pick the method.
  2. Paste or open the spectrum (wavelength in nm or µm, or wavenumber in cm⁻¹ for infrared), and say whether it is transmittance or reflectance, in per cent or 0 to 1.
  3. Check the fringes marked on the plot. If noise makes extra ones, raise the window, the smoothing or the smallest-fringe setting; if close fringes are missed, lower them.
  4. Give the substrate index (or the bare substrate’s transmittance) for the envelope method, or the film index for the others.
  5. Read the thickness, check the fringe table, and download the table as CSV or the report as PNG, PDF or Word.

Worked example

Press Use the example. The page draws a made-up 1000 nm film with n = 2.2 + 3×10⁴/λ² on a substrate with s = 1.5, from 500 to 1500 nm, with weak absorption at the blue end and a little noise. It finds 13 fringe extrema; 11 lie inside both envelopes. The first estimate is d₁ = 1001 ± 10 nm; with the orders rounded (8.5 at 541.5 nm down to 3.5 at 1266.2 nm) the thickness is d = 999.5 ± 0.6 nm. The index comes out as 2.303 at 541.5 nm falling to 2.217 at 1266.2 nm, within 0.005 of the index used to draw the spectrum.

Tips

  • If d₁ and d disagree or the spread is large, the orders are probably off by one: try an order shift of +1 or −1 and keep the one with the smallest spread.
  • Swanepoel’s formulas need the film’s index above the substrate’s and fringes that are not damped away; near the absorption edge the indices get poor.
  • In reflectance from a film above a lower-index substrate, minima sit at whole orders; untick the index box when the film’s index is lower than the substrate’s.
  • For an infrared (FTIR) spectrum in wavenumbers, choose cm⁻¹ and the page converts.

FAQ

Why do the first and last fringes not appear in the table? The envelope method needs both envelopes at each fringe, and the outermost fringes lie beyond the last fringe of the other kind.

How accurate is it? For a good film and spectrum, about 1 % or better. The thickness is only as good as the index, and a rough or wedge-shaped film flattens the fringes.

Is my spectrum uploaded? No. It is read in your browser and never leaves it.

Where the numbers come from

  • The thin-film transmittance formula and envelope method of Swanepoel (1983), interference orders 2nd = mλ, the Cauchy dispersion formula and fringe counting are standard optics; the code is written by fibub and checked in the tests against an independent transfer-matrix calculation, SciPy (find_peaks, CubicSpline) and NumPy.
  • The example spectrum is made up by the page: a 1000 nm film with n = 2.2 + 3×10⁴/λ² (λ in nm) and weak absorption on a substrate with s = 1.5, with made-up noise.
  • A spectrum you open is read on the page only. It is never uploaded or stored.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Water wave calculator #139 From a wave's period, height and the water depth, get the wavelength (solving the dispersion relation exactly), phase and group speed, energy and power, orbital velocity at the bed, then follow the wave into shallow water with shoaling and refraction to find where and how high it breaks, and the breaker type. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. Carrier concentration and Fermi level #862 Work out the intrinsic carrier density, the electron and hole densities and the Fermi level of a doped semiconductor at any temperature. The band gap follows Varshni's formula, Nc and Nv come from your effective masses, and charge neutrality is solved with dopants that are only partly ionised, using the Fermi-Dirac integral so heavy doping is right too. Plots show the freeze-out, extrinsic and intrinsic regions. Tauc plot band gap #863 Open a UV-Vis spectrum and get the optical band gap from a Tauc plot: absorbance, transmittance or diffuse reflectance (Kubelka-Munk) turned into (αhν)^n for direct or indirect transitions, the straight part of the edge found for you or chosen by hand, the gap where the line meets zero or a baseline, with its error and window spread, plus the Urbach energy. Solar cell I-V analyser #864 Open or paste a solar cell's I-V curve and get the open-circuit voltage, short-circuit current and current density, maximum power point, fill factor and efficiency, series and shunt resistance from the slopes, and a single-diode model fit (solved exactly with the Lambert W function) for the ideality factor, saturation current, Rs and Rsh with standard errors. 1D Schrödinger solver #923 Choose a textbook potential, type a formula or draw your own, and get the lowest energy levels and wavefunctions of the one-dimensional Schrödinger equation by the matrix (finite-difference) method, with the exact levels alongside for the box, harmonic oscillator, finite well, Morse, linear and Pöschl–Teller potentials.