Tauc plot calculator: optical band gap from UV-Vis absorbance, transmittance or diffuse reflectance, with Urbach energy

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.

Keep it one tap away for everyday use.

Bookmark Tauc plot band gap?

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

  1. Spectrum
  2. (αhν)ⁿ
  3. Line fit
  4. Band gap
Nothing is uploadedWorks offline once open

Spectrum

A header row is fine. Absorbance becomes α = 2.303 A / d and transmittance α = −ln T / d (no correction for reflection at the surfaces). Without a thickness α is in relative units, which gives the same gap. A powder measured in diffuse reflectance goes through the Kubelka-Munk function F(R) = (1 − R)²/2R, which is proportional to α. The transition sets the power n in (αhν)^n.

Linear region

Automatically: the page finds the steepest straight stretch of the edge, then adds neighbouring points while each lies within the set number of standard deviations of the line. Or give the energies yourself. When the sample absorbs below the gap (scattering, defects, or an indirect gap under a direct one), the line can meet a straight baseline fitted to the flat part below the edge instead of zero.

Urbach tail

Below the gap α falls off as e^(E/Eu). The slope of ln α against E is 1/Eu, so a steep tail (small Eu) means an ordered material and a long one (large Eu) disorder or defects.

What it does

A semiconductor or insulator lets light through until the photons carry enough energy to lift an electron across the band gap; then it starts to absorb. The Tauc method turns that absorption edge into a number. Near the edge the absorption coefficient α follows (αhν)^n ∝ (hν − Eg), so plotting (αhν)^n against the photon energy hν gives a straight line that meets the energy axis at the gap. This page does it from your own spectrum:

  • Any common reading. Absorbance, transmittance (per cent or 0 to 1), α itself, or diffuse reflectance from a powder, which goes through the Kubelka-Munk function F(R) = (1 − R)²/2R. Wavelength in nm, energy in eV or wavenumber in cm⁻¹.
  • Transition type. n = 2 for direct allowed transitions, ½ for indirect allowed, ⅔ and ⅓ for the forbidden ones.
  • Linear region. Found automatically (the steepest straight stretch, grown while the next points stay on the line) or given as two energies.
  • Band gap with honest error bars. The x-intercept and its standard error from the fit, plus the window spread: how far the gap moves when the region’s ends shift by about 10 %. The spread is usually the larger of the two and the one worth quoting.
  • Baseline. When the sample absorbs below the gap, the line can cross a straight baseline fitted to the sub-gap part instead of zero.
  • Urbach energy. The slope of ln α below the gap gives the width of the absorption tail, Eu.

How to use it

  1. Paste or open the spectrum: two columns, wavelength (or energy) then the reading. A header row is fine.
  2. Say what each column holds. Give the film thickness if you want α in cm⁻¹; the gap is the same without it.
  3. Pick the transition. If you are not sure, try both direct and indirect: the right one usually gives the longer straight part.
  4. Check the Tauc plot. If the highlighted region is not the steep straight part of the edge, choose the region yourself.
  5. Download the Tauc data as CSV or the report as PNG, PDF or Word.

Worked example

Press Use the example. The page draws a made-up 400 nm film with a direct gap of 2.40 eV and a 50 meV Urbach tail, from 400 to 700 nm, with a little noise. Read as absorbance with n = 2, the page picks 51 points from 2.417 to 2.678 eV and finds Eg = 2.39932 ± 0.00012 eV (516.7 nm). The window spread is 2.397 to 2.399 eV, larger than the fitting error, so the page says to quote the spread. The tail from 2.292 to 2.398 eV gives an Urbach energy of 53.22 ± 0.33 meV, a little above the 50 meV used to draw it, because the tail joins the edge smoothly.

Tips

  • Very strong absorbance (above about 2.5) is mostly stray light and noise and bends the top of the line; cut it off or set the region by hand.
  • Thin films show interference fringes below the gap; they can upset the baseline and the Urbach fit. Choose those regions by hand.
  • A Tauc gap is an optical gap. It is not always the same as the gap from electrical measurements or photoluminescence.

FAQ

Direct or indirect? It is a property of the material, not something the plot decides. Use the literature for your material. A long straight stretch with one n and a curved one with the other is a hint, not proof.

Why is the ± so small? It only covers the scatter of points around the line. How the region is chosen matters more, which is why the window spread is shown too.

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

Where the numbers come from

  • The Tauc relation (αhν)^n ∝ (hν − Eg), the Kubelka-Munk function, the Urbach rule and straight-line fitting with delta-method errors are standard; the code is written by fibub and checked in the tests against NumPy (polyfit with covariance) and exact synthetic spectra with known gaps.
  • The example spectrum is made up by the page: a 400 nm film with a direct gap of 2.40 eV and a 50 meV Urbach tail, 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

Beer–Lambert calculator #84 Solve A = εlc for absorbance, molar absorptivity, path length or concentration, convert to transmittance, check the reading is in the reliable range, and view UV-Vis spectra with their maxima. 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. Quantum dot size (Brus equation) #860 Turn a quantum dot's first absorption peak or band gap into its size with the Brus equation, or a size into its gap and peak wavelength, using your own bulk gap, effective masses and dielectric constant. Shows the confinement and Coulomb terms, the exciton Bohr radius, a plot of gap against diameter, and an optional sizing curve of your own. 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. 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. Thin-film thickness from fringes #865 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.