Numerology is deceptively complex. The public internet is full of contradictory descriptions of how to calculate life path numbers, destiny numbers, and soul urge numbers. Master numbers are handled differently by different traditions. Karmic debt isn't documented anywhere authoritatively. This post explains the choices we made and why.
Pythagorean vs Chaldean
The Pythagorean system assigns numbers to letters based on their position in the English alphabet: A=1, B=2, ... I=9, J=1, K=2, ... The Chaldean system uses a different mapping rooted in ancient Babylonian numerology: A=1, B=2, C=3, D=4, E=5, U=6, O=7, F=8 (note the differences). The number 9 is considered sacred in Chaldean and is never assigned to a letter.
We implement both systems. The ?system=pythagorean (default) vs ?system=chaldean parameter switches the letter-to-number map. All reduction logic stays the same.
Master numbers and reduction
In standard numerology, numbers are reduced by summing their digits until a single digit remains. 29 becomes 2+9=11, then 1+1=2. But master numbers — 11, 22, and 33 — are exceptions. When a reduction step produces 11, 22, or 33, you stop. These are not reduced further.
The tricky part: not all traditions agree on which steps preserve master numbers. We preserve them at the final reduction step only, which matches the majority of published Pythagorean numerology sources.
function reduceToSingleDigit(n: number, preserveMaster = true): number {
while (n > 9 && n !== 11 && n !== 22 && n !== 33) {
n = String(n).split("").reduce((sum, d) => sum + parseInt(d), 0);
}
if (!preserveMaster && (n === 11 || n === 22 || n === 33)) {
return n === 11 ? 2 : n === 22 ? 4 : 6;
}
return n;
}Life path number
Life path = sum of all digits in the birth date, reduced. For 1990-01-15: 1+9+9+0 + 0+1 + 1+5 = 26, then 2+6 = 8. The correct method sums day, month, and year separately, then adds those three totals — preserving any master numbers that emerge at the intermediate stage.
Destiny number (full name)
Destiny = sum of all letter values in the full birth name (not nicknames), reduced. We strip spaces, convert to uppercase, map each character through the selected system's letter-to-number table, sum, and reduce.
Soul urge vs personality
Soul urge = vowels only (A, E, I, O, U). Personality = consonants only. This split is consistent across traditions. The Y question — is Y a vowel? — we handle as a flag parameter: ?y_as_vowel=truedefaults to false (Y treated as consonant unless it's the only vowel sound in a syllable, which we approximate as Y not adjacent to another vowel).
Karmic debt numbers
Karmic debt numbers are 13, 14, 16, and 19. They emerge when a reduction step passes through one of these values. For example, a life path that reduces 22 → 4 where the un-reduced sum was 13 carries karmic debt 13 (themes of hard work, discipline).
We track the un-reduced intermediates and check them against the karmic debt set. If a match is found, we include it in the response with its traditional interpretation.
Challenges and pinnacles
Challenges: four numbers derived from the four pairs of birth digits. First challenge = |month - day|. Second = |day - year|. Third = |first - second|. Fourth = |month - year|. These give thematic “obstacles” across four life periods.
Pinnacles: four life periods with different lengths depending on the life path number. The first pinnacle runs from birth to age (36 - life path). The four pinnacle numbers are sums (not differences) of the same four pairs, reduced. Both challenges and pinnacles include age ranges in the response so developers can present them meaningfully.
Business name compatibility
This was the most-requested feature after launch. We calculate the destiny number of a proposed business name and compare it to the founder's life path and destiny numbers. The compatibility score is based on numerological harmony rules (complementary numbers, same-family reductions). It's returned as a 0-100 score with a one-line interpretation.