Every point is a real star, galaxy or quasar · 4,616,289 of them, all measured by real telescopes
A map of everything we have actually measured the distance to.
Nearly every picture of the universe you have seen is flat. The sky is a dome and the objects on it are pinned to that dome, because from here you cannot tell what is near and what is far — a nearby dwarf galaxy and a quasar eleven billion years old sit side by side, the same size, the same nothing-in-particular.
This map is what happens when you put the third dimension back. Every point here has a measured distance: a parallax wobble that Gaia tracked over years, or a redshift that a spectrograph pulled out of the object's own light. Nothing is placed by guess and nothing is simulated. Fly into it and the flat sky comes apart into structure — the local star cloud, then a shell of galaxies, then filaments, then quasars at the edge of what we can see.
| Layer | Count | How the distance is known |
|---|---|---|
| Stars | 1,200,000 | Gaia DR3 parallax — the star's apparent shift as Earth swings around the Sun. A uniform random draw from the 6,786,069 Gaia stars brighter than G = 13.26 whose distance is known to better than 10%. The full 6.8M tier is built by the pipeline but is not hosted with this site — it is a 52 MB file, and git keeps every blob forever — so what you are flying through is the 1.2M draw. The parallax quality cut is what caps the layer at 2 kpc. |
| Galaxies | 2,656,968 | SDSS DR17 spectroscopic redshift for 2,613,461 of them — every one a galaxy whose light was split into a spectrum and measured, not estimated from a photograph, and that is the entire catalogue under the cut rather than a sample. The remaining 43,507 are a nearby all-sky set whose source file carries no provenance header; they have no measured redshift and are drawn neutral. |
| Quasars | 752,910 | SDSS DR17 spectroscopic redshift. These are galaxies too — a quasar is the blazing core of one, lit by a feeding supermassive black hole. They get their own layer because they are the most distant objects here, not because they are a different kind of thing. Again, all of them. |
| Exoplanets | 6,411 | NASA Exoplanet Archive, one point per confirmed planet. Plotted at its host star, so multi-planet systems stack on one position. |
| Cosmic web | 260,178 | Tempel et al. 2014 — inferred, not observed. See below. |
Worth being precise about, because "10 million" invites the question. For two of the layers this map draws the entire catalogue; for the stars it is a deliberate slice.
| Layer | Drawn | Exists in the catalogue | Share |
|---|---|---|---|
| Galaxies | 2,613,461 | 2,613,461 SDSS galaxies with a spectroscopic redshift | 100% |
| Quasars | 752,910 | 752,910 SDSS quasars under the same cut | 100% |
| Stars | 1,200,000 | a uniform random draw from the 6,786,069 Gaia DR3 stars brighter than G = 13.26 with a distance known to 10% (out of ~1.81 billion sources in the release); the full tier is built but not hosted, so 1.2M is what ships | 17.7% |
And the honest denominator behind all of it: the Milky Way holds somewhere around a hundred billion stars, and the observable universe perhaps two trillion galaxies. Every catalogue ever assembled is a rounding error against that. What is remarkable is not the count — it is that for a few million objects, somebody actually measured how far away they are.
Four honest caveats, because a map that hides them is a painting.
The cosmic web is a model. Those blue threads are not photographs of anything. They are filament spines found by fitting a statistical process to where SDSS galaxies sit — real structure, genuinely there, but inferred rather than observed. They are counted separately from the object total for exactly that reason.
The layers are not to scale with each other. Each one is drawn into its own shell so you can see them all at once. The order is right — stars inside galaxies inside quasars — but the gaps between shells are compressed. In reality the deep field is roughly a thousand times further away than the star cloud, not nine times. Inside any one layer, relative positions are true.
Turning a redshift into a distance assumes a cosmology. The redshifts are measured. Converting them to a position needs a model of how fast the universe expands — here the standard one, H₀ = 70, Ωm = 0.3. Change those numbers and everything shifts. That is normal, and it is a model, not a ruler.
The star sphere is a selection boundary, not a shape. The stars form a clean ball around you, and that ball is not the Milky Way — it is the edge of what parallax can measure. The cut keeps stars whose distance is known to 10%, which stops hard at 2 kpc, and 3.4% of the layer piles into the outermost 100 pc of that shell. The real distribution underneath is a disk: measured axis ratio 0.38, roughly two and a half times wider than it is tall. Look for the flattening and you can see it.
Also: dot size and brightness are rendering choices, not physical sizes — a bright dot is not a big object. And the slow drift is animation, not real motion. The universe does move, but not while you watch.
The whole catalogue does not get drawn. The points are packed into an octree — a cube split into eight cubes, recursively — where every node keeps a random sample of what is beneath it. That sampling is the trick: draw a node without its children and you get a fair thinning of that region, so distant structure keeps its true shape and just gets sparser.
Each frame walks the tree best-first under a fixed budget of about 1.2 million points, skipping whole subtrees that are off-screen or too small to matter. So the frame cost is set by the budget, not by the catalogue — which is why tripling the data changed the frame time by nothing at all.
Positions are stored as 16-bit offsets inside each node's own cube rather than as full coordinates, which is where the file size goes: 8 bytes a point instead of 20, at a precision finer than anything you can see.
Fly around the Milky Way sphere and you will see faint linear ridges in the star density. They are not a rendering artefact — they are Gaia's scanning law. The spacecraft sweeps the sky on a fixed repeating pattern, so some directions were observed more often than others, and the catalogue's source density carries that pattern. The ridges stay fixed to the sky and turn with the data as you orbit, which is how you can tell them from anything the renderer is doing. Smoothing them away would mean moving stars off their measured positions, so they are left in.
Colour is a real measurement, not decoration. Stars are tinted by BP−RP, Gaia's own colour index, so hot blue stars are blue because they are hot. Galaxies and quasars are tinted by redshift, so the colour is telling you how far back in time you are looking. Vivid spreads those values across a wider hue ramp; True colour is the calibrated appearance. Both encode the same measured numbers — anything the instrument did not measure is drawn neutral, never invented.
ESA Gaia DR3 · SDSS DR17 (SkyServer) · NASA Exoplanet Archive · Tempel, Stoica, Kipper & Saar 2014, MNRAS 438, 3465. Built with three.js. Public data, all of it — you can download every catalogue here and check the numbers.