Chaldean and Pythagorean letter charts in the API
Updated
The Numerology API from API for Astrology (apiforastrology.com) reads every name number in Chaldean numerology. The Pythagorean name number comes back beside it. Chaldean gives letters the values 1 to 8, never 9. Pythagorean runs 1 to 9 in alphabet order. John Doe's name number is 7 in Chaldean and 8 in Pythagorean. The Western numbers use Pythagorean only.
Your users may already know a name number from another app or a book. When your app shows a different one, it can look like a bug. This guide shows where the gap comes from, with one real name worked through both systems. It ends with what to tell users.
How do the Chaldean and Pythagorean letter tables differ?
Chaldean numerology gives each letter a value from 1 to 8, and no letter gets 9. Pythagorean numerology runs the alphabet in rows of nine. A is 1, I is 9, and J starts again at 1. Only 10 of the 26 letters keep the same value in both tables. The other 16 change.
| Value | Chaldean letters | Pythagorean letters |
|---|---|---|
| 1 | A I J Q Y | A J S |
| 2 | B K R | B K T |
| 3 | C G L S | C L U |
| 4 | D M T | D M V |
| 5 | E H N X | E N W |
| 6 | U V W | F O X |
| 7 | O Z | G P Y |
| 8 | F P | H Q Z |
| 9 | None | I R |
The 10 letters that keep their value are A, B, C, D, E, J, K, L, M and N. A name that uses any of the other 16 letters can come out with a different total. Cheiro printed the Chaldean table in 1926. He wrote that its origin is lost, but that it is believed to come from the Chaldeans. Read more about Chaldean numerology and Pythagorean numerology in the glossary.
The Chaldean letter values, with no letter worth 9, follow the table in Cheiro's Book of Numbers (1926). The Pythagorean letter values, 1 to 9 in alphabet order, match the table in L. Dow Balliett's The Philosophy of Numbers (1908).
Why does no Chaldean letter get the number 9?
Cheiro, whose 1926 book sets out the Chaldean table, gives the reason. He wrote that the old masters saw 9 as the number of a nine-letter name of God. So they gave 9 to no single letter. A name can still add up to 9, and Cheiro reads that total like any other.
John Doe shows how a 9 can still appear. John alone adds up to 18 in Chaldean, and 1 + 8 = 9.
The numerology service also guards its tables. Each time it starts, it checks both of them. Each must hold all 26 letters once, and no Chaldean letter may be 9. Without this check, one typo would quietly give a wrong number for every name with that letter.
The reason for keeping 9 off the letters comes from page 71 of Cheiro's Book of Numbers (1926).
Which number does the API read, and which comes back beside it?
The Numerology API reads the Chaldean name number. It gives that number a planet and a short reading. The Pythagorean number comes back beside it for comparison, with read set to false and no reading. The Western numbers on POST /v1/western use Pythagorean only. No request field switches the system.
POST /v1/profileChaldean:
name_number.chaldean: the total, the number, its planet and a short readingPythagorean:
name_number.pythagorean: the total and the number, withread: falsePOST /v1/nameChaldean: Each spelling's number and its fit (how well it suits the person)
Pythagorean: Each spelling's total and number, for comparison
POST /v1/name/suggest,POST /v1/businessandPOST /v1/baby-namesChaldean: Each name's number
Pythagorean: Not returned
POST /v1/westernChaldean: Not used
Pythagorean: Every number: the life path, expression, soul urge and more
| Route | Chaldean | Pythagorean |
|---|---|---|
POST /v1/profile | name_number.chaldean: the total, the number, its planet and a short reading | name_number.pythagorean: the total and the number, with read: false |
POST /v1/name | Each spelling's number and its fit (how well it suits the person) | Each spelling's total and number, for comparison |
POST /v1/name/suggest, POST /v1/business and POST /v1/baby-names | Each name's number | Not returned |
POST /v1/western | Not used | Every number: the life path, expression, soul urge and more |
Here is the name number part of the real answer for John Doe, with the readings left out. default_system says which system is read. Each block also has system_name, the system’s name in the reader’s language, ready to show as a label.
{
"default_system": "chaldean",
"chaldean": {
"system": "chaldean",
"system_name": "Chaldean",
"total": 34,
"compound": 34,
"number": 7,
"master": false,
"words": [
{
"word": "John",
"total": 18,
"number": 9
},
{
"word": "Doe",
"total": 16,
"number": 7
}
],
"planet": "Ketu"
},
"pythagorean": {
"system": "pythagorean",
"system_name": "Pythagorean",
"total": 35,
"compound": 35,
"number": 8,
"master": false,
"words": [
{
"word": "John",
"total": 20,
"number": 2
},
{
"word": "Doe",
"total": 15,
"number": 6
}
],
"read": false
}
}Every field is in the API reference: POST /v1/profile, POST /v1/name and POST /v1/western.
How does one name come out in each system?
Take John Doe. In Chaldean, John adds up to 18 and Doe to 16, so the total is 34. Then 3 + 4 = 7, the name number. In Pythagorean, John gives 20 and Doe gives 15, a total of 35. Then 3 + 5 = 8. The name is the same, but the letter values are not.
Chaldean
John: J 1, O 7, H 5, N 5 = 18
Doe: D 4, O 7, E 5 = 16
Total: 34, so 3 + 4 = 7
Name number: 7 (read, ruled by Ketu)
Pythagorean
John: J 1, O 6, H 8, N 5 = 20
Doe: D 4, O 6, E 5 = 15
Total: 35, so 3 + 5 = 8
Name number: 8 (beside it, not read)
| System | John | Doe | Total | Name number |
|---|---|---|---|---|
| Chaldean | J 1, O 7, H 5, N 5 = 18 | D 4, O 7, E 5 = 16 | 34, so 3 + 4 = 7 | 7 (read, ruled by Ketu) |
| Pythagorean | J 1, O 6, H 8, N 5 = 20 | D 4, O 6, E 5 = 15 | 35, so 3 + 5 = 8 | 8 (beside it, not read) |
O and H change value between the two systems. J, N, D and E keep theirs. That is enough to move the total from 34 to 35, and the name number from 7 to 8.
The spelling changes the number too. The recorded POST /v1/name call also sends Jon Doe. It gets 2 in Chaldean and 9 in Pythagorean. On POST /v1/western, the expression number uses the same Pythagorean values. It adds down each word first, then adds the words. For John Doe it also comes to 8. To try another name in both systems, use the free name numerology calculator.
Which numbers are Indian, and which are Western?
Indian numerology starts from the birth date. Its main numbers are the mulank (birth day number) and bhagyank (destiny number). It adds a Chaldean name number and the Lo Shu grid, a 3 by 3 square. Western numerology has the life path from the date. From the full name it takes the expression, soul urge and personality numbers.
Indian numerology (POST /v1/profile)
Made from: The day of birth, added down to one digit
Field:
mulankJohn Doe: 6
Made from: Every digit of the birth date, added down
Field:
bhagyankJohn Doe: 6 (digits add to 33)
Made from: The letters of the name, in Chaldean
Field:
name_number.chaldeanJohn Doe: 7
Made from: The birth date's digits in a 3 by 3 square
Field:
loshuJohn Doe: 2 and 3 missing
| Number | Made from | Field | John Doe |
|---|---|---|---|
| Mulank (birth day number) | The day of birth, added down to one digit | mulank | 6 |
| Bhagyank (destiny number) | Every digit of the birth date, added down | bhagyank | 6 (digits add to 33) |
| Name number | The letters of the name, in Chaldean | name_number.chaldean | 7 |
| Lo Shu grid | The birth date's digits in a 3 by 3 square | loshu | 2 and 3 missing |
Western numerology (POST /v1/western)
Made from: Month, day and year, each added down, then added
Field:
life_pathJohn Doe: 6
Made from: Every letter of the full name, in Pythagorean
Field:
expressionJohn Doe: 8
Made from: The vowels of the name
Field:
soul_urgeJohn Doe: 8
Made from: The consonants of the name
Field:
personalityJohn Doe: 9
| Number | Made from | Field | John Doe |
|---|---|---|---|
| Life path | Month, day and year, each added down, then added | life_path | 6 |
| Expression | Every letter of the full name, in Pythagorean | expression | 8 |
| Soul urge | The vowels of the name | soul_urge | 8 |
| Personality | The consonants of the name | personality | 9 |
Indian numerology is also called ank jyotish. It gives each number from 1 to 9 a ruling planet. That is why the Chaldean name number comes with a planet. Some apps call the mulank and the bhagyank the driver number and the conductor number.
The bhagyank and the life path both add up the whole birth date. So their single digits always match, and for John Doe both are 6. The steps differ, though. His date’s digits add to 33, so the bhagyank sets master to true. The life path adds 8 + 6 + 1 = 15 and shows a plain 6. A user may ask why only the bhagyank flags a master number. The answer is the order of the sums, not an error.
The mulank (birth day number) is the day of birth, added down to one digit. The 1st, 10th, 19th and 28th all give 1, as in Cheiro's Book of Numbers (1926). The life path reduces the month, the day and the year one by one, then adds them. The same steps appear in L. Dow Balliett's The Philosophy of Numbers (1908). The Lo Shu square holds the numbers 1 to 9 once each. Every line adds to 15, as shown by Wolfram MathWorld.
What should your app say when the two numbers disagree?
Tell users that each number is right for its own system. Chaldean and Pythagorean give many letters different values, so one name can get two different numbers. Label each number with its system, and lead with one. Show the other as a comparison. Never add, average or mix the two into one number.
- Label every number with its system, such as “Chaldean name number: 7”. Present the two as two traditions, not as a right and a wrong answer.
- Lead with the system that fits the reading. An Indian reading leads with the mulank, the bhagyank and the Chaldean name number. A Western reading leads with the life path and the expression number.
- When a user quotes a number from another app, compare it with
name_number.pythagorean. If it matches, the other app most likely used the Pythagorean table. Say so in one line. - Add a short note near the name number. For example: “Indian numerology reads names with Chaldean letter values. Many Western apps use Pythagorean values, so their number can differ.”
- Check the spelling before the system. Jon Doe and John Doe get different numbers in both systems. Names must use English letters, A to Z. Other scripts are refused, because the spelling changes the number.
- Keep 9 on your Chaldean screens. No letter is worth 9, but a name can still add up to 9.
Other reasons two calculators disagree, such as master numbers and how the date is added, are in why two numerology calculators give different numbers. For two traps to avoid when you wire up both systems, see Chaldean vs Pythagorean numerology in code.
Where the facts come from
The two letter tables on this page are the numerology service’s own. Each one matches its book letter for letter. The Chaldean table matches Cheiro's Book of Numbers (1926). The Pythagorean table matches L. Dow Balliett's The Philosophy of Numbers (1908).
John Doe’s numbers are the API’s real answers for the sample person: John Doe, born Aug 15, 1990. They come from POST /v1/profile, POST /v1/name and POST /v1/western. They were last checked against the API on Oct 28, 2026. Other rules, such as master numbers and how a fit is decided, are in the conventions.
From the blog

· 9 min read
Indian vs Western Numerology: What Your App Should Show
Indian numerology gives a mulank, bhagyank and planets.
Read
· 9 min read
Why Two Numerology Calculators Give Different Numbers
Seven reasons numerology calculators give different numbers for one name and birth date, each with a worked example…
Read
· 8 min read
Chaldean vs Pythagorean Numerology: What Changes in Code
Chaldean vs Pythagorean numerology for app builders.
Read