Instagram简介生成器

按 Instagram 资料页的五个独立字段(身份、领域、卖点、行动号召、话题标签)拼装简介,逐字段显示字符成本与 150 字符上限的分配比例,超限时明确告诉你超了多少、该砍哪一段。

话题标签(选中 0~3 个,会拼到句尾)

第 1 条 · 默认示例
独立开发者|后端与数据|把复杂流程做成自动化工具|DM me #buildinpublic #coding
53 / 150 字符(码点),剩余 97
第 2 条 · 句式变体:结果前置
独立开发者|把复杂流程做成自动化工具|后端与数据|DM me #buildinpublic #coding
53 / 150 字符(码点),剩余 97

字段顺序共 4 种变体;「|」是全角分隔符占 1 字符,标签前有 1 个半角空格。字符数按码点统计([...s].length),不是 UTF-16 码元数。

使用方法

  1. 在「身份」填 独立开发者(示例值,打开时已预填)。这个字段在 Instagram 上有独立输入框,不占 150 字符的 bio 预算——把它硬拼进简介是最常见的浪费。
  2. 在「领域」填 后端与数据,「卖点」填 把复杂流程做成自动化工具,「行动号召」填 DM me。三个字段用全角「|」连接,标签前留一个半角空格。
  3. 话题标签默认勾选 #buildinpublic 和 #coding 两个。实测这两个标签共占 22 个字符(含 # 号和中间那个空格),是 150 预算里第三大的一块。
  4. 「生成条数」填 6,点「生成简介」或在任意输入框按 Enter。列表会给出 4 种字段顺序变体,每条都标注字符数与剩余预算,超限的那条会标红并算出超了多少。
  5. 点「复制对照表」把 12 行样例的 TSV 带走,或点「导出 CSV」。Instagram简介生成器的每个字段都带范围校验,超长会直接告诉你该砍哪一段。

Instagram简介生成器能解决什么问题

写 Instagram 简介的难点从来不是「想不出文案」,而是150 个字符要同时装下五个信息,而大多数人只会用两个。这个工具解决的就是「装什么、装多少、怎么排」的问题。

一是把简介拆成可替换的字段,而不是写一整段话。资料页的结构决定了简介的读者路径是「扫」而不是「读」——三秒内扫完,扫到哪一行算哪一行。所以最有价值的结构是「身份 + 领域 + 卖点 + 行动号召」这个顺序:身份让人知道你是谁,领域缩小受众范围,卖点是唯一真正影响关注的字段,行动号召给出下一步。默认示例「独立开发者|后端与数据|把复杂流程做成自动化工具|DM me」53 个字符,四段都在,是这个结构的最小可用形态。

二是让字符预算可分配,而不是凭感觉。150 字符该怎么切,实测分配是:身份 12 + 卖点 46 + 行动号召 20 + 话题标签 32 + emoji 10 = 120,剩下 30 字符作安全余量。注意卖点和身份加起来才 58 个字符,占了不到 40%——很多人在简介前两行烧掉 100 个字符讲自己是谁,却只剩 20 个字符说能提供什么,这就把最重要的信息挤掉了。

三是量化「超长」而不是让它被静默截断。如果你把一段 200 字符的自述贴进 bio 输入框,App 不会报错,只会在第 150 个字符处砍掉,而你完全不知道砍在哪。这个工具对每条输出都显示字符数、剩余预算和百分比进度条,超过 150 的那条直接标红并写明超出多少字符,让你回去砍字段而不是砍运气。

四是搞清楚「字符」到底是什么。这是本工具最实际的价值:中文 1 字 = 1 字符 = 3 个 UTF-8 字节;而 ☕️ 是 2 个码点(U+2615 + U+FE0F)6 个字节,👨‍👩‍👧 是 5 个码点18 个字节。如果你用 s.length(UTF-16 码元)去数字符,emoji 会被算成 2 个,比 App 的显示口径多算一倍。本页统一用 [...s].length 按码点统计,实测 ☕️ 记 2 字符、🚀 记 1 字符、👨‍👩‍👧 记 5 字符。

本页不做这些事:不生成 Instagram 帖子文案(那是完全不同的任务,字数约束、语气、结构都不一样)、不算话题标签的数量上限、不做其他平台的简介。帖子内容创作请用「Instagram文案生成器」;话题标签能放多少个、怎么分布请看「Instagram话题标签数量指南」;要算的是字数统计而不是简介创作,请用「推文字符统计」这类计数工具。

原理和变量:字段构成与字符预算

第一步,先认清资料页有 6 个独立字段,只有 1 个受 150 限制。字段构成是:姓名 Name(独立输入框)、分类 Category(独立,下拉选择)、简介 Bio(唯一受 150 字符限制的字段)、行动号召按钮 CTA(独立,App 内置选项)、链接(独立,资料页可点链接位 1 个)、话题标签(独立字段)。
这个结构决定了两件事:第一,把姓名、链接、分类硬拼进 bio 会白占本该给卖点的字符;第二,bio 文本里写第二个网址不会多出一个可点链接——想放多个入口只能用「链接」位(放一个聚合页)或写在 bio 文本里当纯文本。这解释了为什么本工具的字段划分严格对应 App 的输入框,而不是按「一句话写完」的思路。

第二步,150 字符怎么切。页面给的预算是实测分配:

五段合计 120 字符,余量 30。这个比例和实测的 12 行样例吻合:12 行的码点长度最短 37、最长 63、平均 48.7——没有一行接近 150,因为好简介本来就该短。

第三步,逐字段的字符成本实测。12 行样例里各字段的长度分布是:身份 3~5 字(如「摄影师」3 字、「开源维护者」5 字)、领域 4~10 字(「Python 工具库」10 字最长,因为英文单词按字符逐个算)、「城市夜景」4 字)、卖点 6~21 字(「胶片数码双修」6 字最短、「3 个月把部署从 40 分钟压到 90 秒」21 字最长)、行动号召 2~6 字(「订阅」2 字最短、「Star 我」6 字最长)、话题标签 13~25 字(含 # 号与内部空格)。
还有两个固定开销:3 个全角「|」= 3 字符,标签前 1 个半角空格 = 1 字符,四项拼接每条固定多 4 个字符。验算第 1 行:身份 5 + 1 + 领域 5 + 1 + 卖点 12 + 1 + 行动号召 5 + 1 + 标签 22 = 53,与实测一致。

第四步,截断位置实测,这是最容易被忽略的一条。构造一条 153 字符的简介,超出 150 共 3 字符:第 150 位是半角空格(U+0020),第 151 位是汉字「端」(U+7AEF),被丢弃的部分是「端系统」三个字。
关键在按码点切而不是按 UTF-16 码元切。构造一个更极端的例子:149 个字母 a + 1 个 emoji(U+1F600,UTF-16 占 2 个码元)+ 1 个 b,共 151 个码点 / 152 个码元。按码点切 150 位,emoji 被完整保住;按 s.slice(0, 150) 切,emoji 被切成只剩高代理 0xD83D——粘回 Instagram 会显示成一个豆腐块 □。这就是本页按码点计数的实际理由:它不只是「更准」,而是在截断时不会产生乱码。

第五步,字段顺序也影响效果,本页给 4 种变体。实测顺序包括:身份→领域→卖点→行动号召(默认)、身份→卖点→领域→行动号召(卖点前置,把最能打动人的那句提到第二段)、领域→身份→卖点→行动号召、身份→领域→卖点→行动号召→追加句(留 30 字符余量给「每周更新进展」这类补充说明)。四段结构的字数完全相同(顺序不改变字符数),但读者在前三行看到的信息不同——默认顺序适合「我是谁」本身是卖点的人(设计师、摄影师),卖点前置适合「技术能力」才是差异点的人(开发者、顾问)。

完整示例(数值仅作演示)

示例条件与页面打开时的默认值完全一致:身份「独立开发者」、领域「后端与数据」、卖点「把复杂流程做成自动化工具」、行动号召「DM me」、标签 #buildinpublic #coding。结果区在打开时就显示着上面两条,你点一次「生成简介」得到完全一样的结果。

输入范围与对照表

五个输入的范围与它的作用一起给出:

输入项页面允许范围预算档位为什么要这么限
身份1 ~ 20 字12 字符App 里姓名是独立字段,这里只取「身份描述」那部分;上限 20 字是因为它还要和领域、卖点抢同一份 150 预算
领域1 ~ 20 字—英文单词按字符逐个算(「Python 工具库」已占 10 字符),20 字能容纳一个中英混排的短领域
卖点1 ~ 40 字46 字符本页给卖点最大预算,因为它是唯一影响「要不要关注」的字段;40 字上限留 6 字符余量
行动号召1 ~ 20 字20 字符「评论关键词领资料」9 字已够用;过长说明你在写说明文而不是号召
生成条数1 ~ 12—12 是对照表的行数上限;生成 20 条以上会因高度重复而失去参考价值
话题标签0 ~ 3 个32 字符实测 3 个标签(#buildinpublic #coding #startup)共 31 字符,正好用满这档预算

下表是 12 行样例的逐行实测,每行都按「身份|领域|卖点|行动号召 + 标签」拼接,码点、UTF-16 码元、UTF-8 字节三个口径都列出来,让你看到「同一个简介三种数法能差多少」:

行生成的简介码点UTF-16UTF-8 字节剩余占比
1(默认)独立开发者|后端与数据|把复杂流程做成自动化工具|DM me #buildinpublic #coding53531039735%
2后端工程师|支付与风控|帮团队省下 60% 重复运维时间|看主页 #fintech #backend 🚀51521089934%
3产品设计|B 端界面|3 个月把部署从 40 分钟压到 90 秒|链接在简介 #productdesign #b2b58581109239%
4自由职业|Web 前端|按周交付,不接急单|发邮件 #freelance #frontend46468810431%
5技术写作者|数据库内核|每周一篇源码笔记|订阅 #database #writing 💡43449210729%
6摄影师|城市夜景|胶片数码双修|约拍私信 #photography #cityscape44448410629%
7咖啡店主|手冲器具|每周三晚 8 点直播烘豆|门店见 #coffee #slowbar ☕️45459510530%
8健身教练|居家训练|零器械 20 分钟 HIIT|私信领计划 #fitness #hiit45458710530%
9英语老师|商务口语|每天 10 分钟跟读打卡|评论打卡 #english #learning46469210431%
10开源维护者|Python 工具库|维护 12 个 star 过千的仓库|Star 我 #opensource #python 🎯63641068742%
11学生党|考研数学|一题三解,专治不会|收藏再看 #kaoyan #math37378311325%
12远程工作者|数字游民|时差 9 点但客户满地|私信聊 #remotework #digitalnomad 🌱53541029735%

三个口径的差距在这张表里一目了然:第 2、5、10、12 行含 emoji,UTF-16 码元比码点各多 1(emoji 占 2 个码元但只算 1 个码点);UTF-8 字节普遍是码点的 1.8~2 倍,因为汉字占 3 字节。第 11 行最短(37 字符,占 25%),第 10 行最长(63 字符,占 42%)——最长那行也只用掉不到一半预算,这就是为什么「150 字符」对认真写简介的人从来不是瓶颈:瓶颈是「前三行能不能让人停下来」。

边界与精度

常见问题

150 字符到底够用吗?我写了两百多字被截掉了。

够用,而且富余得离谱。实测 12 行样例的码点长度是最短 37、最长 63、平均 48.7——最长那行也只用掉 150 的 42%。所以「被截掉」通常不是字符不够,而是你把简介写成了自我介绍的全文。
判断标准是「前三行测试」:把鼠标移开,让一个不了解你的人看 3 秒,看他能说出你是做什么的吗?如果说不出,问题不在字符预算,在你把「十年经验、做过三个项目、拿过两个奖」这些履历塞进了本该写价值主张的位置。履历属于「精选动态」或 Highlights 的事,简介该只留一句「我能让谁得到什么」。
另一个常见误区是把网址写进简介。bio 文本里写网址只是纯文本,不会变成可点链接,而 App 的「链接」字段才是可点的(限 1 个)。你为一个网址付出的字符成本是 20~30 个,却得不到任何点击收益。要放链接就用链接字段,简介里只留一句行动号召。

用 s.length 算出来没超,粘到 App 里却超了,为什么?

因为 s.length 返回的是 UTF-16 码元数,而 App 按用户感知的字符(码点)计数,两者对 emoji 的处理不同。实测:'🚀'.length = 2(高低代理各 1 个码元),但显示上只占 1 个字符;'😀'.length = 2,码点 = 1。所以含 emoji 的简介用 s.length 会多算 1~2 个字符,看起来「没超」其实可能刚好卡在边缘。
反方向的坑也存在:'👨‍👩‍👧'.length = 8,但码点只有 5,s.length 也会多算 3。正确写法是 [...s].length(展开成码点数组再数长度),本页全部用这个口径。
还有第三种错误数法:new TextEncoder().encode(s).length 返回的是 UTF-8 字节数,实测第 10 行是 106 而不是 63——用字节数判断会以为严重超限,实际只用了 42%。三种数法在第 10 行分别是 63 / 64 / 106,差 43,务必分清。

话题标签放在简介里到底有没有用?

有用,但收益已经下降,而且要占字符。本工具把 3 个标签的预算定在 32 字符,实测 #buildinpublic = 14、#coding = 7、#startup = 8、#indiehacker = 12,5 个标签合计 48 字符(不含空格),加 4 个分隔空格是 52 字符——直接吃掉 150 的三分之一。
更实际的判断是「标签 vs 卖点」的机会成本:#buildinpublic 14 字符,如果把这 14 个字符给卖点,能多写半句「帮小团队省下 60% 的重复运维时间」。对已经有稳定内容分发的人,简介里的标签边际作用低;对零粉丝新号,标签反而是唯一的被检索入口。
关键是不要在简介和标签页里重复堆同一批词——如果你的 3 个精选动态里已经密集出现 #buildinpublic,简介里再写一遍的增量很小。本页默认只勾选 2 个标签(22 字符),并且把它放在句尾而不是句首,就是让读者先看到你和你的价值,标签只是末尾的检索入口。标签数量能放多少、怎么分布是另一个问题,请看专门的「Instagram话题标签数量指南」;本站已有的「话题标签统计」可以帮你数现有标签的重复度。

我抄了一段简介,长度显示 300 多,为什么?

最可能的原因有三个,按概率排序。第一是 UTF-8 字节数:如果你从某个工具复制了「字节数」,中文会是字符数的 3 倍,300 字节对应约 100 字符,看起来超限其实没超。本页把三种口径分开显示就是为了避免这个误会。第二是零宽字符:U+200B 零宽空格、U+FE0F 变体选择符、U+FEFF BOM 都是不可见但计入长度的码点。从网页或某些编辑器复制时经常被带上,你肉眼完全看不出来。检查方法:在输入框里把光标移到最前面,用方向键逐字符移动,光标会「卡一下」但屏幕不变,那就是零宽字符。第三是包含了 bio 之外的内容——如果链接字段里也有文字,或者你把 Highlights 名称也复制进来了,合计自然会超。
值得注意的是,零宽字符不会导致「明明够却超限」,它只会让字符数变多、让 App 截得更早。所以如果你怀疑,去查零宽字符比反复删字更有效。

App 里显示的简介和我写的不一样,末尾少了一截,是被截断了吗?

是,而且你需要知道截断规则。实测一条 153 字符的简介,App 会砍掉最后 3 个字符:第 150 位是空格、第 151 位起是「端系统」。这意味着如果你的行动号召正好在结尾,超限后被砍掉的就是它——而行动号召往往是简介里最该被执行的部分。
更隐蔽的是截断可能落在词中间:如果最后一段是「私信领资料包」,超限 2 字符会砍成「私信领资」,看起来像打错字而不是被截断。防御办法是留安全余量:本页给的余量是 30 字符,正常简介只用 37~63 字符,余量绰绰有余;如果你一定要写到 140 字符以上,请把行动号召往前挪,别放在末尾。
还有一个平台差异需要注意:不同 App 版本和 Web 端对 150 的计数实现可能不完全一致,有的按码点、有的按码元,在临界值附近的简介可能表现不同。这也是本页建议实测 40 字符左右就收手的另一个理由。

我加了很多 emoji 让简介更活泼,会不会反而超限?

会,而且成本比你想的高,而且不均匀。实测三类的码点成本:🚀、💡、🎯、🌱、🔥、📈 这类单码点 emoji 占 1 字符、4 字节;☕️ 和 ⚡️ 因为带变体选择符 U+FE0F,占 2 个码点、6 字节;🛠️ 更特殊,是 3 个 UTF-16 码元、7 字节。所以「加 3 个 emoji」的字符成本可能是 3~6 字符,取决于你选了哪几个。
更贵的是组合类:👨‍👩‍👧 是 18 字节但只算 5 个字符,👨‍👩‍👧‍👦 家族更大。字节成本是单 emoji 的 4 倍以上,虽然字符数只占 5。
实际建议是 1 个就够,放在句尾。本页给的预算是 10 字符(约 1~2 个),并把它排在预算表的最后一档——因为 emoji 的边际收益远低于卖点那 46 字符。如果你想用 emoji 分隔字段(独立开发者🚀|后端与数据),注意这样每个分隔符从 1 字符变成 1 字符 + emoji 成本,4 段就是 3 个 emoji,容易失控。

资料页的链接只能放一个,但我有三个渠道怎么办?

这是 App 的结构限制,不是文案问题:资料页的可点链接位只有 1 个,所以「bio 文本里再写两个网址」是无效操作——它们只是纯文本,不可点击。
三个可行方案,按推荐顺序:一,用那 1 个链接位放一个聚合页(Linktree 类服务,或你自己的一个简单导航页),把三个渠道都收进去。成本是简介里完全不写网址,省下 20~30 字符。适合绝大多数人。二,把渠道分到不同字段:链接位放最重要的那个,行动号召写「DM me」把私信作为第二入口,主动号召往往比被动链接的转化更高。适合服务型账号。三,用 Highlights(精选动态)承载:把「联系我」「合作方式」「我的服务」做成三个精选动态封面,它们不占 bio 字符,但会被扫到。
无论哪种方案,本页的字段设计都把「行动号召」独立出来,就是为了让你想清楚「这一句是让人去做某个动作」还是「只是把网址贴上去」。前者有效,后者只是占字符。

数据会上传吗?我的职业信息会不会被泄露?

不会。Instagram简介生成器只调用浏览器原生能力:[...str] 做码点计数、str.trim() 做清洗、Array.from() 拼字段,没有任何 fetch、XMLHttpRequest、sendBeacon 或图片上传。你可以在开发者工具的 Network 面板刷新一遍验证:除了 HTML、CSS 和本页那一个 <script>,没有任何请求。
生成逻辑完全在本地内存里完成,不写入 localStorage / sessionStorage / Cookie,刷新页面输入就没了;「载入示例」按钮会把表单恢复成默认的演示值。你填的职业、领域这些字段从头到尾没有离开过你的浏览器。
需要说明的是,本页生成的文案仍然要你自己复制到 Instagram 才能用——那一步是你在 Instagram App 里主动做的动作,与本工具无关。另外这里生成的是「怎么写」的框架,不保证内容合规或有效:涉及医疗、金融、教育类身份时,各平台的简介规范有额外限制(比如金融类账号常被要求标注资质),这些必须你自己核实。

相关工具