Rat
Ox
Tiger
Rabbit
Dragon
Snake
Horse
Goat
Monkey
Rooster
Dog
Pig
Rat
Ox
Tiger
Rabbit
Dragon
Snake
Horse
Goat
Monkey
Rooster
Dog
Pig
Understanding Chinese Horoscope Compatibility
The Chinese zodiac is a fascinating system based on a 12-year cycle, with each year represented by an animal. These animals are Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, and Pig. According to ancient Chinese philosophy, the year of a person's birth in this cycle dictates their personality traits, strengths, weaknesses, and even their compatibility with others.
Chinese astrology believes that certain animal signs are naturally more compatible or incompatible with others. This compatibility is not based on complex mathematical formulas in the modern sense but on traditional understandings of the relationships between the animals in the zodiac cycle. These relationships often stem from the animals' perceived characteristics, their natural interactions in the wild, and their positions within the cycle.
Key Compatibility Principles:
The Triple Combination (三合 – Sānhé): Three signs that form a harmonious triangle. These are considered highly compatible.
Rat, Dragon, Monkey
Ox, Snake, Rooster
Tiger, Horse, Dog
Rabbit, Goat, Pig
The Six Combinations (六合 – Liùhé): Each sign is paired with another sign it is said to form a perfect union with. These are also very compatible.
Rat & Ox
Tiger & Pig
Rabbit & Dog
Dragon & Rooster
Snake & Monkey
Horse & Goat
The Clash (冲 – Chōng): Signs that are in direct opposition, often considered incompatible or prone to conflict. These are pairs 6 positions apart.
Rat & Horse
Ox & Goat
Tiger & Monkey
Rabbit & Rooster
Dragon & Dog
Snake & Pig
The Harm (刑 – Xíng): Signs that are considered to cause harm or have complex, sometimes difficult, relationships. This includes signs that are adjacent or have specific interactions. For simplicity in this calculator, we focus on the most common interpretations.
The Separation (害 – Hài): Signs that are in a relationship of mutual harm or misunderstanding.
Rat & Sheep (Goat)
Ox & Horse
Tiger & Snake
Rabbit & Dragon
Monkey & Pig
Rooster & Dog
This calculator uses these traditional principles to provide a general compatibility assessment. It's important to remember that Chinese astrology is complex, and other factors like the five elements (Wood, Fire, Earth, Metal, Water) and Yin/Yang also play significant roles. This tool offers a simplified overview based on the animal signs themselves.
How to Use: Simply select the Chinese Zodiac sign for each person and click "Check Compatibility" to see a general overview of their relationship dynamics according to traditional Chinese horoscopes.
function getCompatibilityScore(sign1, sign2) {
var pairs = {
"Rat": { "Ox": "Very Compatible", "Dragon": "Very Compatible", "Monkey": "Very Compatible", "Horse": "Incompatible", "Sheep": "Harm", "Goat": "Harm", "Pig": "Compatible" },
"Ox": { "Rat": "Very Compatible", "Snake": "Very Compatible", "Rooster": "Very Compatible", "Goat": "Incompatible", "Horse": "Harm", "Sheep": "Incompatible", "Sheep": "Incompatible" },
"Tiger": { "Horse": "Very Compatible", "Dog": "Very Compatible", "Pig": "Compatible", "Monkey": "Incompatible", "Snake": "Harm" },
"Rabbit": { "Goat": "Very Compatible", "Pig": "Very Compatible", "Dog": "Compatible", "Rooster": "Incompatible", "Dragon": "Harm" },
"Dragon": { "Rat": "Very Compatible", "Monkey": "Very Compatible", "Rooster": "Compatible", "Dog": "Incompatible", "Rabbit": "Harm" },
"Snake": { "Ox": "Very Compatible", "Rooster": "Very Compatible", "Monkey": "Compatible", "Pig": "Incompatible", "Tiger": "Harm" },
"Horse": { "Tiger": "Very Compatible", "Dog": "Very Compatible", "Goat": "Compatible", "Rat": "Incompatible", "Ox": "Harm" },
"Goat": { "Rabbit": "Very Compatible", "Horse": "Compatible", "Pig": "Compatible", "Ox": "Incompatible", "Rat": "Harm", "Sheep": "Very Compatible" },
"Monkey": { "Rat": "Very Compatible", "Dragon": "Very Compatible", "Snake": "Compatible", "Tiger": "Incompatible", "Pig": "Harm" },
"Rooster": { "Ox": "Very Compatible", "Snake": "Very Compatible", "Dragon": "Compatible", "Rabbit": "Incompatible", "Dog": "Harm" },
"Dog": { "Tiger": "Very Compatible", "Horse": "Very Compatible", "Rabbit": "Compatible", "Dragon": "Incompatible", "Rooster": "Harm" },
"Pig": { "Rabbit": "Very Compatible", "Goat": "Compatible", "Tiger": "Compatible", "Snake": "Incompatible" }
};
// Normalize Goat/Sheep to Sheep for lookup consistency if needed, though select handles it.
// Here we assume the select value is the key.
var sign1Value = document.getElementById("person1Sign").value;
var sign2Value = document.getElementById("person2Sign").value;
if (sign1Value === sign2Value) {
return "Highly Compatible (with self)";
}
// Ensure lookups work in both directions
var result = "Neutral / Complex"; // Default if no specific rule found
if (pairs[sign1Value] && pairs[sign1Value][sign2Value]) {
result = pairs[sign1Value][sign2Value];
} else if (pairs[sign2Value] && pairs[sign2Value][sign1Value]) {
// Check the reverse lookup if the primary one failed
var reverseResult = pairs[sign2Value][sign1Value];
// Simple logic: if one is compatible, the other might be too or neutral.
// We prioritize known relationships. If reverse is "Compatible", keep it.
// If reverse is "Incompatible", it's likely incompatible.
// Specific rules might need more nuanced handling, but this covers basic cases.
// Standardizing terminology based on common interpretations
if (reverseResult === "Very Compatible") return "Very Compatible";
if (reverseResult === "Compatible") return "Compatible";
if (reverseResult === "Incompatible") return "Incompatible";
if (reverseResult === "Harm") return "Harmonious but Complex"; // Representing Harm differently
if (reverseResult === "Neutral / Complex") return "Neutral / Complex"; // Default
// Handling the specific Six Harmonies (Liùhé) explicitly if not covered by general pairs
var sixHarmonies = {
"Rat": "Ox", "Ox": "Rat",
"Tiger": "Pig", "Pig": "Tiger",
"Rabbit": "Dog", "Dog": "Rabbit",
"Dragon": "Rooster", "Rooster": "Dragon",
"Snake": "Monkey", "Monkey": "Snake",
"Horse": "Goat", "Goat": "Horse"
};
if (sixHarmonies[sign1Value] === sign2Value) {
return "Very Compatible (Six Harmony)";
}
if (sixHarmonies[sign2Value] === sign1Value) {
return "Very Compatible (Six Harmony)";
}
// Handling the specific Triple Combination (Sānhé) – need to check groups
var tripleCombinations = [
["Rat", "Dragon", "Monkey"],
["Ox", "Snake", "Rooster"],
["Tiger", "Horse", "Dog"],
["Rabbit", "Goat", "Pig"]
];
for (var i = 0; i < tripleCombinations.length; i++) {
var group = tripleCombinations[i];
if (group.includes(sign1Value) && group.includes(sign2Value)) {
return "Very Compatible (Triple Combination)";
}
}
// Handling the specific Clashes (Chōng)
var clashes = [
["Rat", "Horse"], ["Ox", "Goat"], ["Tiger", "Monkey"],
["Rabbit", "Rooster"], ["Dragon", "Dog"], ["Snake", "Pig"]
];
for (var i = 0; i < clashes.length; i++) {
var pair = clashes[i];
if ((pair[0] === sign1Value && pair[1] === sign2Value) || (pair[1] === sign1Value && pair[0] === sign2Value)) {
return "Incompatible (Clash)";
}
}
// Handling the specific Separations (Hài)
var separations = [
["Rat", "Goat"], ["Ox", "Horse"], ["Tiger", "Snake"],
["Rabbit", "Dragon"], ["Monkey", "Pig"], ["Rooster", "Dog"]
];
for (var i = 0; i < separations.length; i++) {
var pair = separations[i];
if ((pair[0] === sign1Value && pair[1] === sign2Value) || (pair[1] === sign1Value && pair[0] === sign2Value)) {
return "Difficult Relationship (Separation)";
}
}
// If none of the specific rules apply after checking reverse, return neutral
return "Neutral / Complex";
}
return result; // Fallback
}
function calculateCompatibility() {
var sign1 = document.getElementById("person1Sign").value;
var sign2 = document.getElementById("person2Sign").value;
// Basic validation – ensure signs are selected
if (!sign1 || !sign2) {
document.getElementById("result").innerHTML = "Please select both zodiac signs.";
return;
}
var compatibility = getCompatibilityScore(sign1, sign2);
var resultText = "";
var resultColor = "#007bff"; // Default color
if (compatibility === "Very Compatible" || compatibility.includes("Very Compatible")) {
resultText = "Excellent Compatibility!";
resultColor = "#28a745"; // Success Green
} else if (compatibility === "Compatible") {
resultText = "Good Compatibility.";
resultColor = "#17a2b8"; // Info Blue
} else if (compatibility === "Neutral / Complex" || compatibility === "Harmonious but Complex" || compatibility === "Difficult Relationship (Separation)") {
resultText = "Neutral or Complex Relationship. Requires understanding and effort.";
resultColor = "#ffc107"; // Warning Yellow
} else if (compatibility === "Incompatible" || compatibility.includes("Incompatible")) {
resultText = "Challenging Compatibility. Significant differences may exist.";
resultColor = "#dc3545"; // Danger Red
} else {
resultText = "Compatibility: " + compatibility;
resultColor = "#6c757d"; // Muted gray
}
document.getElementById("result").innerHTML = resultText;
document.getElementById("result").style.backgroundColor = "#fff"; // Reset background
document.getElementById("result").style.color = resultColor;
document.getElementById("result").style.borderColor = resultColor;
document.getElementById("result").style.borderWidth = "2px";
document.getElementById("result").style.borderStyle = "solid";
}