SkySolver
Blind Moon solving, no date needed

Solve and annotate any Moon image

Drop a photo of the Moon: the whole disk, a crescent or a close-up through a telescope. SkySolver finds the disk, the phase and the libration, then names the 6,971 craters, maria, mountains and rilles of the near side on it, with the relief of the ground.

01Solve

Knows the Moon's face.
Under any light.

No scale, no phase, no orientation given. SkySolver recognises the Moon's ground against the lunar map whatever the lighting, and works out exactly which part you photographed, from the whole disk to a close-up a few hundred kilometres across, mirrored or not.

The Moon solver's own answer for this waning gibbous Moon, replayed: verified, 73 % of the photo explained, the runner-up 0.7 %.

02Annotate

Every crater,
by name.

The solved photo becomes a map of the Moon: 6,971 named features of the near side from the IAU nomenclature, the maria with their real outlines, the limb, the terminator and a selenographic grid, all drawn through the solve's view.

Copernicus to Clavius on a waxing gibbous Moon, annotated by the playground's own overlay code.

03Explore

See it in relief.
Turn it in your hands.

Beyond the names: the ground's heights from NASA's LOLA laser altimeter, shaded like the photo; the Moon as a globe with your frame on it; and everything there is to take away.

skysolver · playground · the Moon

A waxing crescent, three days old. The relief is rendered in your browser by the playground's own code, here from a coarser copy of the LOLA map.

04Public API · free

Build it into your own tools.

The Moon solver over HTTP: send a photo and get back the disk, the libration, the Sun and the phase, and where each corner of the frame lies on the Moon. No account, no key.

POST/api/v1/solve/moon
{
  "image": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYF…"
}
200 OKapplication/json
{
  "solved": true, "verdict": "verified", "path": "disk",
  "confidence": 0.7325, "runner_up": 0.0072,
  "view": { "cx": 1685.152, "cy": 1548.755, "R": 1460.165,
            "rho": 24.2736, "par": 1, "lon0": 8.1111, "lat0": -1.6872 },
  "scale_km_px": 1.18987,
  "sun": { "lon": -59.3, "lat": 0, "terminator": true, … },
  "phase": { "name": "waning gibbous", "fraction": 0.692,
             "angle_deg": 67.42, "waxing": false, … },
  "frame": {
    "center": { "lon": -4.2408, "lat": 1.694 },
    "corners": [null,
                null, …]
  },
  "timing_ms": { "solve": 123, … }
}
Read the API referenceFree · no key · rate-limited
Questions

The Moon solver, in questions

What does the Moon solver do?

It solves a photo of the Moon blind, the way SkySolver solves star photos: with no date, scale or orientation given, it finds where the Moon's disk lies in the frame, which way its north points, whether the image is mirrored, the libration and the direction of the Sun, and from it the phase. From then on every pixel has its selenographic longitude and latitude, and 6,971 named features of the near side are drawn on the photo. Lunar tools such as MoonView or LTVT can label a photo only once you have marked known craters by hand or entered when and where it was taken; SkySolver needs the photo alone.

Which Moon photos work?

The whole disk at any phase, crescents (best with a little earthshine), a small Moon above a landscape or in a daylight sky, and telescope close-ups of a region, in colour or black and white, mirrored or not. The disk can be small: on a clear sky about 3 % of the frame's width is enough.

Where are its limits?

Mostly in the size of the field. Of 201 telescope close-ups gathered from the web it verifies nine in ten; the ones it misses are tight fields along the terminator, a few hundred kilometres across or less. On test fields cut from sharp photos it solves about four in five at 250-350 km (a mare, Clavius with its surroundings), two in three at 180 km, and one in three at 60-130 km, a single mid-sized crater filling the frame. Framing a crater with some of its surroundings helps more than a sharper photo. Where it cannot place a field it answers “unsure” rather than guess: none of several hundred photos of other things was taken for the Moon. The far side is not covered, and very blurred photos and the thinnest crescents without earthshine can still fail. A solve takes a second or two; a photo it cannot place, up to about ten.

Does it need the date or the place?

No. The phase and the libration are read from the photo itself.

What does it show on the photo?

The limb and the terminator, a selenographic grid, the maria with their real outlines, the craters, mountains, valleys and rilles by name and to size, the relief from NASA's LOLA laser altimeter, and the Moon as a globe with your photo's frame on it. Point at any feature for its kind, size and position. You can download the annotated photo, the annotation as PNG or SVG, the features in the frame as CSV and the solution as JSON.

Is my Moon photo kept?

No. The solver gets a greyscale copy at most 2048 pixels across, solves it in memory and forgets it as soon as it has answered. Nothing is stored or logged.

Can I solve Moon photos from my own code?

Yes, with the API: send the photo and get back the disk, the libration, the Sun, the phase and where each corner of the frame lies on the Moon. Free, no key.

And photos of the night sky?

Those go to SkySolver's star solver: it finds where any night-sky photo points, from a telescope frame to a 360° panorama, usually in milliseconds, and labels its constellations, nebulae and galaxies. Solve a star photo.

6,971
named features of the near side
64 px/°
LOLA relief under your close-ups
125 ms
to solve the photos above
2048 px
the copy that is solved, then forgotten

Got a photo of the Moon?

Drop it in and see what you caught: the whole disk, a crescent or a close-up through a telescope, JPEG, PNG, TIFF, FITS, XISF, WebP or AVIF, as many as you like, solved one after another.

Try it out