Accuracy · in the open

How accurate is Lumo? We checked, out loud.

Most astrology apps quote a number like “97% accurate.” There's no way to check that, and no way for it to be wrong. So we don't. Instead we check the part that can be checked: the astronomy. Every position our engine computes is verified against authorities outside our own code.

This measures calculation accuracy, whether the planets are where we say they are. It is not a claim about predicting your life. Nothing can promise that, and we never will.

All 57 cross-checks passing, verified live
cross-check · liveNASA / JPL Horizons

Sun vs JPL — Chennai 1980-07-04 08:20

engine 102.2792° vs JPL 102.2763° (1980-Jul-04 02:50 UT)

10.2″difference · we allow up to 72.0″

Two independent engines agree — read live as this page loaded, from /public/accuracy

Cross-checked against
  • The sky itself
  • NASA / JPL Horizons
  • astro.com (Astrodienst)
  • The Tamil panchangam
57

independent cross-checks, 57 passing right now

37

birth charts we check ours against, 1900–2025, north and south of the equator

4

external authorities, none of them ourselves

0

self-reported accuracy percentages, the one number we refuse to invent

How we check

Five kinds of test, each comparing our maths to something we don't control. The first two are the real proof, and the rest keep us honest over time.

Cross-checked against NASA

The strongest test we have. We compare our positions to NASA/JPL Horizons, a completely different calculation engine from the one we use. Two independent methods agreeing is real evidence, not a claim about ourselves.

Against the sky itself

Facts of astronomy that don't depend on any software: where the Sun sits at each equinox and solstice, the published rate of the earth's slow wobble, how far the Moon travels in a day.

Cross-checked against astro.com

The same birth charts, read on Astrodienst (astro.com), an independent tool that many people trust. Where a chart hasn't been transcribed yet, we say so plainly rather than pretend.

Cross-checked against the Tamil panchangam

For sample days (festival days, an eclipse, even a leap day) we compare our tithi (lunar day) and natchathiram (the day's star) timings against DrikPanchang.com, and show the difference in minutes. Worth knowing: Tamil almanacs come in two kinds. We follow thirukanitham, the computed kind — the same tradition as Vasan and the government's Rashtriya Panchang. If your family keeps a vakyam almanac like Pambu Panchangam, its timings sit roughly 40 minutes either side of ours, occasionally up to three hours. We measured that ourselves instead of guessing. Same sky, older maths, both traditions real.

Stable over time

Reference charts we froze, so any future change to our maths shows up immediately. This proves we don't drift, and the checks above prove we're right.

The live report

Every check below runs in our CI on every release, and is pulled from the engine this request. Green is a pass, and anything that needs review is shown as exactly that.

All 57 checks currently pass. Updated automatically on every release.

Cross-checked against NASA

  • Sun vs JPL — Chennai 1980-07-04 08:20

    engine 102.2792° vs JPL 102.2763° (1980-Jul-04 02:50 UT). We are off by 10.2″, and we allow up to 72.0″ · JPL Horizons (NASA/JPL, DE441)

  • Moon vs JPL — Chennai 1980-07-04 08:20

    engine 356.4955° vs JPL 356.4925° (1980-Jul-04 02:50 UT). We are off by 10.8″, and we allow up to 72.0″ · JPL Horizons (NASA/JPL, DE441)

  • Sun vs JPL — Chennai 1990-05-15 09:30

    engine 54.0714° vs JPL 54.0747° (1990-May-15 04:00 UT). We are off by 11.6″, and we allow up to 72.0″ · JPL Horizons (NASA/JPL, DE441)

  • Moon vs JPL — Chennai 1990-05-15 09:30

    engine 293.0529° vs JPL 293.0563° (1990-May-15 04:00 UT). We are off by 12.4″, and we allow up to 72.0″ · JPL Horizons (NASA/JPL, DE441)

Against the sky itself

  • March equinox 2025 → tropical Sun 0°

    tropical Sun 359.999° vs 0°. We are off by 1.9″, and we allow up to 0.300°

  • June solstice 2025 → tropical Sun 90°

    tropical Sun 89.999° vs 90°. We are off by 2.6″, and we allow up to 0.300°

  • Sept equinox 2025 → tropical Sun 180°

    tropical Sun 179.999° vs 180°. We are off by 4.3″, and we allow up to 0.300°

  • Dec solstice 2025 → tropical Sun 270°

    tropical Sun 269.999° vs 270°. We are off by 5.3″, and we allow up to 0.300°

  • Lahiri ayanamsa at J2000 ≈ 23.85°

    23.8571°. We are off by 25.5″, and we allow up to 0.100°

  • Moon daily motion in 11–15°/day

    13.542°/day. We are off by 0.366°, and we allow up to 2.000°

Cross-checked against astro.com

  • Independent (astro.com): Chennai 1980-07-04 08:20

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.7″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Chennai 1990-05-15 09:30

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.7″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Chennai 2000-01-01 06:00

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.3″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Madurai 1965-11-20 04:15

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.9″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Kolkata 1944-02-29 06:30

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.3″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Colombo 1988-03-10 21:40

    Δsun 0.0000° Δmoon 0.0004° Δasc 0.0000°. We are off by 1.5″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Kathmandu 1995-08-15 14:25

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.4″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Yangon 2005-04-04 10:10

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.0″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Singapore 1968-08-09 08:30

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.0″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Wellington 1929-02-10 16:45

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.7″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Honolulu 1941-05-20 07:55

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.2″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Sydney 1983-01-30 03:45

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.8″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Adelaide 1975-12-25 23:55

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.1″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Darwin 2020-03-29 02:15

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.1″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Perth 1962-07-07 07:07

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.8″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Auckland 2004-09-26 12:00

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.5″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Suva 2015-01-15 06:30

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.0″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Cape Town 1994-05-10 09:00

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.3″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Nairobi 1985-07-22 15:20

    Δsun 0.0000° Δmoon 0.0004° Δasc 0.0000°. We are off by 1.4″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Quito 1979-04-01 06:00

    Δsun 0.0000° Δmoon 0.0003° Δasc 0.0000°. We are off by 1.2″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Sao Paulo 1969-12-31 23:59

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.0″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Buenos Aires 1950-06-21 18:30

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.1″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Ushuaia 1998-11-11 11:11

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.6″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Santiago 2010-02-26 20:00

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.2″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Reykjavik 1980-12-21 12:00

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.4″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Tromso 1990-06-21 00:30

    Δsun 0.0000° Δmoon 0.0003° Δasc 0.0000°. We are off by 1.1″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Anchorage 1971-03-15 17:45

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.6″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Helsinki 2025-03-30 05:00

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°. We are off by 0.6″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Tokyo 1900-01-01 00:01

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.2″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Paris 1912-04-14 23:30

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.4″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Berlin 1923-05-05 14:00

    Δsun 0.0000° Δmoon 0.0003° Δasc 0.0000°. We are off by 1.2″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): New York 1929-10-29 10:00

    Δsun 0.0000° Δmoon 0.0003° Δasc 0.0000°. We are off by 1.2″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Moscow 1937-01-15 11:00

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.2″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): London 1944-06-06 05:30

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.3″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Cairo 1956-03-08 16:00

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.5″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Mexico City 1985-04-12 19:30

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.4″, and we allow up to 0.200° · astro.com (Astrodienst)

  • Independent (astro.com): Los Angeles 2024-11-03 04:30

    Δsun 0.0000° Δmoon 0.0001° Δasc 0.0000°. We are off by 0.2″, and we allow up to 0.200° · astro.com (Astrodienst)

Cross-checked against the Tamil panchangam

Stable over time

  • Golden chart: Chennai 1980-07-04 08:20

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.1″, and we allow up to 36.0″

  • Golden chart: Chennai 1990-05-15 09:30

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°. We are off by 0.2″, and we allow up to 36.0″

Verify it yourself

This page isn't marketing copy with a number typed into it. It's built from a public endpoint, the same JSON, no key required. Fetch it, diff it, watch it change when we ship.

GET /public/accuracy

{
  "passing": true,
  "checks": [
    { "name": "Moon vs NASA/JPL", "category": "independent-ephemeris",
      "delta": 0.0003, "tolerance": 0.01, "unit": "degrees", "pass": true }
    // … every check on this page
  ],
  "reference": { "entered": 37, "total": 37, "pending": 0 }
}

Why we measure, not market

A percentage you can't check is just a slogan

“97% accurate” sounds reassuring and means nothing. There's no way to test it, and no way for it to be wrong. We'd rather show you the one thing that can be tested: that the sky we compute matches the sky the world agrees on. The interpretation is kept honest a different way,

by a safety guard with six layers →

Build on an engine you can check

The same calculations, as an API, with this report live behind it. Verifiable accuracy and a published safety layer, in one contract.

See the engine for developers