← ALL PLANETS

How we get the colours

No telescope has ever photographed these planets in colour — most have never been seen as more than a wobble in their star's light. Every swatch on this site is a physics prediction: we model the light each planet reflects, light it with its own star, and convert the result to a colour exactly the way a human eye would. Four steps, from starlight to hex code.

STEP 1

Model the light the planet reflects

A planet has no light of its own — its colour is written in what it reflects. From the planet's temperature, size and likely cloud state we model its albedo spectrumThe fraction of starlight a planet reflects at each wavelength: 0 = absorbs everything, 1 = reflects everything. Its shape across the rainbow is what gives a planet its colour. — reflectivity at every visible wavelength, 380 to 780 nm. Chemistry sculpts its shape: methane eats red light (Neptune-likes turn blue-green), Rayleigh scatteringLight bouncing off individual molecules. Blue light scatters about ten times more strongly than red — the same physics that makes Earth's sky blue. brightens the blue end, thick cloud decks reflect everything and push the whole planet toward cream-white, and cloud-free hot Jupiters absorb almost everything and stay near-black.

with thick clouds: flat + bright CH₄ absorption eats the red 380 nm780 nm reflectivity

The spectrum is a vector A(λ) sampled 380–780 nm in 5 nm steps (81 samples). Three engines can produce it, picked per planet:

  • Parametric archetype model (most planets): temperature and size place the planet on a continuous blend of archetypes — cloudy Jupiter, methane Neptune, rocky world, hot Jupiter — each a sum of physically-motivated terms: a Rayleigh component ∝ λ−4, Gaussian methane absorption bands (centred near 619, 727 and 790 nm), a flat cloud-deck term, and alkali-metal (Na 589 nm) darkening for the hottest giants.
  • Cahoy et al. 2010 grids: precomputed Jupiter/Neptune-class albedo spectra at varying star–planet distances, metallicities and cloud states — the reference set used by the Roman Coronagraph community.
  • PICASO: NASA's open-source radiative transferSimulating how light is absorbed and scattered as it travels through an atmosphere, layer by layer, molecule by molecule. code, run for selected well-characterised targets.

Every page's data card states which engine produced its spectrum, and tags each input as measured, computed or assumed.

STEP 2

Light it with its own star

A mirror is only as colourful as what it reflects. The same planet looks different under a cool red dwarf than under a Sun-like star, so we multiply the albedo spectrum by the host star's own spectrum — modelled as a blackbodyThe smooth glow of anything hot: its spectrum depends only on temperature. Cool stars (~3000 K) glow orange-red; the Sun (~5800 K) yellow-white; hot stars blue-white. at the star's measured temperature. The product is the reflected light that would actually leave the planet and reach an observer.

A(λ) planet × S(λ) star = F(λ) reflected light

The star's spectrum is Planck's law at its effective temperature Teff (from the NASA Exoplanet Archive):

Bλ(T) = (2hc² / λ⁵) · 1 / (ehc/λkBT − 1) F(λ) = A(λ) · Bλ(Teff)

A blackbody is a deliberate v1 simplification: real stellar spectra carry absorption lines, but at the precision of a perceived colour the smooth curve is an excellent stand-in. Swapping in PHOENIX/Kurucz model atmospheres later changes only this step.

STEP 3

Convert it the way your eye would

A spectrum is thousands of numbers; an eye reduces them to one colour. We run the reflected light through the CIE 1931 colour matching functionsThree curves, measured from human observers in 1931, describing how strongly each wavelength stimulates the eye's three cone types. Still the international standard for turning a spectrum into a colour. — the standard model of human colour vision — which collapses the whole spectrum into three numbers (tristimulus XYZThree numbers that can encode any colour the eye can see — the bridge between physics (spectra) and screens (RGB).), and from there to an sRGBThe standard colour space of screens and the web; hex codes like #91d3ff live here. It cannot show every colour an eye can see. hex code. This is the exact machinery used to design camera sensors and displays — pointed at a planet.

ȳ 380 nm780 nm weight the spectrum by each curve, sum → X, Y, Z → #hex

Each tristimulus value is the spectrum weighted by one matching function and summed (the CIE 1931 2° observer):

X = ∫ F(λ) x̄(λ) dλ    Y = ∫ F(λ) ȳ(λ) dλ    Z = ∫ F(λ) z̄(λ) dλ

Then XYZ → linear sRGB via the standard 3×3 matrix (D65 white), followed by the sRGB gamma encode. Two honesty conventions on top:

  • Brightness. Planets are dim — rendered at true luminanceThe perceived brightness of a colour (the Y of XYZ): 0 = black, 1 = a perfect white reflector. nearly every swatch would be near-black. So a swatch shows the planet's colour identity at a fixed display luminance (Y = 0.60), and the true reflected brightness is reported separately — the Y BRIGHT readout on every planet page.
  • Gamut. Some modelled colours are more saturated than a screen can show. If the colour falls outside sRGB we desaturate it just enough to reach the edge of the displayable range (keeping hue and lightness), and flag it — the GAMUT · OOG readout.

The conversions use the colour-science library, not hand-rolled maths.

STEP 4

Grow a palette from the base colour

One colour becomes a designer palette: the base hue stepped through a five-stop lightness ramp, plus accent colours computed from slices of the actual spectrum — for example, the colour of just the light at the edge of a methane absorption band. The accents aren't decorative inventions; they are step 3 re-run on a narrow wavelength window.

Ramp stops: the base colour converted to a lightness-controlled space, its lightness replaced by five fixed targets (two shades, base, two tints), hue and chroma held. Spectral accents: restrict F(λ) to a window [λ₁, λ₂] (e.g. around a CH₄ band edge), re-run the CIE conversion on that slice alone, and keep the resulting colour, labelled with its source wavelength. Palettes export as hex, CSS variables or an .ase swatch file for design tools.

STEP 5 · THE ROMAN VIEW

What survives four filters?

NASA's Roman Space Telescope will be the first to measure reflected visible light from planets like these — but its coronagraph sees through just four bandpassesA filter that lets through only the wavelengths inside its window and blocks the rest. Roman's coronagraph carries four, centred at 575, 660, 730 and 835 nm., all in the orange-to-infrared half of the spectrum. Every planet page shows the same colour twice: the full-spectrum prediction, and the colour rebuilt from only what Roman's four filters would catch. The gap between them — the ΔE2000The standard measure of how different two colours look to a human: 0 = identical, ~2 = just noticeable, 10+ = clearly different colours. readout — is how much of the planet's colour identity Roman's filter set preserves.

Roman is blind here 575660 730835 nm 380

Each band is modelled as a top-hat filter; the measurement it would take is the star-weighted mean albedo inside the band:

valueband = ∫band A(λ)·S(λ) dλ / ∫band S(λ) dλ

Bands: 575 nm (10% width), 660 and 730 nm (6%, the spectroscopy channels), 835 nm (15%). To get a colour back we interpolate the four samples across the visible grid and re-run step 3. Below 575 nm Roman receives zero information — precisely the blue-violet region where many of these planets live — so the reconstruction holds the spectrum flat there rather than inventing data. That honesty is why blue planets lose the most colour in the Roman view. For Roman's ~dozen tech-demo targets, real measured photometry will one day replace the simulated band values — the only real colours any of these planets will ever have.

Planet and star parameters come from the NASA Exoplanet Archive. Every page states its model assumptions — cloud state, metallicity, spectrum engine — and tags each value as measured, computed or assumed. Modelled, not photographed — that's the whole point.

← ALL PLANETS