The blackbody radiation simulator draws M_lam, the curve an ideal radiator follows at the temperature you set, and shades the slice of it you care about. Four sliders move the temperature, both band edges and a probe wavelength; four cards and eight cells answer. Load one of the seven cases below, then change one thing at a time and watch what the canvas does as well as what the cards say. The rest of the page names every control and readout, tabulates all seven cases as the lab printed them, and says which heights on this drawing may be compared and which may not.
A surface at temperature T radiates with a spectrum fixed by that temperature alone. The blue curve is M_lam, the power leaving one square metre per nanometre of wavelength; the gold region is the slice between the two band edges, and the share readout is how much of the whole output that slice is. Drag the temperature and watch the share climb to a maximum near 7042 K and then fall again. The vertical axis rescales with every temperature — the number at the top of the frame is the only thing that says by how much, so compare the shapes of two curves and never their heights.
The frameThe top of the frame is 8.24e+4 W/m²/nm and the axis runs to 2000 nm. Both are set by this temperature, so compare the shapes of two curves and not their heights.
Each button presses the lab’s own Reset and then writes all four sliders, so every load starts from the same place. Work down the list in order: the first six hold the band at 400–700 nm and move only the temperature, which is the one comparison this lab is built to make. The last button changes no temperature at all and still moves the headline by seven points.
Pick a case above, or drag the four sliders yourself.
![Blackbody Radiation Simulator reference card: M_lam = 2 pi h c^2 / [lam^5 (exp(hc/lam kT) - 1)], with the four sliders that set the surface temperature, the two band edges and the probe wavelength, and the range each one covers](/labs/img/blackbody-radiation-simulator.jpg)
The blackbody radiation simulator is a free interactive physics lab that runs in your browser, with nothing to install and no sign-up. It draws one curve, M_lam, the power an ideal radiator sends out per square metre per nanometre of wavelength at the temperature on the slider, and shades the slice of that curve lying between two band edges you set yourself.
A cream tick marks the Wien peak lam_peak = b/T and a thin cream line reads the curve at a probe wavelength, dropping a dot where the two meet. Both axes are rebuilt from the temperature, so the number printed at the top of the frame is the only thing carrying the magnitude, and a caption along the bottom of the canvas says so.
Four sliders set the surface temperature from 800 to 12,000 K, the lower band edge from 100 to 1400 nm, the upper band edge from 150 to 3000 nm and the probe from 100 to 3000 nm, every one of them in steps of 1. Four cards answer with the share of the power inside the band, the peak wavelength, the total exitance sigma T4 and the power the band itself holds.
Eight smaller cells carry the curve height and the photon energy at the probe, the photon energy at each band edge, the shares of the power falling below and above the band, the curve height at the peak and the top of the vertical axis, with a sentence strip headed The frame naming both live numbers. Reset restores 5772 K with the band at 400 to 700 nm and the probe at 550 nm.
| Control | Range | Step |
|---|---|---|
| Surface temperature | 800 to 12,000 K | 1 K |
| Lower band edge | 100 to 1400 nm | 1 nm |
| Upper band edge | 150 to 3000 nm | 1 nm |
| Probe wavelength | 100 to 3000 nm | 1 nm |
F; Peak wavelength carries lam_peak = b/T; Total exitance carries sigma T^4, the quantity the Stefan-Boltzmann calculator returns on its own; and Power inside the band is the product of the first and the third.The share card and the total exitance card are the pair to watch together. One says where the power goes and the other says how much there is, and between 2700 K and 12,000 K they move in different directions: the share ends lower than it started while the total has climbed from 3.01 MW/m² to 1.18 GW/m². Neither of them is an efficiency, and multiplying one comparison by the other answers no question anybody asked.
Where the 400–700 nm figure comes from in the first place is a different question, and the guide to the electromagnetic spectrum sets out the bands and where the visible one sits among them. This lab starts one step later, from a surface at a temperature, and never asks what colour a wavelength looks.
Every row below is one of the seven preset buttons, and every cell is a string the running lab printed there. Rows 1 to 6 hold the band at 400–700 nm and move only the temperature slider; row 7 puts the temperature back to 5772 K and moves the two edges instead. Where a cell and the lab ever part company, believe the lab.
| Preset | Sliders, as the panel reads them | Share inside the band | Peak wavelength | Total exitance | Power inside the band |
|---|---|---|---|---|---|
| Sunlight | 5772 K · 400 nm · 700 nm · 550 nm | 36.64 % | 502.0 nm | 62.94 MW/m² | 23.06 MW/m² |
| Filament bulb | 2700 K · 400 nm · 700 nm · 550 nm | 5.00 % | 1073.2 nm | 3.01 MW/m² | 150.65 kW/m² |
| Halogen lamp | 3000 K · 400 nm · 700 nm · 550 nm | 8.09 % | 965.9 nm | 4.59 MW/m² | 371.66 kW/m² |
| Daylight lamp | 6500 K · 400 nm · 700 nm · 550 nm | 38.87 % | 445.8 nm | 101.22 MW/m² | 39.35 MW/m² |
| The best temperature there is | 7042 K · 400 nm · 700 nm · 411 nm | 39.30 % | 411.5 nm | 139.44 MW/m² | 54.80 MW/m² |
| A very hot surface | 12,000 K · 400 nm · 700 nm · 550 nm | 26.36 % | 241.5 nm | 1.18 GW/m² | 309.96 MW/m² |
| The wider band | 5772 K · 380 nm · 750 nm · 550 nm | 43.77 % | 502.0 nm | 62.94 MW/m² | 27.55 MW/m² |
Read the share column down and then back up. It rises 5.00, 8.09, 36.64, 38.87, 39.30 and then drops to 26.36 %, which is the one result this lab exists to make visible. Nothing has gone wrong at the bottom: the total exitance column has climbed the whole way, from 3.01 MW/m² to 1.18 GW/m², while the share turned over near the top.
The peak wavelength column explains the turn. At 2700 K the cream tick stands at 1073.2 nm, far to the right of the gold region, and only the leading edge of the curve reaches it. By 12,000 K the tick has swept through the band and out the other side to 241.5 nm, and the region is now catching the curve’s steep left flank on the way down. Between those two the tick crosses the band, and that crossing is where the share peaks.
Row 7 is the one nobody expects. Neither the surface nor its temperature has changed — the peak, the total exitance and the axis maximum are identical to row 1 — and yet the headline moves from 36.64 % to 43.77 % because the gold region has been widened by 20 nm at one end and 50 nm at the other. A percentage quoted without its two edges is not a fact about anything.
| Preset | Share below the lower edge | Share above the upper edge | Photon energy, lower edge | Photon energy, upper edge | Top of the vertical axis |
|---|---|---|---|---|---|
| Sunlight | 12.18 % | 51.18 % | 3.0996 eV | 1.7712 eV | 8.24e+4 W/m²/nm |
| Filament bulb | 0.08 % | 94.93 % | 3.0996 eV | 1.7712 eV | 1.85e+3 W/m²/nm |
| Halogen lamp | 0.21 % | 91.69 % | 3.0996 eV | 1.7712 eV | 3.13e+3 W/m²/nm |
| Daylight lamp | 18.31 % | 42.81 % | 3.0996 eV | 1.7712 eV | 1.49e+5 W/m²/nm |
| The best temperature there is | 23.17 % | 37.53 % | 3.0996 eV | 1.7712 eV | 2.23e+5 W/m²/nm |
| A very hot surface | 60.75 % | 12.88 % | 3.0996 eV | 1.7712 eV | 3.20e+6 W/m²/nm |
| The wider band | 9.97 % | 46.26 % | 3.2627 eV | 1.6531 eV | 8.24e+4 W/m²/nm |
The first two columns say where the missing power went. On the filament case almost all of it, 94.93 %, is above 700 nm; on the hottest case 60.75 % has crossed to the other side and sits below 400 nm. Add either row to its headline share and you get 100 %, but that is a definition restated rather than a check on anything: the three cells are a partition of one spectrum by construction.
The two photon-energy columns move only on the last row, because they belong to the edges rather than to the surface. Widening the band to 380–750 nm takes them from 3.0996 and 1.7712 eV to 3.2627 and 1.6531 eV. If you would rather convert a wavelength on its own, the photon energy calculator does it in either direction, and the photon energy guide works through the relation.
The last column is the one this page keeps coming back to. Across those seven rows the top of the frame runs from 1.85e+3 to 3.20e+6 W/m²/nm, a spread of more than three decades, while every one of those curves is drawn to the same height on the canvas. That column, and not the picture, is where the magnitude lives.
The lab works from three relations and nothing else. The curve is M_lam(lam,T) = 2 pi h c^2 / lam^5 / (exp(hc/(lam k T)) - 1); its peak is at lam_peak = b/T; and its area over all wavelengths is M_total = sigma T^4. The headline share is the area between the two edges divided by that total, and the two share cells are the same quantity taken outside the edges.
One thing in that list is easy to misread. M_lam here is the hemispherical spectral exitance, the power leaving one square metre per nanometre of wavelength, and not the radiance per unit solid angle; the two differ by a factor of pi. The form used is the one whose integral over all wavelengths is exactly the total exitance card, which is what lets the share be a share.
| Symbol | Meaning | SI unit | In this lab |
|---|---|---|---|
| T | Absolute temperature of the radiating surface, set by Surface temperature T. It is the only thing about an ideal radiator that the spectrum depends on | kelvin, K | 800 to 12000 in steps of 1, printed with a separator from five digits up: “5772 K” after Reset, “12,000 K” at the top stop. |
| lam1 | Lower edge of the band being counted, set by Lower band edge lam1. It is a choice you make, never a constant of nature | nanometre, nm | 100 to 1400 in steps of 1: “400 nm” after Reset and “380 nm” on The wider band. Dragged past the upper edge it is pushed back to 1 nm below it. |
| lam2 | Upper edge of the band, set by Upper band edge lam2. Moving this one alone is the cheapest way to change the headline share | nanometre, nm | 150 to 3000 in steps of 1: “700 nm” after Reset, “750 nm” on The wider band, and 3000 nm at the top stop. |
| probe | Wavelength at which the thin cream line reads the curve, set by Probe wavelength. It changes two cells and touches nothing else | nanometre, nm | 100 to 3000 in steps of 1: “550 nm” after Reset and “411 nm” on The best temperature there is. |
| F | Share of the surface’s whole radiated power that falls between the two edges, printed by the Share of the power inside the band card | dimensionless, shown as a percentage | two decimals throughout: “36.64 %” at the default, “39.30 %” at its highest, and “0.00 %” at 1000 K where the value is real but smaller than the format can show. |
| lam_peak | Wavelength at which the per-wavelength curve is highest, printed by the Peak wavelength card and marked on the canvas by the cream tick | nanometre, nm | one decimal: “502.0 nm” at 5772 K, “1073.2 nm” at 2700 K, “241.5 nm” at 12,000 K and “3622.2 nm” at the bottom stop of the temperature slider. |
| M_total | Everything the surface radiates, over every wavelength, printed by the Total exitance card | watt per square metre, W/m² | two decimals with an engineering prefix chosen after rounding: “23.23 kW/m²” at 800 K, “62.94 MW/m²” at 5772 K, “1.18 GW/m²” at 12,000 K. |
| band power | The part of that total lying inside the band, printed by the Power inside the band card | watt per square metre, W/m² | “23.06 MW/m²” at the default and “150.65 kW/m²” on the filament case. Below one watt the prefix ladder stops rather than inventing a smaller one: “4.75e-4 W/m²” at 800 K. |
| M_lam | Height of the curve itself — power per square metre per nanometre of wavelength — printed by the M_lam at the probe and M_lam at the peak cells | watt per square metre per nanometre | four significant figures in exponential form: “8.0849e+4 W/m²/nm” at 550 nm and “8.2434e+4 W/m²/nm” at the peak, both at 5772 K. |
| E | Photon energy at one wavelength, printed by the Photon energy at the probe, Photon energy at lam1 and Photon energy at lam2 cells | electronvolt, eV | four significant figures: “3.0996 eV” at 400 nm and “1.7712 eV” at 700 nm. The slider ends reach “12.3984 eV” at 100 nm and “0.4133 eV” at 3000 nm. |
| axis maximum | The number at the top of the drawn frame, printed by the Top of the vertical axis cell and repeated on the canvas itself | watt per square metre per nanometre | two decimals in exponential form, and it is always the peak curve height: from “4.22e+0 W/m²/nm” at 800 K to “3.20e+6 W/m²/nm” at 12,000 K. |
Two rows there carry a formatting rule rather than a physical one. The two power cards switch prefix at a rounded thousand, so 999.996 W/m² prints as 1.00 kW/m² and never as 1000.00 W/m²; below one watt the ladder simply stops, which is why 800 K gives 4.75e-4 W/m² rather than a milliwatt prefix. Every other quantity has one fixed decimal count and no branch at all, so a screenshot taken today reproduces exactly.
Two things on this canvas are doing the work, and only one of them is the curve. The curve is lopsided: it climbs almost vertically on the short-wavelength side and falls away over thousands of nanometres on the long side, which you can see at a glance on the filament case where the gold region is a sliver on the steep flank and the whole tail lies to the right of it. The frame around it is rebuilt from the temperature on every update, which is the part that can mislead.
The asymmetry is why the obvious guess about the best temperature is wrong. Set the temperature to 5269 K and the Peak wavelength card reads 550.0 nm, exactly halfway between the two edges, with the cream tick standing in the middle of the gold region — and the share reads only 33.71 %. Load The best temperature there is instead and the tick jumps to 411.5 nm, hard against the left-hand edge, while the share climbs to 39.30 %.
Centring the peak looks fair and is not, because the two sides of the curve are not the same shape. A peak in the middle throws the long slow tail out past the upper edge where it is not counted, while pushing the peak towards the lower edge loses only a little off the steep side and drags that tail inside the band. the full guide to blackbody radiation works that trade through with the arithmetic beside it.
Now the frame. The vertical axis is set to the peak curve height at whatever temperature is loaded, so the apex always touches the top and the number printed there is a value the drawing genuinely reaches. That is honest about the shape and silent about the size: at 2700 K the top of the frame is 1.85e+3 W/m²/nm and at 12,000 K it is 3.20e+6, yet both curves are drawn the same 403.0 px tall. That peak height goes as the fifth power of the temperature, so the ratio between those two frames is (12000/2700)^5 = 1,734, which is not what dividing the two rounded figures above would give you.
The horizontal axis moves too, and rather more visibly. It runs to four times the peak wavelength, clamped between 1200 and 6000 nm and rounded to a tidy tick, and it is raised further if it would otherwise clip the gold region — so the shaded band is never cut off at the right-hand edge. Across the seven presets it takes six different values, from 1200 nm on the hottest to 4500 nm on the filament.
That is why the caption along the bottom of the canvas says what it says. It reads Vertical scale is set by this temperature — compare shapes, not heights, and it is assembled from the lines actually painted rather than stored as a constant, so a caption that failed to fit cannot be reported as though it were on the screen. The strip headed The frame under the canvas repeats both live numbers in prose.
The lab solves its own model exactly, so nothing on the screen ever fails. Everything below is a limit of that model, of the figures you feed it, or of what the drawing can carry, and each item says what this lab does about it.
For the argument in full, with the worked problems, the three-way split table and the diagrams that go with them, read Blackbody Radiation: Why 39% Is the Best Light You Get. If you would rather type figures than drag them, the blackbody radiation calculator takes the same three inputs and also runs the question backwards, returning the band edge that captures a share you name; it prints six significant figures where this lab prints two decimals, so its 36.6383 % and this lab’s 36.64 % are the same number.
The two ends of this calculation have tools of their own. The Stefan-Boltzmann law owns the total exitance card, with its calculator and its simulator beside it, and the Wien law calculator returns the peak wavelength card on its own for any temperature.
Nearby, the electromagnetic spectrum guide places the visible slice among the other bands with its lab, the guide to dispersion of light and the dispersion lab take that slice apart, and the wavelength formula and units guide covers nanometres and the rest of the scale. The photon energy guide and its calculator handle the edge cells, and the guide to absolute zero with its lab and its calculator covers the other end of the temperature slider. The rest is in the library of physics simulations and on the blog, and the site search will find a topic by name.
It draws one curve: the power an ideal radiator sends out per square metre per nanometre of wavelength, at the temperature you set. The slice between the two band edges is shaded gold, a cream tick marks the Wien peak, and a thin cream line reads the curve at a probe wavelength you choose. Four cards and eight cells put that drawing into figures.
Steadily to shorter wavelengths, because the peak of the per-wavelength curve sits at lam_peak = b/T. At 800 K, the bottom stop of the temperature slider, the Peak wavelength card reads 3622.2 nm; at 2700 K it reads 1073.2 nm, at 5772 K 502.0 nm, and at 12,000 K 241.5 nm. The cream tick follows that card across the canvas, entering the gold region and leaving it again.
No. The probe reads the curve and nothing else. Take it from 550 nm to 1000 nm at 5772 K and M_lam at the probe falls from 8.0849e+4 to 3.3729e+4 W/m²/nm, while the share stays 36.64 %, the peak stays 502.0 nm and neither power card moves. Only the temperature and the two band edges touch those four.
Yes, and the preset called The best temperature there is does it for you: the probe sits at 411 nm against a Peak wavelength card of 411.5 nm. There M_lam at the probe and M_lam at the peak both read 2.2282e+5 W/m²/nm, because half a nanometre from the apex the curve has not dropped by enough to show in the four figures those cells carry. Photon energy at the probe reads 3.0166 eV.
Yes, anywhere within the ranges of the two edge sliders. Lower band edge lam1 runs from 100 to 1400 nm and Upper band edge lam2 from 150 to 3000 nm, so any window with its ends inside those can be shaded and the share card reports that window instead. The two photon-energy cells belong to the edges rather than the surface, reaching 12.3984 eV at 100 nm and 0.4133 eV at 3000 nm.
For a 400 to 700 nm band it reaches 39.30 % and the temperature slider gets there at 7042 K. Step past that and the share falls back: 9000 K reads 35.82 % and 12,000 K reads 26.36 %, because by then most of the curve has slid left of the lower edge, where the Share below the lower edge cell climbs to 60.75 %.
Yes, at two precisions. The top of the frame is set to the peak curve height, so the two cells carry one quantity: M_lam at the peak prints four significant figures and Top of the vertical axis two decimals in exponential form. The opening state reads 8.2434e+4 beside 8.24e+4 W/m²/nm, and the hottest preset 3.2017e+6 beside 3.20e+6. Neither cell confirms the other.