Most black hole pictures are artists’ impressions: drawn by hand or with animation software to show roughly what one might look like. This one is calculated. Each pixel is a ray of light traced through the equations of general relativity, live in your browser.

Ray-traced black hole seen from just above its accretion disk: the far side of the disk appears as an arc above and below the dark center, which is surrounded by a thin bright ring
Seen from just above the plane of the disk. The arcs above and below the center are the far side of the disk.

What you’re looking at

A black hole with an accretion disk: a flat disk of hot gas orbiting it. The disk really is flat. What makes the picture look strange is gravity bending the light on its way to the camera:

Animation vs. simulation

An animation is drawn to look a certain way. A simulation calculates what the image should be from a set of physical rules.

Here, for each of roughly a million pixels, the graphics card sends a ray of light backward from the camera and follows it in a few hundred small steps through the curved space around the black hole. The ray either falls into the black hole, continues out to the background stars, or hits the disk. If it hits the disk, the temperature and speed of the gas at that point, plus how much gravity shifts the light on its way out, set the pixel’s color and brightness. There is no setting that adjusts the shape of the arc or the brightness of one side directly. Those come out of the calculation.

The film Interstellar calculated the light bending the same way, then deliberately left out the uneven brightness and color shifts to keep the image simple. This version includes them, which is why one side is brighter.

Comparing against known results

The same disk rendered with light bending switched off: a plain flat ring around a small black sphere
The same disk with light bending switched off.

Where to view it

The simulator runs on your device’s graphics card, so it looks and runs best on a laptop or desktop. On phones and other small devices it switches to a lower resolution and fewer steps per ray, and can look coarser. The still images on the page and in this article are full-quality renders of what it produces.

Built with Claude Opus 5.5

The physics is standard general relativity. Most of the work was making it fast enough to run in real time on a laptop’s graphics card. I built it with Claude Opus 5.5: the derivations, the GPU ray tracer, a separate double-precision test program to check it against, and the write-up.

The images are free to use, for teaching or anything else, with credit. Try it here. Curious which angle people end up leaving it on.