Sky&Numbers

How we calculate

Every calculator here has a pass mark: a check against a source that does not share its code. A page only goes into search engines when its tool meets its mark. The results below come from the last test run, 2026-11-03.

Sky positions

The Sun, Moon and planets come from astronomy-engine (MIT licence), as apparent geocentric longitudes on the tropical zodiac, measured on the true ecliptic and equinox of the date, with light-time and aberration applied. We use the JPL Horizons model of Delta T (the gap between Earth rotation time and atomic time) so far-future dates match Horizons. Pass mark: Sun to Pluto and the Moon within 1 arc-minute of NASA JPL Horizons at 30 dates from 1900 to 2100. Measured: 300 of 300, worst 16.9 arc-seconds (neptune 1968-10-27 08:40).

Lunar nodes and Black Moon Lilith are our own code from Meeus, Astronomical Algorithms, chapters 47 and 50. The true node adds five periodic terms to the mean node; Lilith is the mean lunar apogee only. Meeus worked examples: 15 of 15. Pass mark for the true node: within 0.25 degree of the JPL Horizons lunar node, and within 1.9 degrees of the mean node over 1900-2100 (Horizons' own node reaches 1.89 degrees from the mean). Measured: true node within 0.208 degrees of JPL Horizons on 80 dates (pass mark 0.25); largest true - mean node 1.878 degrees over 1900-2100 (pass mark 1.9).

The Ascendant and Midheaven use Greenwich apparent sidereal time (IAU 2006 with the equation of the equinoxes) plus your east longitude, and the true obliquity. Pass mark: a second formula path, finding the ecliptic point on the horizon and on the meridian through astronomy-engine's own coordinate rotations, agrees to 0.01 degree for 50 random times and places from 60 S to 60 N. Measured: worst 0.00 arc-seconds over 50 random times and places, 60 S to 60 N.

Houses: Placidus by default, Whole Sign and Equal on request. Placidus cannot be drawn above about 66 degrees latitude; there the chart uses Whole Sign and says so. Checks: 40 Placidus charts: cusps 1 and 10 equal Asc and MC, opposite cusps 180 degrees apart, cusps 11, 12, 2, 3 meet the semi-arc definition to 0.01 degree; 70 N switches to Whole Sign.

Aspect orbs

AspectAngleOrb
Conjunction0°8°
Sextile60°5°
Square90°7°
Trine120°7°
Opposition180°8°

Orbs are 2 degrees wider when the Sun or Moon is involved. The same table is used for birth charts, synastry, composite charts and transits. Composite positions are midpoints along the shorter arc.

Time zones and places

Your local birth time is turned into UTC with your own browser's time-zone data (Intl.DateTimeFormat), for the IANA zone of the place you pick. A time that did not exist because clocks jumped forward, or that happened twice because they went back, makes the calculator ask which one you mean. Every sky result shows the zone, offset and UTC used, with an offset override, and births before 1970 get a reminder that older records can be wrong.

Pass mark: 40 local times (New York 1965, London 1971 British Standard Time, Chicago 1974 winter daylight time, India 1945, Sydney, Phoenix, Sao Paulo, every kind of changeover day and more) give the same offset as Python zoneinfo built from the IANA source, in Chromium, Firefox and WebKit (our stand-in for Safari).

EngineCases matching zoneinfoDifferences
chromium 155.0.8059.8539 / 40Amsterdam 1935 summer, +1:19:32: zoneinfo ok 4772, got ok 3600
firefox 131.039 / 40Amsterdam 1935 summer, +1:19:32: zoneinfo ok 4772, got ok 3600
webkit 18.039 / 40Amsterdam 1935 summer, +1:19:32: zoneinfo ok 4772, got ok 3600

Amsterdam 1935 summer, +1:19:32. Before 1937 the Netherlands kept Amsterdam Mean Time, 19 minutes 32 seconds ahead of GMT (+1:19:32 in summer). The full IANA database (with its historical backzone file) has this, but the trimmed copy built into browsers treats Amsterdam like Brussels and gives +1:00. For Dutch births before 1937, type the offset +01:19:32 in summer or +00:19:32 in winter.

Places come from the GeoNames cities15000 list (CC BY 4.0): towns of 15,000 people or more, with coordinates and the IANA zone. For a smaller place, pick the nearest town or type coordinates. Spot checks: 20 of 20 spot checks: country, coordinates within 0.01 degree of the dump, zone.

Chinese zodiac

The animal year starts at Lunar New Year. We compute the dates ourselves from new moons and solar terms in China time (Beijing local mean time before 1929), with the leap-month rule. Against the Hong Kong Observatory tables: 200 of 200 Lunar New Year dates match the Hong Kong Observatory tables.

Numerology

Pythagorean letter values: A, J and S are 1, B, K and T are 2, through I and R at 9. Each word of a name is reduced to one digit first; the words are added and reduced again, and the master numbers 11, 22 and 33 are kept at that last step. For the life path, the year of a birth date is reduced to one digit, while the month and day are reduced but keep 11 and 22 when they land on one (day 11, 22 or 29, month 11), so a total of 33 can occur. When adding every digit at once gives another answer, the result shows both. Y counts as a vowel when no other vowel sits next to it, unless you choose always or never. Karmic debt is flagged when 13, 14, 16 or 19 appears before the last reduction. Accents fold to base letters; other scripts are not supported yet. The Chaldean page uses the Chaldean table (1 to 8). Each tool's own cases are listed below.

Every calculator

CalculatorMethod and pass markStatus
Birth Chart CalculatorSun to Pluto: apparent geocentric ecliptic longitudes of date from astronomy-engine. Nodes and mean Lilith: Meeus ch. 47 and 50. Ascendant and MC from apparent sidereal time and true obliquity. Placidus cusps by iterating the semi-arc condition (Whole Sign above the polar circle), Whole Sign and Equal on request. Aspects: conjunction 8, sextile 5, square 7, trine 7, opposition 8 degrees, Sun and Moon plus 2. Pass mark: Sun to Pluto and the Moon within 1 arc-minute of JPL Horizons; Ascendant and MC to 0.01 degree against a second formula path; Placidus checks (cusp 1 = Asc, cusp 10 = MC, opposite cusps, semi-arc definition, Whole Sign above 66 degrees); Meeus worked examples; 40 time-zone cases in three engines; 20 place spot checks.indexed
Astrology Houses CalculatorPlacidus: for houses 11, 12, 2 and 3 the right ascension is iterated until the ecliptic point's meridian distance is the required fraction (1/3 or 2/3) of its diurnal or nocturnal semi-arc; houses 4 to 9 are opposite. Whole Sign: 0 degrees of the rising sign, then each sign. Equal: the Ascendant plus 30 degrees a house. Planets are placed by longitude between cusps. Pass mark: Placidus cusps of 40 random charts: cusp 1 = Ascendant, cusp 10 = MC, opposite cusps 180 degrees apart, cusps 11, 12, 2, 3 meet the semi-arc definition to 0.01 degree with astronomy-engine's own coordinate rotations; 70 degrees north switches to Whole Sign. Plus the Ascendant second path, Horizons, time zones and places.indexed
Chinese Zodiac CalculatorLunar New Year dates 1901-2100 computed with astronomy-engine new moons and solar terms in China time (UTC+8, and Beijing local mean time UTC+7:45:40 before 1929): month 11 contains the December solstice, a 13-month year makes the first month without a principal solar term a leap month, and New Year is the second new moon after month 11 began (the third when the leap month falls right after month 11 or 12). Animal = (year - 4) mod 12; element and yin or yang from the heavenly stem (year - 4) mod 10. Pass mark: All 200 Lunar New Year dates 1901-2100 equal the Hong Kong Observatory Gregorian-Lunar conversion tables (tests/fixtures/lny.json), plus hand-worked animal and element cases. Cases: 8 of 8.indexed
Chinese Zodiac CompatibilityEach birth date gives an animal from our Lunar New Year table. Trines: Rat Dragon Monkey, Ox Snake Rooster, Tiger Horse Dog, Rabbit Goat Pig. Secret friends: Rat-Ox, Tiger-Pig, Rabbit-Dog, Dragon-Rooster, Snake-Monkey, Horse-Goat. Clash: six years apart. Harm: Rat-Goat, Ox-Horse, Tiger-Snake, Rabbit-Dragon, Monkey-Pig, Rooster-Dog. No score. Pass mark: Lunar New Year table 200 of 200 against the Hong Kong Observatory, and the relation cases in tests/fixtures/cases.yaml all match. Cases: 4 of 4.indexed
Composite ChartComposite position = midpoint of the two natal longitudes along the shorter arc, for Sun to Pluto and the north node; Midheaven midpoint when both times are known. Aspects inside the composite use the site's aspect table. No composite houses. Pass mark: Sun to Pluto within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Expression Number CalculatorPythagorean values (A=1 to I=9, J=1 to R=9, S=1 to Z=8). Accents are folded to base letters. Each name is summed and reduced to one digit; the names are added and the total reduced, keeping 11, 22 and 33 at the final step. The all-letters total is shown when it differs. Personality uses the consonants with the same Y rule as the soul urge. Names in other scripts are not supported. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (Ada Lovelace 9, John Smith 8 and personality 11, accented José Núñez 3, a Cyrillic name refused) all match. Cases: 5 of 5.indexed
Life Path Number CalculatorPythagorean numerology. The year is reduced to one digit by adding digits. Month and day are reduced too, but 11 and 22 are kept when they land on one (day 11, 22 or 29, month 11). The three are added and reduced again, keeping 11, 22 and 33 at that final step. The all-digits total is shown when it differs. Totals of 13, 14, 16 and 19 before the final reduction are flagged as karmic debt. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (life path 9, 11, 22, 33, 2 with a kept day 11, 9 with a kept month 11, 4 with karmic debt 13, 1 with karmic debt 19, typed US dates) all match. Cases: 19 of 19.indexed
Black Moon Lilith CalculatorMean lunar perigee from Meeus ch. 50 (83.3532465 + 4069.0137287 T - 0.0103200 T^2 - T^3/80053 + T^4/18999000), plus 180 degrees for the apogee; T in Julian centuries of TT from J2000. Pass mark: Agrees to 0.01 degree with the mean apogee derived independently from Meeus' worked values (L' - M' + 180) in Examples 47.a and 22.a.indexed
Mars Sign CalculatorApparent geocentric ecliptic longitude of Mars of date from astronomy-engine (light-time and aberration applied) at the UTC instant of birth; retrograde from the 24-hour motion. Pass mark: Sun to Pluto and the Moon within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Mercury Sign CalculatorApparent geocentric ecliptic longitude of Mercury of date from astronomy-engine (light-time and aberration applied) at the UTC instant of birth; retrograde from the 24-hour motion. Pass mark: Sun to Pluto and the Moon within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Midheaven CalculatorRAMC = Greenwich apparent sidereal time (astronomy-engine) + east longitude; MC = atan2(sin RAMC, cos RAMC cos e) with the true obliquity e. Pass mark: Midheaven and Ascendant agree to 0.01 degree with a second formula path (the ecliptic point on the meridian found through astronomy-engine's rotation matrices) for 50 random times and places; Meeus Example 12.a and 12.b sidereal time to 0.001 degree; time zones in three engines; place spot checks.indexed
Moon Sign CalculatorApparent geocentric ecliptic longitude of the Moon (true ecliptic and equinox of date) from astronomy-engine at the UTC instant of birth. Without a time: noon local, and the local day from 00:00 to 24:00 is searched for a sign change, found to the minute. Pass mark: Sun to Pluto and the Moon within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Name Numerology CalculatorSame Pythagorean method as the expression number, applied to any name as typed: letters valued 1 to 9, each word reduced to one digit, words added and reduced keeping 11, 22 and 33. Vowel and consonant numbers use the Y rule chosen in the form. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (John Smith: whole name 8, vowels 6, consonants 11) all match. Cases: 3 of 3.indexed
Chaldean Numerology CalculatorChaldean letter table (A I J Q Y = 1, B K R = 2, C G L S = 3, D M T = 4, E H N X = 5, U V W = 6, O Z = 7, F P = 8). All letters are summed at once; the compound total is shown, then reduced to one digit. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (John Smith compound 35 and root 8, Ada 6) all match. Cases: 3 of 3.indexed
House Number Numerology CalculatorDigits count as themselves and letters by Pythagorean value (A=1 ... I=9, J=1 ...). Everything is added and the total reduced to one digit, keeping 11, 22 and 33. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (12B = 5, 221B = 7, 1600 = 7) all match. Cases: 3 of 3.indexed
North Node CalculatorMean ascending node from Meeus (47.7). True node = mean node minus 1.4979 sin 2(D - F), 0.1500 sin M and 0.1226 sin 2D, plus 0.1176 sin 2F, minus 0.0801 sin 2(M' - F) (Meeus ch. 47), with the fundamental arguments of ch. 47. The south node is 180 degrees away. Pass mark: Meeus Example 22.a mean node (11.2531 degrees) to 0.01 degree and the ch. 47 arguments of Example 47.a; true node within 0.25 degree of the JPL Horizons lunar node on 80 dates, and within 1.9 degrees of the mean node over 1900-2100.indexed
Numerology Chart CalculatorLife path, expression, soul urge, personality and personal year as on their own pages. Birthday = day of the month reduced, keeping 11 and 22. Maturity = life path + expression (masters counted as their root), reduced keeping 11, 22 and 33. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (1990-03-05 and John Smith: life path 9, expression 8, birthday 5, maturity 8) all match. Cases: 4 of 4.indexed
Numerology Compatibility CalculatorEach birth date gives a life path (month, day, year reduced, added, reduced keeping 11, 22, 33). Families: 1-5-7, 2-4-8, 3-6-9; master numbers join the family of their root. Relation = same number, same family or different families. No score. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (same number, different family, same family) all match. Cases: 3 of 3.indexed
Personal Year Number CalculatorBirth month, birth day and the calendar year of the chosen date are each reduced to one digit, added, and reduced keeping 11, 22 and 33. Personal month = personal year (masters counted as their root) + calendar month; personal day = personal month + day of the month, reduced the same way. The year turns over on January 1. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (personal year 9, 8 and 5, personal month 11, personal day 5) all match. Cases: 5 of 5.indexed
Rising Sign CalculatorLocal time to UTC with the browser's Intl time-zone data (zone from the GeoNames place). Greenwich apparent sidereal time from astronomy-engine (IAU 2006 + equation of the equinoxes) plus the east longitude gives the RAMC; with the true obliquity, Ascendant = atan2(cos RAMC, -(sin RAMC cos e + tan latitude sin e)). The sign 15 minutes either side is checked and shown when it differs. Pass mark: Ascendant and Midheaven agree to 0.01 degree with a second formula path (the ecliptic point on the horizon found through astronomy-engine's own rotation matrices) for 50 random times and places 60 S to 60 N; Sun to Pluto within 1 arc-minute of JPL Horizons; 40 time-zone cases against Python zoneinfo in Chromium, Firefox and WebKit; 20 place spot checks.indexed
Saturn Return CalculatorNatal Saturn = apparent geocentric ecliptic longitude of date at birth (astronomy-engine). Saturn's longitude is sampled every 5 days from age 24 to 33, 53 to 62 and 82 to 91 (up to 2100); each crossing of the natal value is found by bisection to under a minute and listed, direct or retrograde. Pass mark: Sun to Pluto within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Solar Return ChartNatal Sun longitude from astronomy-engine; the return instant in the chosen year is found by bisection in the six days around the birthday, then a full chart (Ascendant, Placidus or chosen houses, Sun to Pluto) is cast for that instant at the birth place. Pass mark: Sun to Pluto within 1 arc-minute of JPL Horizons; Ascendant to 0.01 degree against a second formula path; Placidus cusps meet their definition; 40 time-zone cases in three engines; 20 place spot checks.indexed
Soul Urge Number CalculatorVowels of the full birth name with Pythagorean values. A, E, I, O, U always count; Y counts when no vowel is beside it in the same name (switchable to always or never). Each name's vowels are summed and reduced to one digit, the names added and reduced keeping 11, 22 and 33. Pass mark: Hand-worked cases in tests/fixtures/cases.yaml (Ada Lovelace 1, Mary Smith 8 with the default Y rule and 1 with Y never, Yolanda 8) all match. Cases: 4 of 4.indexed
Sun, Moon and Rising CalculatorSun and Moon: apparent geocentric ecliptic longitudes of date from astronomy-engine. Rising sign: the Ascendant from apparent sidereal time, east longitude and true obliquity, as on the rising sign page. Without a time the Ascendant is not computed and the day is searched for Sun and Moon sign changes. Pass mark: Sun to Pluto and the Moon within 1 arc-minute of JPL Horizons; Ascendant agrees with a second formula path to 0.01 degree for 50 random cases; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Synastry ChartEach person's Sun to Pluto from astronomy-engine at their own UTC birth instant. Every pair (A body, B body) is tested against the site's one aspect table: conjunction 8, sextile 5, square 7, trine 7, opposition 8 degrees, Sun and Moon plus 2. Sorted by orb. Pass mark: Sun to Pluto within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Transit ChartTransit positions: astronomy-engine at 12:00 UTC on the chosen date. Aspects from each transiting body (Moon excluded) to each natal Sun to Pluto with the site's one aspect table: conjunction 8, sextile 5, square 7, trine 7, opposition 8 degrees, Sun and Moon plus 2. Pass mark: Sun to Pluto within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Venus Sign CalculatorApparent geocentric ecliptic longitude of Venus of date from astronomy-engine (light-time and aberration applied), at the UTC instant of birth. Retrograde when the longitude 12 hours later is smaller than 12 hours earlier. Pass mark: Sun to Pluto and the Moon within 1 arc-minute of JPL Horizons at 30 dates 1900-2100; 40 time-zone cases in three browser engines; 20 place spot checks.indexed
Zodiac Compatibility CalculatorSigns are counted around the zodiac: 0 apart same sign, 1 neighbours, 2 sextile, 3 square, 4 trine, 5 quincunx, 6 opposite. Elements: same, compatible (fire-air, earth-water) or contrasting. Modalities: same or different. A birth date gives the sun sign from a solar longitude series (Meeus ch. 25); on a day the Sun changed sign both signs are offered. No score. Pass mark: Cases in tests/fixtures/cases.yaml (trine, square, opposite, same sign, neighbours, same element) all match the published rules. Cases: 6 of 6.indexed
Zodiac Compatibility ChartEach cell is the relation of the row sign to the column sign by distance around the zodiac, the same rule as the zodiac compatibility calculator. No score. Pass mark: Cases in tests/fixtures/cases.yaml (144 cells, 24 trine, 12 opposite) all match. Cases: 3 of 3.indexed