Skip to content

How the Chinese gender predictor works

The tool is deterministic: the same inputs always give the same cell. There is no randomness, no AI and no server-side calculation — everything runs in your browser from fixed, versioned data.

1. Dates are calendar dates

We read each date as YYYY-MM-DD. We do not convert your local midnight to another time zone, and we do not ask for birth time or place. Your browser’s time zone does not affect the result.

2. Gregorian → lunar conversion

Lunar month boundaries for 1901–2100 are generated at build time with the open-source lunar-typescript library (MIT) and compared month by month against the Hong Kong Observatory Gregorian–Lunar conversion tables. Out of 2,474 lunar months, one start date differed (lunar month 9 of 2057: HKO 2057-09-28, library 2057-09-29); we follow HKO. Dates outside 1901-01-01 – 2100-12-31 are rejected rather than guessed.

Hong Kong Observatory notes that for a few far-future dates where the new moon falls close to midnight, a one-day difference is possible. We do not claim medical-grade precision for any date.

3. Lunar age (虚岁)

lunar age at conception = lunar year of conception − lunar year of birth + 1

Both sides are converted lunar years — not Gregorian years and not the current year. Age changes on Lunar New Year’s Day (正月初一), not on Lichun (立春). Example: in 2026, Lichun is February 4 but Lunar New Year is February 17, so a conception on February 4–16, 2026 still uses the previous lunar year.

4. Lunar month and leap months

The conception date’s lunar month (1–12) selects the column. Rule same-number-month-v1: a leap month maps to the same numbered regular month, and the result shows a Leap tag. Example: July 25, 2025 begins the leap 6th month, which reads column 6. This is our product convention, not a claim about an “original” rule; HKO confirms the leap month dates but does not endorse any gender chart.

5. Only know the month?

We treat the month as the full date range, from day 1 to the last day. Each lunar-month piece inside it is looked up separately. If every piece gives the same cell value, we show it and label it month-level. If not, we show “The chart result varies by conception date” with each range. We never calculate a percentage or pick the piece with more days. If any piece is outside the chart or the calendar data, we say so and give no overall answer.

6. The chart we use

No source proves that any online chart is the single “original” Qing palace chart, and several versions circulate. We picked one version and verified all 336 cells (lunar age 18–45 × lunar months 1–12) against three published copies:

Compared but not adopted: R for Rabbit tool data (cgender.js) + The Bump chart image hosted on rforrabbit.com — 192/336 (144 cells differ); chinese-lunar-calendar.com — 256/336 (80 cells differ).

Chart version cgp-chart-v1 (Prokerala family, retrieved 2026-10-13), checksum sha256:1cfdc415c39da8f3ab509101637f2de944bd210274393c53206e555a1a64c1da. Indexing: cells[age − 18][month − 1]. The data is locked by automated tests; any change shows up cell by cell in version control.

Cells where other published versions differ (165 cells)

Why we chose this version: it is the one used by Prokerala, one of the most visited chart tools, and two further independent copies match it in all 336 cells. The R for Rabbit tool data and The Bump chart image agree with each other but differ from it in 144 cells, so we treat them as a different chart version rather than mixing rows from both.

Lunar ageLunar monthThis siteR for Rabbit / The Bumpchinese-lunar-calendar.com
198BoyGirlBoy
233GirlBoyGirl
234BoyGirlBoy
236GirlBoyGirl
237BoyGirlBoy
239BoyGirlBoy
243BoyGirlBoy
245GirlBoyGirl
246BoyGirlBoy
249GirlBoyGirl
2410GirlBoyGirl
2412GirlBoyGirl
253BoyGirlGirl
254GirlBoyGirl
255GirlGirlBoy
256BoyBoyGirl
257GirlGirlBoy
259BoyGirlBoy
262GirlBoyGirl
264GirlBoyGirl
265GirlBoyGirl
266BoyGirlBoy
267GirlBoyGirl
268BoyGirlBoy
2610GirlBoyGirl
272BoyGirlBoy
273GirlBoyGirl
276GirlBoyGirl
277BoyGirlBoy
278BoyGirlBoy
2710BoyGirlBoy
2711GirlBoyGirl
282GirlBoyGirl
286GirlBoyGirl
287BoyGirlBoy
289BoyGirlBoy
2810BoyGirlBoy
2811GirlBoyGirl
296BoyGirlBoy
297BoyGirlBoy
299BoyGirlBoy
2910GirlBoyGirl
302GirlBoyGirl
304GirlBoyGirl
306GirlBoyGirl
307GirlBoyGirl
308GirlBoyGirl
309GirlBoyGirl
3010GirlBoyGirl
312GirlBoyGirl
314GirlBoyGirl
317GirlBoyGirl
319GirlBoyGirl
3112BoyGirlBoy
323BoyGirlGirl
324GirlBoyGirl
325GirlGirlBoy
326GirlBoyGirl
327GirlBoyGirl
328GirlGirlBoy
329GirlBoyGirl
3210GirlBoyGirl
333GirlBoyGirl
334BoyGirlBoy
336GirlBoyGirl
337GirlGirlBoy
338BoyBoyGirl
339GirlGirlBoy
3310GirlBoyGirl
3311GirlBoyBoy
3312BoyGirlGirl
342GirlBoyGirl
343BoyGirlBoy
345GirlBoyGirl
347GirlBoyBoy
348GirlBoyGirl
349GirlGirlBoy
3410GirlBoyGirl
3411BoyGirlBoy
3412BoyGirlBoy
352BoyGirlGirl
353GirlBoyBoy
354BoyGirlGirl
355GirlBoyBoy
357GirlBoyBoy
358BoyGirlGirl
359GirlBoyBoy
3510GirlBoyGirl
3511BoyGirlGirl
361GirlBoyBoy
362BoyGirlGirl
363BoyBoyGirl
364GirlBoyBoy
365BoyBoyGirl
366GirlGirlBoy
367GirlBoyGirl
368GirlBoyBoy
369BoyGirlBoy
3610BoyGirlGirl
3611BoyGirlGirl
3612BoyGirlGirl
371BoyGirlGirl
374BoyGirlGirl
376BoyGirlGirl
377GirlBoyBoy
378BoyGirlGirl
3711GirlBoyGirl
381GirlBoyBoy
384BoyGirlGirl
387BoyGirlGirl
388GirlBoyBoy
389BoyGirlGirl
391BoyGirlGirl
394BoyGirlGirl
395BoyGirlGirl
397GirlBoyBoy
398BoyGirlGirl
399GirlBoyBoy
3912GirlBoyBoy
401GirlBoyBoy
403GirlBoyBoy
404BoyGirlGirl
405GirlBoyBoy
406BoyGirlGirl
407BoyBoyGirl
408GirlGirlBoy
409BoyBoyGirl
4010GirlGirlBoy
4011BoyGirlGirl
4012GirlBoyGirl
411BoyGirlGirl
416GirlBoyBoy
417BoyGirlGirl
418BoyGirlGirl
419GirlBoyBoy
4110BoyGirlGirl
4111GirlBoyGirl
4112BoyGirlBoy
421GirlBoyBoy
422BoyGirlGirl
425GirlBoyGirl
427GirlBoyGirl
428BoyBoyGirl
429BoyGirlBoy
4210GirlBoyGirl
4211BoyGirlBoy
4212GirlBoyGirl
431BoyGirlGirl
432GirlBoyBoy
433BoyGirlGirl
436GirlBoyGirl
439BoyGirlGirl
4310BoyGirlBoy
4311BoyBoyGirl
442BoyGirlGirl
444BoyGirlGirl
446BoyGirlBoy
447GirlBoyGirl
4412GirlBoyGirl
453BoyGirlGirl
454GirlBoyBoy
459BoyBoyGirl
4510GirlGirlBoy
4511BoyBoyGirl
4512BoyGirlBoy

7. Accuracy

The chart is folklore. Villamor et al. (2010, Paediatric and Perinatal Epidemiology) tested it on 2,840,755 singleton births in Sweden and found it no better than tossing a coin. Results here are for fun only and must not be used to make any decision about a pregnancy. PubMed 20618730

Data versions

  • chart: cgp-chart-v1 (Prokerala family, retrieved 2026-10-13)
  • calendar: lunar-typescript-1.8.6+hko-verified-v1
  • rules: same-number-month-v1
  • age: lunar-new-year-xusui-v1

← Back to the predictor