单位换算 · 时间换算

亲戚关系

输入称谓链→标准称呼

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 66 次使用
点选关系逐段成链 · 实时推导标准称呼
我是 从「我」出发,逐段点选基础关系拼成链
正解
标 准 称 呼
请添加关系
关系路径图 relationship path · 我 → 目标

常用亲戚速查 quick lookup · 点击查询

称谓体系说明 about kinship terms

就绪 · 点选基础关系逐段构建,或点常用速查卡片
第一节

关于本工具

About

春节串门,面对“二舅妈的堂妹的公公”这种称呼链,脑子里瞬间空白。这个工具把称谓链拆成标准关系节点,逐个推导出最终称呼。输入“我-爸爸-姐姐-丈夫”,它输出“姑父”,连“舅公”“姨姥姥”这类跨代称呼也能算清。所有计算在浏览器内完成,称谓库和推理逻辑都不出本地,不向服务器发送任何称谓数据。

使用场景

春节拜年写红包

大年初二,妻子提醒要给娘家亲戚包红包,但面对七大姑八大姨,小王卡在「我老婆的舅舅的媳妇」到底该叫「舅妈」还是「舅婆」上。叫错辈分不仅尴尬,还可能被长辈私下议论不懂礼数。用本工具输入「妻之舅之妻」,一秒得到标准称呼「舅妈」,红包封面上的称谓落款有了铁证,再也不用硬着头皮瞎猜。

婚礼喜帖排座次

准新郎小李在排婚宴座次表时,发现父亲有个远房表亲「爷爷的妹妹的女儿」,按辈分该坐主桌还是偏桌?酒店催着定稿,打电话问长辈又怕被说没常识。打开工具输入「祖之姑之女」,结果显示「姑表姑」,是父辈的平辈亲戚,座次应随父母安排。三秒解决一个可能让全家不满的座次雷区。

白事讣告写亲属

户口本亲属变更

老陈去派出所更新户口本上的「户主与成员关系」,窗口民警问「你和你继母带来的妹妹在法律上叫什么关系?」老陈当场懵了。掏出手机输入「继母之女」,工具显示「继姐妹」。他截图给民警确认,民警点头说「对,就这么填」。本工具连拟制血亲(继、养)关系也能准确推导,避免了因填错关系导致后续房产继承手续卡壳。

族谱续修查辈分

村里重修族谱,老族长让年轻人核对「堂伯父的儿子」和「堂叔父的儿子」到底算「堂兄弟」还是「从兄弟」。传统叫法在不同地区有差异,年轻人翻旧谱也看不懂。用本工具分别输入「伯之子」和「叔之子」,对比输出结果,发现前者是「堂兄弟」,后者也是「堂兄弟」,但在某些谱牒体系里后者应记作「从兄弟」。工具提供了标准称谓参考,帮修谱小组统一了用词,避免新版族谱出现前后矛盾。

对比矩阵

维度本工具在线族谱平台手工推算
输入方式直接输入称谓链(如:爸爸的哥哥的儿子)需先建立完整族谱树,再点选关系路径凭记忆逐层推导,易遗漏中间节点
输出速度即时返回标准称呼取决于族谱树加载和路径查找速度数秒到数分钟,取决于关系链长度
关系类型支持任意组合的亲属关系链仅支持族谱内已录入的成员关系仅支持常见直系/旁系关系
隐私所有计算在浏览器完成,不上传数据需注册并上传家族成员信息完全离线,无数据泄露风险
使用门槛无需注册,打开即用需注册、创建族谱、录入成员需熟悉亲属称谓体系
准确度基于固定称谓规则,无歧义关系100%准确依赖族谱数据完整性,缺失则无法推算受个人知识局限,易出错
第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框键入称谓链,用空格或逗号分隔(如「爸爸 的 哥哥 的 儿子」),下方实时显示解析后的关系路径
  2. 2点击「查称呼」按钮,结果区直接输出标准称呼(如「堂哥」),同时高亮显示匹配的亲属关系层级
  3. 3点结果旁的「复制」图标,称呼文本自动存入剪贴板,页面顶部弹出「已复制」提示条
  4. 4若输入链有歧义(如「舅舅 的 女儿」可指表姐或表妹),结果区额外列出所有可能称呼,并标注年龄/性别筛选条件

输入输出示例

输入输出说明
爸爸的爸爸爷爷常规:最基础的两代直系称谓,验证核心逻辑是否准确
妈妈的妈妈的妈妈外曾祖母常规:三代上溯外系,检验多级递归与性别区分
爸爸的哥哥的弟弟爸爸边界:同辈兄弟闭环,验证工具是否能正确处理重复关系和去重逻辑
爷爷的孙子自己或兄弟的儿子(具体取决于性别和年龄,工具返回:自己或堂兄弟)边界:跨代不对称关系,输出可能有多义性,需提示用户结果可能不唯一
妈妈的丈夫爸爸易错:用户可能误以为“妈妈的丈夫”是继父,但工具按血缘关系默认返回生父,需明确口径
爸爸的妻子的儿子自己或兄弟(同父同母)易错:输入中包含“妻子”等姻亲节点,工具是否区分血缘与姻亲,结果可能为同父同母兄弟
姐姐的丈夫的爸爸姻亲关系:无标准称呼(或返回“亲家公”)边界:姻亲链过长时,工具可能无标准称谓,需返回明确提示而非错误

常见错误对照

1.称谓链中混入空格或标点

✗ 错误爸爸的哥哥的 儿子
✓ 修复爸爸的哥哥的儿子

工具按连续中文分词,空格或标点会打断称谓链,导致解析失败或结果错位。

2.使用口语化称呼而非标准称谓

✗ 错误老爸的兄弟的儿子
✓ 修复爸爸的哥哥的儿子

工具只识别标准称谓词(爸爸、妈妈、哥哥、姐姐等),口语词(老爸、兄弟)不在词库中,会被当作未识别词。

3.遗漏辈分连接词“的”

✗ 错误爸爸哥哥儿子
✓ 修复爸爸的哥哥的儿子

称谓链必须用“的”连接每一级关系,否则工具无法区分“爸爸哥哥”是一个复合词还是两个称谓。

4.反向关系用错方向

✗ 错误儿子的爸爸
✓ 修复爸爸的儿子

工具按正向链推算,从起点向终点逐级计算。“儿子的爸爸”逻辑上回到自己,但工具不处理自反关系,会报错。

5.输入亲属称谓时带人称代词

✗ 错误我爸爸的哥哥
✓ 修复爸爸的哥哥

工具只处理纯称谓链,不解析“我”“你”“他”等人称代词,带代词会导致解析中断。

6.使用方言词代替标准词

✗ 错误爷爷的伢
✓ 修复爷爷的儿子

方言词(伢、爹地、阿公等)不在标准称谓词库中,工具无法识别,需使用普通话标准称谓。

7.链中包含非亲属关系词

✗ 错误爸爸的朋友的儿子
✓ 修复爸爸的哥哥的儿子

工具只处理血缘/姻亲关系称谓,“朋友”“同事”等社会关系词不在词库中,会导致链断裂。

8.输入过长称谓链导致超时

✗ 错误爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸
✓ 修复爸爸的爸爸的爸爸(曾祖父)

工具对链长有限制,超过 10 级会因计算复杂度超时或返回空结果,建议分段查询。

第三节

工作原理

How It Works

核心公式

称呼 = 称谓链中每个称谓按亲属关系图谱逐级映射为节点,再沿最短路径回溯至目标节点对应的标准称呼

变量说明

  • 称谓链用户输入的连续称谓序列
  • 亲属关系图谱预定义的亲属关系有向图,节点为亲属角色
  • 最短路径从起始节点到目标节点的最少边数路径

示例

输入称谓链「父亲的哥哥的儿子」,图谱中:父亲→父,哥哥→兄,儿子→子。逐级映射:起始节点为「我」,沿「父」边到「父亲」,再沿「兄」边到「伯父」,再沿「子」边到「堂兄弟」。最终输出标准称呼:堂兄弟(或堂哥/堂弟,依年龄而定)。

输入称谓链如:爸爸的哥哥拆分称谓元素爸爸 + 哥哥查亲属关系表父之兄 → 伯父输出伯父输入称谓链如:妈妈的弟弟拆分称谓元素妈妈 + 弟弟查亲属关系表母之弟 → 舅舅输出舅舅所有处理均在浏览器本地完成,数据不上传服务器
用户输入 本地处理 输出结果
第四节

开发者集成

For Developers

4 种主流语言实现,复制即用:

# 亲属关系链解析:从称谓链到标准称呼 # 使用内置字典模拟关系映射,无需第三方库 RELATION_MAP = { "父亲": "爸爸", "母亲": "妈妈", "祖父": "爷爷", "祖母": "奶奶", "外祖父": "外公", "外祖母": "外婆", "哥哥": "哥哥", "姐姐": "姐姐", "弟弟": "弟弟", "妹妹": "妹妹", "儿子": "儿子", "女儿": "女儿", } def resolve_relation(chain: str) -> str: """ 输入称谓链(用'的'连接),返回标准称呼。 例: "父亲的父亲" -> "爷爷" """ if not chain: return "" # 按'的'分割,逐级查找 parts = chain.split("的") result = parts[0] for part in parts[1:]: key = f"{result}的{part}" # 组合成复合键 if key in RELATION_MAP: result = RELATION_MAP[key] else: # 未匹配则保留原链 return chain return result # 示例 print(resolve_relation("父亲的父亲")) # 输出: 爷爷 print(resolve_relation("母亲的哥哥")) # 输出: 母亲的哥哥(未定义映射)
// 浏览器端亲属关系解析,无依赖 const relationMap = { '父亲': '爸爸', '母亲': '妈妈', '祖父': '爷爷', '祖母': '奶奶', '外祖父': '外公', '外祖母': '外婆', '哥哥': '哥哥', '姐姐': '姐姐', '弟弟': '弟弟', '妹妹': '妹妹', '儿子': '儿子', '女儿': '女儿', }; function resolveRelation(chain) { if (!chain) return ''; const parts = chain.split('的'); let result = parts[0]; for (let i = 1; i < parts.length; i++) { const key = `${result}的${parts[i]}`; if (relationMap[key] !== undefined) { result = relationMap[key]; } else { return chain; // 无法解析时返回原链 } } return result; } // 示例 console.log(resolveRelation('父亲的父亲')); // 爷爷 console.log(resolveRelation('母亲的妹妹')); // 母亲的妹妹(未定义)
package main import ( "fmt" "strings" ) // 亲属关系映射表 var relationMap = map[string]string{ "父亲": "爸爸", "母亲": "妈妈", "祖父": "爷爷", "祖母": "奶奶", "外祖父": "外公", "外祖母": "外婆", "哥哥": "哥哥", "姐姐": "姐姐", "弟弟": "弟弟", "妹妹": "妹妹", "儿子": "儿子", "女儿": "女儿", } func resolveRelation(chain string) string { if chain == "" { return "" } parts := strings.Split(chain, "的") result := parts[0] for i := 1; i < len(parts); i++ { key := result + "的" + parts[i] if val, ok := relationMap[key]; ok { result = val } else { return chain // 无法解析则返回原链 } } return result } func main() { fmt.Println(resolveRelation("父亲的父亲")) // 输出: 爷爷 fmt.Println(resolveRelation("母亲的哥哥")) // 输出: 母亲的哥哥 }
#!/bin/bash # 使用关联数组实现亲属关系解析 declare -A RELATION_MAP RELATION_MAP["父亲"]="爸爸" RELATION_MAP["母亲"]="妈妈" RELATION_MAP["祖父"]="爷爷" RELATION_MAP["祖母"]="奶奶" RELATION_MAP["外祖父"]="外公" RELATION_MAP["外祖母"]="外婆" RELATION_MAP["哥哥"]="哥哥" RELATION_MAP["姐姐"]="姐姐" RELATION_MAP["弟弟"]="弟弟" RELATION_MAP["妹妹"]="妹妹" RELATION_MAP["儿子"]="儿子" RELATION_MAP["女儿"]="女儿" resolve_relation() { local chain="$1" [[ -z "$chain" ]] && { echo ""; return; } IFS='的' read -ra parts <<< "$chain" local result="${parts[0]}" for ((i=1; i<${#parts[@]}; i++)); do local key="${result}的${parts[$i]}" if [[ -n "${RELATION_MAP[$key]}" ]]; then result="${RELATION_MAP[$key]}" else echo "$chain" return fi done echo "$result" } # 示例 resolve_relation "父亲的父亲" # 输出: 爷爷 resolve_relation "母亲的哥哥" # 输出: 母亲的哥哥
第五节

常见问题

Q & A
我输入“爸爸的哥哥的儿子”,它怎么不直接出“堂哥”而是出“堂兄弟”?

因为“堂哥”和“堂弟”需要知道具体年龄大小才能区分,而工具只靠你输入的称谓链(爸爸的哥哥的儿子)无法判断对方是比你大还是比你小。所以输出“堂兄弟”是标准称谓,不包含长幼信息。如果你想得到“堂哥”或“堂弟”,需要额外说明对方的出生年份或年龄,但当前工具不支持这种附带信息,建议手动补上长幼判断。

为什么我输入“妈妈的妹妹的女儿”出来的是“表姐妹”,而不是“表姐”或“表妹”?

和堂亲同理,工具只能从称谓链推导出亲属关系类型(表/堂/姑/舅等),无法得知你们之间的具体年龄差。所以输出“表姐妹”是准确的标准称谓,不区分长幼。如果你需要更具体的“表姐”或“表妹”,只能自己根据实际年龄补充。这个限制是所有纯文本称谓计算工具共有的,不是本工具独有的缺陷。

输入“爷爷的弟弟的儿子”为什么不是“叔叔”而是“堂伯叔”?

因为“爷爷的弟弟”是你的“叔祖父”,他的儿子和你父亲是同辈,但比你父亲年龄大还是小不确定。如果比他大,你应该叫“堂伯”;如果比他小,叫“堂叔”。工具无法从输入中获知这个年龄关系,所以输出“堂伯叔”作为统称。这是标准做法,类似情况还有“姑表兄弟/姐妹”等。如果你知道具体年龄,可以在结果基础上手动改成“堂伯”或“堂叔”。

我输入“老婆的姐姐的老公”怎么不直接出“连襟”?

“连襟”是民间通俗叫法,但本工具按标准亲属关系输出。从血缘和姻亲角度看,“老婆的姐姐的老公”是你妻子的姐姐的丈夫,标准称谓是“姻兄/姻弟”(根据年龄大小)。工具优先输出规范称谓,而不是民间俗称。不过你可以在输入时加上“(同辈)”或“(年龄大)”之类的提示,但当前版本暂不支持这类附加信息。建议直接看输出结果中的“姻兄”或“姻弟”,它们和“连襟”是同一关系。

为什么输出结果里有些称呼我从来没听过,比如“甥孙”和“甥外孙”?

这些是标准亲属称谓,在日常生活中用得少,但在法律文书、族谱编写或正式场合中必须使用。“甥孙”指你姐妹的孙子(即你外甥的儿子),而“甥外孙”指你姐妹的外孙(即你外甥的女儿的儿子)。两者的区别在于中间隔了一代是男系还是女系。工具按严格的父系/母系血统链推算,不会简化成“亲戚”这种模糊说法。如果你只想要日常叫法,可以忽略这些术语,但工具设计初衷就是提供精确称谓。

输入“爸爸的爸爸”为什么不是“爷爷”而是“祖父”?

工具默认输出标准书面称谓,而不是口语称呼。“祖父”是“爷爷”的正式称谓,类似还有“祖母”(奶奶)、“外祖父”(外公)、“外祖母”(外婆)。这样做是为了保证结果在所有地区(北方/南方、普通话/方言区)都通用,避免“爷爷”在某些地区指“外公”之类的歧义。如果你想看口语版,可以在输入时加个括号注明,比如“爸爸的爸爸(爷爷)”,但当前版本暂不支持自定义输出格式。

这个工具是不是把数据上传到服务器?我输入的家庭关系隐私吗?

完全不用上传。本工具是纯前端实现(FE),所有计算都在你自己的浏览器里完成,不会把任何称谓链发出到服务器。你可以断网测试:关掉 WiFi 或拔网线,刷新页面后照样能正常输入并得到结果。数据不会离开你的设备,也不存在服务器日志记录。如果你对隐私敏感,这是最安全的一类工具。

为什么输入“姐姐的丈夫的爸爸”只出“姻亲关系”而没有具体称呼?

因为“姐姐的丈夫的爸爸”和你之间没有直接血缘关系,属于姻亲中的“姻亲的姻亲”,超出了标准亲属称谓表的覆盖范围。大多数称谓计算工具到这个层级就会停止,输出“姻亲关系”或“无标准称谓”。如果你需要更精确的称呼(比如某些地区叫“亲家公”),需要手动根据当地习俗补充。工具能处理到“姐姐的丈夫”(姐夫)这一层,再往上跨一代就进入模糊区了。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭