Relationship Degree Calculator

ANALife Services AuthorityNational 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

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References