Calculation methodology
What the calculator does—and where interpretation begins
This page documents the calculation pipeline, implementation references, editorial estimates, and limitations behind BaZi Calculator. It is intended to make a result reviewable rather than ask users to trust an unexplained output.
Calculation flow
Normalize the birth record
The calculator accepts a solar or lunar date, local civil time, gender, and birthplace. A lunar date is converted to its solar-calendar equivalent before the Four Pillars are generated. If the hour is unknown, the Hour Pillar remains unavailable instead of being guessed.
Resolve place and civil time
A selected city provides longitude and an IANA timezone identifier. The timezone identifier lets the engine apply the offset and daylight-saving rules associated with that place and date rather than assuming that today's UTC offset always applied historically.
Apply the chosen time policy
When true solar time is enabled, the engine adjusts civil time using longitude and the equation of time. The result records the correction. The user also chooses whether a BaZi day changes at 23:00 or at civil midnight; the calculator does not hide this school-dependent convention.
Generate the chart
The calculation engine determines solar-term boundaries and produces the Year, Month, Day, and available Hour Pillars, followed by hidden stems, Ten Gods, Na Yin, growth stages, branch interactions, and Major Luck Pillars.
Editorial estimate
How the Five Element bars are weighted
The Five Element chart is a transparent orientation aid, not a complete classical strength judgment. Visible stems other than the Day Master receive one unit. Hidden stems are weighted by their order in a branch, and the Month Branch receives double weight to reflect seasonal importance.
The displayed support percentage combines the Day Master's element with its Resource element. Below 45% is labelled “Weak,” 45–55% “Balanced,” and above 55% “Strong.” These labels are product heuristics. They do not replace analysis of temperature, dryness, roots, combinations, transformations, or a practitioner's school-specific rules.
Limitations
Where results can differ
Charts near a solar-term, two-hour, or day boundary are sensitive to accurate input and policy choices. Historical timezone data can also be revised as civil-time records improve. If a recorded birth time is uncertain, leaving the hour unknown is more honest than adding false precision.
BaZi schools do not agree on every boundary, Luck Pillar convention, weighting method, or interpretive rule. This calculator exposes its selectable policies and reports one consistent implementation; it does not claim to resolve every traditional disagreement.
BaZi is a traditional cultural and interpretive framework. The output is not a scientific assessment and must not be used as medical, legal, financial, or mental health advice.
Sources and implementation references
References you can inspect
- 01Open source
OpenFate BaZi Engine
The open-source calculation engine used for pillars, solar-term boundaries, true solar time, Ten Gods, interactions, and Luck Pillars.
- 02Open source
IANA Time Zone Database
The standard source for named civil-time zones and historical UTC-offset transitions.
- 03Open source
NOAA General Solar Position Calculations
A primary technical reference for the equation of time and longitude-based solar-time offset.
- 04Open source
Hong Kong Observatory: The 24 Solar Terms
An official overview of how the 24 solar terms divide the ecliptic into 15-degree segments.
- 05Open source
lunar-javascript
The open-source Chinese calendar library used by the date selector for solar and lunar date conversion.