Relationship Degree Calculator
ANA›Life Services Authority›National Calculator Authority›Relationship Degree Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Relationship Degree Calculator
Determine the degree of relationship (consanguinity) between two individuals based on their family connection type.
Relationship Type
-- Select Relationship --
Parent / Child Grandparent / Grandchild Great-Grandparent / Great-Grandchild Ancestor (specify generations)
Siblings (Full) Half-Siblings Uncle/Aunt – Niece/Nephew First Cousins First Cousins Once Removed Second Cousins Custom Cousin Degree
Generations to Common Ancestor
Number of steps from one person up to the common ancestor.
Cousin Degree (n)
Times Removed (r)
nth cousins r-times removed share great-(n-1)-grandparents.
Calculate Select a relationship type to begin.
function relUpdateFields() { var rel = document.getElementById('rel-relationship').value; document.getElementById('rel-gen-row').style.display = (rel === 'ancestor') ? 'block' : 'none'; document.getElementById('rel-cousin-row').style.display = (rel === 'custom_cousins') ? 'block' : 'none'; document.getElementById('rel-result').innerHTML = 'Select a relationship type to begin.'; }
function relCalc() { var rel = document.getElementById('rel-relationship').value; var resultDiv = document.getElementById('rel-result');
if (!rel) { resultDiv.innerHTML = 'Please select a relationship type.'; return; }
var degree = 0; var coeff = 0; var label = ''; var explanation = '';
// Civil law degree = number of steps between the two persons through the common ancestor // Canon law degree = number of steps to the common ancestor (for collateral) // Coefficient of relationship r = (1/2)^n where n = total generational steps
if (rel === 'parent_child') { degree = 1; coeff = 0.5; label = 'Parent / Child'; explanation = '1 generational step separates them. Civil degree = 1.'; } else if (rel === 'grandparent_grandchild') { degree = 2; coeff = 0.25; label = 'Grandparent / Grandchild'; explanation = '2 generational steps. Civil degree = 2.'; } else if (rel === 'great_grandparent') { degree = 3; coeff = 0.125; label = 'Great-Grandparent / Great-Grandchild'; explanation = '3 generational steps. Civil degree = 3.'; } else if (rel === 'ancestor') { var g = parseInt(document.getElementById('rel-generations').value); if (isNaN(g) || g 20) { resultDiv.innerHTML = 'Please enter a valid number of generations (1–20).'; return; } degree = g; coeff = Math.pow(0.5, g); label = 'Ancestor (' + g + ' generations)'; explanation = g + ' generational steps in a direct line. Civil degree = ' + g + '.'; } else if (rel === 'siblings') { // Both share 2 parents; each is 1 step from parent → total 2 steps degree = 2; coeff = 0.5; label = 'Full Siblings'; explanation = 'Each sibling is 1 step from the common parent. Civil degree = 2. Coefficient = 0.5 (share ~50% DNA on average).'; } else if (rel === 'half_siblings') { degree = 2; coeff = 0.25; label = 'Half-Siblings'; explanation = 'Share one common parent. Civil degree = 2. Coefficient = 0.25 (share ~25% DNA on average).'; } else if (rel === 'uncle_aunt_niece_nephew') { // Uncle/Aunt is 2 steps from grandparent; niece/nephew is 2 steps → total 3 civil steps degree = 3; coeff = 0.25; label = 'Uncle/Aunt – Niece/Nephew'; explanation = 'Uncle/Aunt is 1 step from parent (common ancestor), niece/nephew is 2 steps. Civil degree = 3. Coefficient = 0.25.'; } else if (rel === 'first_cousins') { // Each is 2 steps from grandparent → civil degree = 4 degree = 4; coeff = 0.125; label = 'First Cousins'; explanation = 'Each first cousin is 2 steps from the shared grandparent. Civil degree = 4. Coefficient = 0.125 (~12.5% shared DNA).'; } else if (rel === 'first_cousins_once_removed') { // One person is 2 steps, other is 3 steps from great-grandparent → civil degree = 5 degree = 5; coeff = 0.0625; label = 'First Cousins Once Removed'; explanation = 'Steps from common ancestor: 2 + 3 = 5. Civil degree = 5. Coefficient = 0.0625 (~6.25% shared DNA).'; } else if (rel === 'second_cousins') { // Each is 3 steps from great-grandparent → civil degree = 6 degree = 6; coeff = 0.0625; label = 'Second Cousins'; explanation = 'Each second cousin is 3 steps from the shared great-grandparent. Civil degree = 6. Coefficient = 0.0625 (~6.25% shared DNA).'; } else if (rel === 'custom_cousins') { var n = parseInt(document.getElementById('rel-cousin-degree').value); var r = parseInt(document.getElementById('rel-cousin-removed').value); if (isNaN(n) || n 10) { resultDiv.innerHTML = 'Please enter a valid cousin degree (1–10).'; return; } if (isNaN(r) || r 10) { resultDiv.innerHTML = 'Please enter a valid times-removed value (0–10).'; return; } // nth cousins: each is (n+1) steps from common ancestor (great^(n-1)-grandparent) // r-times removed: one side has (n+1) steps, other has (n+1+r) steps var stepsA = n + 1; var stepsB = n + 1 + r; degree = stepsA + stepsB; // Coefficient: (1/2)^(stepsA + stepsB) × 2 for the two paths through common ancestor pair // For full cousins: r = (1/2)^(2n+2) × 2 = (1/2)^(2n+1) // General: r = (1/2)^(stepsA + stepsB) × 2 coeff = Math.pow(0.5, stepsA + stepsB) * 2; var removedLabel = r === 0 ? '' : (r === 1 ? ' Once Removed' : ' ' + r + ' Times Removed'); var ordinals = ['','First','Second','Third','Fourth','Fifth','Sixth','Seventh','Eighth','Ninth','Tenth']; label = (ordinals[n] || n + 'th') + ' Cousins' + removedLabel; explanation = 'Person A is ' + stepsA + ' steps from common ancestor; Person B is ' + stepsB + ' steps. Civil degree = ' + degree + '.'; }
var pct = (coeff * 100).toFixed(4); // Remove trailing zeros after decimal pct = parseFloat(pct).toString();
var html = '### ' + label + ' '; html += ''; html += 'Civil Law Degree of Relationship' + degree + ''; html += 'Coefficient of Relationship (r)' + coeff.toFixed(6).replace(/.?0+$/, '') + ' (' + pct + '%)'; html += 'Shared DNA (approx.)' + pct + '%'; html += ''; html += '' + explanation + '
';
resultDiv.innerHTML = html; }
#### Formulas Used
Civil Law Degree (direct line): Degree = number of generational steps between the two persons.
Civil Law Degree (collateral line): Degree = steps from Person A to common ancestor + steps from Person B to common ancestor.
Coefficient of Relationship (Wright, 1922):
r = Σ [ (1/2)L × (1 + FA) ]
Where L = total number of links (generational steps) through each common ancestor, and FA = inbreeding coefficient of the common ancestor (assumed 0 here).
For a single non-inbred common ancestor pair: r = 2 × (1/2)(steps_A + steps_B)
For direct-line relationships: r = (1/2)n where n = number of generations apart.
#### Assumptions & References
- Assumes no inbreeding in the family line (inbreeding coefficient F = 0).
- Full siblings share both parents; half-siblings share one parent.
- Civil law degree counts every generational step between the two individuals through the common ancestor.
- Canon law degree (used in some legal systems) counts only the steps to the common ancestor on the longer side.
- DNA percentages are expected averages; actual shared DNA varies due to recombination.
- nth cousins share great(n−1)-grandparents as their most recent common ancestors.
- References: Wright, S. (1922). Coefficients of Inbreeding and Relationship. The American Naturalist, 56(645), 330–338.
More Calculators
- Depth of Field Calculator
- Electrical Panel Load Calculator
- California Prevailing Wage Project Cost Calculator
- Commercial Lease Space Cost Calculator
- Hyperfocal Distance Calculator
- California Commercial Building Permit Cost Estimator
- Card Draw Probability Calculator
- Pool Resurfacing Cost Estimator
- South Dakota Contractor License Fee Estimator
- South Dakota Construction Sales Tax Calculator
- South Dakota Prevailing Wage Project Cost Calculator
- Subcontractor vs Employee Cost Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...