名字生成器
随机名字生成器会从整理好的名单中分别抽取名字和姓氏,所以每次抽取都是全新的:40 个英文男性名字乘以 40 个姓氏,可组成 1,600 个全名。要 5 个,就能一键得到 Sharon Moore、Andrew Smith 这样的结果,而且互不重复。
生成的名字 ()
库中不重复的名字已用完,因此显示的数量少于所需。请调低数量,或取消勾选“本批不重复”。
请先在上方粘贴至少一个名字,然后点击“生成”。
这个随机名字生成器是怎么工作的?
每次抽取都会做两次相互独立的随机选择:一次在所选文化的名字列表中取下标,一次在姓氏列表中取下标,两者用空格连接。因此一组名单能产生的全名数量就是名字数乘以姓氏数——英文男性是 40 x 40 = 1,600,在“任意”下合并男女名单后则是 80 x 40 = 3,200。没有任何内容由 AI 生成,也没有任何名字是编造的;名单是固定的,所以下次点击“生成”时同一个名字可能会再次出现。
各文化的姓名库规模
| 姓名库 | 男性名字 | 女性名字 | 姓氏 | 全名(任意) |
|---|---|---|---|---|
| 英语 | 40 | 40 | 40 | 3,200 |
| 法语 | 22 | 20 | 20 | 840 |
| 西班牙语 | 20 | 20 | 20 | 800 |
| 日语 | 20 | 20 | 20 | 800 |
| 阿拉伯语 | 20 | 20 | 20 | 800 |
全名(任意)=(男性名字 + 女性名字)x 姓氏。五组名单共有 242 条名字记录和 120 条姓氏记录。有九个名字和四个姓氏同时属于多组——Emma 同时出现在英语、法语和日语组,姓氏 Garcia 出现在英语和法语组——所以合计为 232 个不同名字、116 个不同姓氏,以及按组统计的 6,440 种组合中的 6,426 个不同全名。
怎样从我自己的名单里随机抽名字?
这就是大多数人所说的“名字抽签”。工具不会编造名字,而是把你粘贴的名字洗牌,然后返回洗好的牌堆最上面几张。在勾选“本批不重复”(默认开启)时,这能保证顺序公平且不重复——这正是转盘抽奖具备、而单纯随机挑选不具备的特性。取消勾选后,每次抽取都是独立的,同一个名字可能被选中多次。
- 点击表单上方的“从我的名单中抽取”。
- 把名字粘贴进输入框:每行一个,或用逗号、分号、制表符分隔。只要勾选“本批不重复”,重复项就会忽略大小写合并;取消勾选后,每一条都会留在抽取范围内。
- 在“数量”里设置要抽多少:填 1 抽出唯一中奖者,填名单总人数则把整个顺序打乱。
- 点击“生成”,再点“下载 CSV”,保存带编号的抽取记录。
它能生成哪些姓名格式?
姓名类型决定了每条结果的样子。用户名由同一个名字和姓氏构成,再按随机选中的四种模式之一格式化,所以一批 20 个用户名几乎总会混合全部四种风格。下面的示例都来自 Sharon + Moore 这一组合。
| 输出 | 示例 | 模式 |
|---|---|---|
| 全名 | Sharon Moore | 名字 + 空格 + 姓氏 |
| 名字 | Sharon | 仅名字,取自男性、女性或合并后的名单 |
| 姓氏 | Moore | 仅姓氏,每种文化 20 至 40 个 |
| 用户名 A | sharonmoore417 | 名字加姓氏 + 0 到 999 之间的数字 |
| 用户名 B | sharon_moore | 名字_姓氏,全小写,不带数字 |
| 用户名 C | sharon.moore42 | 名字.姓氏 + 0 到 99 之间的数字 |
| 用户名 D | smoore8321 | 名字首字母 + 姓氏 + 0 到 9999 之间的数字 |
怎样在 Excel 里做一个随机名字生成器?
如果你更想在表格里完成抽取,三个公式几乎覆盖所有情况。把名字放在 A2:A21(20 行),再按自己的数据调整区域。
-
从 20 行中随机取一个名字;适用于所有 Excel 版本。
=INDEX(A2:A21,RANDBETWEEN(1,20)) -
返回五个不重复的名字(Microsoft 365 与 Excel 2021 的动态数组)。
=INDEX(SORTBY(A2:A21,RANDARRAY(20)),SEQUENCE(5)) -
把 A 列中随机的名字和 B 列中随机的姓氏拼在一起,两列各 40 行。
=TEXTJOIN(" ",TRUE,INDEX(A:A,RANDBETWEEN(2,41)),INDEX(B:B,RANDBETWEEN(2,41)))
公式使用英文函数名。中文版 Excel 同样使用英文函数名,无需翻译;但如果你的区域设置以逗号作小数点,参数之间要改用分号。
RANDBETWEEN、RAND 和 RANDARRAY 是易失性函数:每次编辑、每次重算都会重新取值,所以 10:00 抽出的中奖者到 10:01 就变了。SORTBY 本身并非易失性函数,第二个公式之所以重算,只是因为它由 RANDARRAY 提供数据。公布结果前请复制单元格,用“选择性粘贴 > 数值”把结果固定下来。 微软的 RANDBETWEEN 函数参考
关于名字生成器
这个随机名字生成器取自五组人工核对过的姓名库——英语、法语、西班牙语、日语和阿拉伯语——并随机把名字与姓氏配对。五组合计可产生 6,440 种“名字 x 姓氏”组合,其中把同时出现在多组中的名字只计一次后,仍有 6,426 个互不相同,而这还没算上另外四种用户名模式。没有任何内容由语言模型编造。英文姓氏依据公开的频率数据:美国人口普查局 2010 年的姓氏文件,大致按频率从高到低选取并精简为 40 条——Smith、Johnson、Williams、Brown、Jones、Garcia。英文名字与法语、西班牙语、日语、阿拉伯语四组一样,收录的是当下常用的名字,由人工整理核对,而非照抄某份官方榜单,因此这些名单内部的排序是任意的。
你需要设定四项内容。姓名类型决定你得到的是全名、仅名字、仅姓氏,还是由两者组合出的用户名。性别把名字库限定为男性或女性名单,也可以在“任意”下保持合并。文化决定使用哪一组姓名库。数量为每次抽取 1 到 50 个名字。保持勾选“本批不重复”,生成器就会舍弃本批中已经产生过的名字,所以抽 20 次得到的是 20 个不同的名字,而不是 20 次相互独立的掷币。
第二种模式才是大多数“名字抽签”搜索真正想要的东西。切换到“从我的名单中抽取”,粘贴你自己的名字——每行一个,或用逗号、分号、制表符分隔——只要勾选“本批不重复”,工具就会用 Fisher-Yates 算法洗牌,并返回前 N 个。由于洗牌时每抽出一个名字就把它移走,无论是交换礼物的顺序、中奖名单还是每日站会的轮值表,都不会有人被抽到两次;取消勾选后改为有放回抽取,同一个名字可能出现多次。
每一批结果都能带离本页:复制单个名字、复制整批、下载为纯 .txt 文件,或导出带序号列的 CSV,让表格软件保留抽取顺序。所有运算都在你的浏览器里用 JavaScript 的 Math.random 完成——无需账号、无需 API 密钥,任何服务器都看不到你的名单。这也意味着这里的随机性是统计意义上的,而非密码学意义上的;需要安全级别的随机性时,请改用密码生成器。
使用场景
如何一步步生成名字?
选择模式:“生成名字”用我们的五组姓名库构造名字,“从我的名单中抽取”则从你粘贴的名字中抽取。
选择姓名类型——全名、名字、姓氏或用户名。
设置性别和文化(英语、法语、西班牙语、日语或阿拉伯语),然后设定要多少个名字,范围为 1 到 50。
保持勾选“本批不重复”,这样同一个名字不会在一批中被抽到两次。
点击“生成”;结果会按抽取顺序编号显示在下方。
复制单个名字、复制全部,或把这一批下载为 TXT 或 CSV。
专业提示
- 从自己的名单抽取时请保持勾选“本批不重复”:每个名字在抽出时就会被移走,所以粘贴 12 个名字就能得到 12 位顺序随机且互不相同的中奖者。
- 只有在确实需要重复时才取消勾选“本批不重复”。勾选时同一批内绝不会出现重复;取消勾选后,把性别设为“任意”会把英文名字库从 40 个扩大到 80 个,同一名字出现两次的概率大约减半。
- 一次生成 50 个并使用“下载 CSV”:文件带有序号列,表格软件会把抽取顺序保存下来,作为抽奖记录。
- 英语组以 3,200 种全名组合遥遥领先;法语、西班牙语、日语和阿拉伯语各为 800 到 840 种,因此在这些组里提高数量时要谨慎。
- 生成的名字是真实姓名的重新组合,结果可能属于在世的人。用作品牌或小说角色前,请先搜索并核查商标。
故障排除
切换到“从我的名单中抽取”后结果列表是空的
文本框仍然是空的,或每一行都只有空白字符。请粘贴至少一个名字后再次点击“生成”;条目可以用换行、逗号、分号或制表符分隔。
我要了 50 个名字,却得到更少
“本批不重复”处于开启状态而库存已用完。单一性别的名字列表有 20 到 40 条,而你粘贴的名单只有你粘贴的那些。请调低数量、切换到“全名”,或取消勾选“本批不重复”以允许重复。
同一个名字出现在两次不同的抽取中
每次点击“生成”都会开始一次全新且独立的抽取;“本批不重复”只在同一批内生效。若要让累计名单保持唯一,请一次性生成全部数量,或下载 CSV 后在表格软件中去重。
常见问题解答
随机名字生成器是一种从预存名单中随机返回名字的工具。本工具收录五种文化的 232 个不同名字和 116 个不同姓氏,并独立配对,因此仅英语一组就能产生 3,200 个全名。你设置类型、性别、文化和数量,点击“生成”,一次最多可得到 50 个名字。
它们从数组中随机取一个下标。本生成器每生成一个名字就调用两次 JavaScript 的 Math.random()——一次取名字,一次取姓氏——再把结果拼接。勾选“本批不重复”后,它会记录已经产生过的名字,一旦重复就重新抽取,所以请求 20 个名字得到的就是 20 个不同的名字。
可以。切换到“从我的名单中抽取”,每行粘贴一个名字(逗号、分号和制表符同样有效),再设置要抽多少个。工具会用 Fisher-Yates 算法把整份名单洗牌并返回前 N 个:在勾选“本批不重复”(默认开启)的情况下,30 人的名单会得到 30 位顺序随机且互不重复的中奖者,非常适合抽奖或交换礼物。取消勾选后,抽取是有放回的,同一个名字可能出现两次。
保持勾选“本批不重复”,它默认是开启的。在生成模式下,工具会把本批中已经产生过的名字重新抽取一次。在名单模式下,它会在抽出时移除该条目,并忽略大小写合并你粘贴文本中的重复项,所以“Anna”和“anna”算作同一个人。取消勾选后,两种模式都会独立抽取,同一个名字可能出现多次。
把名字放在 A2:A21,用 =INDEX(A2:A21,RANDBETWEEN(1,20)) 抽取一个。在 Microsoft 365 中,=INDEX(SORTBY(A2:A21,RANDARRAY(20)),SEQUENCE(5)) 会返回五个不重复的名字。RANDBETWEEN 和 RANDARRAY 是易失性函数,每次编辑都会重新取值,所以请复制结果并以数值形式选择性粘贴,把它固定下来。
它们在统计意义上是随机的,但不具备密码学随机性。Math.random() 是由浏览器播种的伪随机生成器;MDN 明确警告不得将其用于安全用途。用于抽奖、排班或测试数据没有问题。凡是攻击者可能通过预测结果获利的场景,请改用符合 NIST SP 800-90A 的随机源。
每批最多 50 个,在“数量”字段中设置。如果你要的不重复名字超过库存——名单只有 40 个时却要 50 个不重复的英文男性名字——工具会返回库中全部内容并给出提示。全名的空间要大得多:英语 3,200 种组合,法语 840 种,西班牙语、日语和阿拉伯语各 800 种。
不能。本生成器从五组真实姓名库返回逼真的人名,这正是需要让角色听起来像真人、需要测试数据以及需要抽奖时所要的东西。它不会编造虚构语言的词汇、精灵名或地名。若需要这些,专门的奇幻名字生成器更合适。
把姓名类型设为“用户名”。每条结果都会使用随机选中的四种模式之一:sharonmoore417、sharon_moore、sharon.moore42 或 smoore8321。一次生成 20 个,全部复制后粘贴到注册表单或用户名查询工具中,就能找到在目标平台上仍可注册的那一个。
从法律角度应先核查。这里的名字是真实姓名的重新组合,因此结果可能正是某位在世者的姓名或某个既有品牌。请搜索完整字符串;若用于商业用途,在付印前先到本国商标注册机构查询(中国为国家知识产权局商标局,欧盟为 EUIPO)。
参考资料与延伸阅读
英文姓氏名单依据美国人口普查局根据 2010 年普查公布的频率表;名字名单由人工整理,并非取自任何全国榜单。两份关于随机性的参考资料解释了上文提到的界限:Math.random() 用于抽奖足够,但凡是攻击者能从预测结果中获利的场景都不适用。