文本排序
文本排序是一个免费在线的多行文本排序工具:把粘贴或上传的文本按拼音/字母(也可按笔画、按码点)、按每行长度、按行内数字大小重新排列,或直接随机打乱。升降序独立切换,可按行或按段落切分,也能先分列再按第 N 列排序。忽略大小写、首尾空白与行首序号只影响怎么比较,不改写你的文字。数字模式按数值排,13 不再排在 2 前面;随机模式填种子即可复现同一顺序。全程浏览器本地完成,内容不上传、不写入本地存储。
一行一条粘进来即可,默认按行、按拼音字典序升序排列,忽略大小写与首尾空白。
中文按拼音(也可按笔画、按码点),英文按字母,最常用。
「李四」在「张三」前,英文按字母。
高级选项:切分粒度、按第 N 列排序、比较口径、空行与去重
下面这几项只影响「怎么比较」,输出的每一行都是你原来的写法,不会被改成小写或删掉符号。
🔒 切分、取键与排序全部在你的浏览器本地用 JS 完成,文本不上传任何服务器,也不写入本地存储(种子同样不保存),关闭页面即清除。 忽略大小写、忽略空白等开关只影响「怎么比较」,输出永远保留你原来的写法。
如何使用文本排序
把要排序的内容粘进文本框,或直接拖入 .txt / .csv / .md / .log / .json / .sql 文件(单文件 10 MB 以内,按 UTF-8 读取)。
选排序依据:字典序(中文按拼音,可切笔画或码点)、按长度、按数字大小、随机打乱,升序降序切换就在依据右边;需要按第 N 列排、忽略行首序号、顺便去重时展开「高级选项」。
看统计条给出的「共 N 行 → 已按⋯⋯排列」,再复制结果、下载 .txt 或「用结果替换输入」做第二轮排序;对结果有疑问时展开「排序键预览」,就能看到每行实际是用什么值在排。
关于文本排序的常见问题
- 在线文本排序会上传我的文本内容吗?
- 不会上传。文本排序的切分、取排序键与排序全部在你的浏览器里用 JavaScript 完成,页面没有任何一次把内容发往服务器的请求,关闭或刷新页面即全部清除。本页也不写入 localStorage:文本不写,你填的随机种子同样不保存,每次打开都是同一套默认值(按行、按拼音字典序、升序、忽略大小写与首尾空白、删掉空行)。所以排客户名单、成绩单、内部清单也可以放心使用。想自己验证「在线排序不上传」这件事有个笨办法:页面打开后断网,排序、复制、下载照样能用——真要把内容传上去的工具,断网后第一步就走不通了。
- 文本排序怎么把中文名字按拼音排序?
- 把名字一行一个粘进来,排序依据保持默认的「字典序」、比较方式保持默认的「按拼音」,结果就是按姓名拼音先后排列的名单,例如「张三、李四、王五」会排成「李四、王五、张三」。用的是浏览器内置的中文排序规则,不需要你先把汉字转成拼音;想看到具体拼音可以配合拼音转换工具。要注意多音字(如「重庆」的「重」)以浏览器词库判断为准,本工具不做多音字纠正,这是能力边界。
- 文本排序时数字变成 1、10、2 怎么办?
- 那是把数字当文字比较的结果:先比第一个字符,「1」小于「2」,所以 10 跑到了 2 前面。解决办法有两个:一是改用按数字大小排序(把依据切到「按数字大小」),工具会取每行第一个数字按数值排,支持负数、小数、千分位逗号(1,234 认成 1234)、百分号(50% 按 50 排)和全角数字;二是如果只是 file2 / file10、第 3 章 / 第 12 章这类带编号的名称,保持字典序、开着「自然序」开关就够了。18 位以上的订单号或身份证号也不用担心——工具会自动切换成高精度整数比较,不会因为浮点精度把两个相邻单号排反。
- 中文名单按拼音排序和按笔画排序有什么区别?
- 拼音序按汉字读音的字母顺序排,适合花名册、通讯录、关键词表,是大多数人要的默认行为;笔画序按汉字笔画数从少到多排,适合姓氏名录、碑刻名单、传统排法的场合;还有第三种「按码点」,是原始 Unicode 顺序,大写字母排在小写前、汉字按编码值排,适合文件名、代码标识符这类要和程序或文件管理器保持一致的场景。笔画排序依赖浏览器内置的排序表,个别环境(老旧浏览器、精简版 ICU)不支持时工具会自动回退到拼音并在页面上明确提示,不会静默给你一个错的顺序。
- 按日期先后排序文本要怎么写日期格式?
- 能,但要先把日期写法统一。本工具没有单独的「日期」依据,靠的是字典序:只要每行的日期是 2026-03-04、2026/03/04 这类「年在最前 + 月日补零 + 等宽」的写法,用默认的字典序升序排,结果就等于按时间从早到晚。出问题的都是没补零或年份不在最前的写法——把 2026-3-4 和 2026-12-1 放在一起排,字典序比到「-」后面第一位就分出了胜负,「1」小于「3」,于是 12 月反而跑到了 3 月前面;3/4/2026 这种写法本身就有歧义(3 月 4 日还是 4 月 3 日),本工具不猜、也不做日期识别。补零嫌麻烦时,可以先把日期换算成时间戳,再用「按数字大小」排,换算用时间戳转换工具。
- 文本排序怎么按每行第二列的分数排?
- 展开「高级选项」勾选「按第 N 列排序」,选好列分隔符(Tab / 逗号 / 空格 / 分号,也可自定义)和列号,再把排序依据选成「按数字大小」,就能实现「按成绩从高到低排整份名单」——列号填 2 就是按第二列排序。关键点是输出仍然是完整的原始行,例如「张三⇥95」不会被排成只剩「95」。列分隔符按字面字符切分,不做「多个连续空格算一个」的智能合并,所以从 Excel 粘贴过来排序时建议保持按 Tab 分列排序(Excel 复制到剪贴板时列与列之间本来就是 Tab);某一行没有那一列时,这行会被当成无键行放到最后并计数。
- 文本排序怎么把多行文本随机打乱还能复现顺序?
- 排序依据选「随机打乱」,工具用 Fisher–Yates 洗牌把行重排,输出一定是原内容的一个排列,不会丢行也不会多行。不填种子时每次点「重新洗一次」都是新顺序;在种子框里填任意字符(例如 20260808),同一个种子每次都会得到完全相同的顺序,方便截图复现、和同事对齐结果或写进流程文档。随机模式下升降序开关会自动隐藏(对乱序没有意义)。如果你要的是抽取前 N 名、自动分组或转盘动画,请用点名器、分组器这类工具,本页只负责把现有的行乱序输出。
- 文本排序并去重能不能一次做完?
- 可以,排序并去重一次就能做完:展开「高级选项」勾上「排序时顺便去掉重复行」,每组重复只保留首次出现的那一行,判重口径与本页的「忽略大小写 / 忽略首尾空白」完全一致,统计条会追加「去掉 K 行重复」。但这只是顺手做的一步:如果你还想知道每条重复了几次、想只挑出重复的行、想把两份名单做差集,请用专门的文本去重工具,那里有出现次数、首末行号和 A−B 差集。
- 文本排序按长度排序是按字数还是按字节数算?
- 默认是按字数排序,也就是按「字符数」——用户看到的一个字算 1:一个汉字算 1,一个 emoji(包括 👨👩👧 这种由多个码点拼起来的组合表情)也算 1。另一个口径是「UTF-8 字节数」,这时一个汉字算 3 字节、一个英文字母算 1 字节,适合关心数据库字段、短信条数或接口长度限制的场景。同一份数据两种口径可能给出相反的顺序(「你好」字符数 2、字节数 6,而「abcd」字符数 4、字节数 4),选之前先想清楚你关心的是「看起来多长」还是「占多少存储」。首尾空格在默认开启「忽略首尾空白」时不计入长度。
- 文本排序会改变我原来的文字内容吗?
- 不会。忽略大小写、忽略首尾空白、忽略行首序号这些设置只影响「怎么比较」,工具在内部另算一个排序键,输出的每一行都是你原来的写法——大小写不变、空格不删、「1. 」这样的编号也还在,只是行与行的先后顺序被调整了。按第 N 列排序时同样如此:拿第 2 列去比较,输出的仍是整行。唯一会真正改变内容的是两个你主动勾选的选项:删除空行与顺便去重,而且它们都会在统计条里明确报数。
- 文本排序能不能先按部门再按分数排?
- 本工具用的是稳定排序(排序键相同的行保持原顺序),所以多级排序可以拆成两步:先按次要条件排一次(例如按分数列降序),点「用结果替换输入」,再按主要条件排一次(例如按部门列),结果就等价于「先按部门、部门内再按分数」。这个技巧对任意层数都成立——从最次要的条件开始,一次排一列,倒着往主要条件排即可。v1 没有做一次性的多级排序界面,就是因为这个两步法已经能覆盖,界面上少一堆选项反而更快。
- 文本排序最多能排多少行,会不会卡死?
- 建议在 10 MB 或 100 万行以内。2 万行以内会在你输入或改参数时实时排序、不用点按钮;超过 2 万行自动切换成「点开始排序 + 进度条」模式,取键与拼接阶段分片进行并可随时取消,不会让浏览器直接假死(中间那一次排序本身是一段不可中断的计算,进度条会停在中段并显示「正在排序…」,这一点如实告知)。超过 100 万行时只处理前 100 万行并明确提示,不会静默丢内容。另外,超大文本用拼音排序会明显更慢,页面会提示:只需要 A-Z / 0-9 顺序时改用「按码点」会快很多。结果超过 5000 行时页面只预览前 5000 行(同样有提示),但复制与下载拿到的都是完整数据。
- 文本排序打开 txt 文件中文乱码怎么办?
- txt 文本排序最容易踩的坑是编码:拖进来的 .txt / .csv / .md / .log / .json / .sql 一律按 UTF-8 读取。如果文件是 GBK / ANSI 编码(老版 Windows 记事本另存、Excel 直接导出的 csv 最常见),页面会直接提示「该文件不是 UTF-8 纯文本,请另存为 UTF-8 后重试」并拒绝载入,不会先给你一屏问号再拿去排序——按乱码排出来的顺序毫无意义。两种解决办法:用记事本打开后「另存为」把编码改成 UTF-8 再拖进来;或者全选复制、直接粘贴进文本框,粘贴走的是系统剪贴板、不经过文件编码,永远不会乱码。排序结果下载的 .txt 会自动带 UTF-8 BOM,用 Windows 记事本或 Excel 打开同样不乱码。
- 手机上能免费在线做文本排序吗,要装软件吗?
- 能,文本排序免费在线使用,手机浏览器直接打开本页就能排,不用装 App、不用注册、也不加水印,排序照样在手机本地算、内容不上传。移动端专门适配过:四类排序依据做成一排可横向滑动的胶囊按钮,不会挤成两行;「排序键预览」那张表在窄屏会自动变成一行一张卡片,原文与排序键上下对照,不用左右拖;高级选项默认收起,不占屏幕。手机上不方便拖文件时,长按粘贴文本即可,也可以从微信、备忘录里直接复制过来。
- 文本排序和文本处理工具箱有什么区别?
- 工具箱是多功能页,排序只是下拉框里的一个选项,且只能按整行字典序升降序;本页是排序专项页,多了按长度、按数字大小、随机打乱三类依据,中文可选拼音 / 笔画 / 码点三种排法,还能按段落或分隔符切分、按第 N 列排序、用种子复现随机顺序、顺便去重,以及一张「排序键预览表」告诉你每行到底是用什么值在排。如果你要的是大小写转换、去空行、字数统计,用工具箱那一页更合适;要看重复了几次、做两份名单差集,用文本去重页。
文本排序按什么排?四类排序依据对照
先想清楚「你要按什么排」,剩下的都是开关。本工具把排序依据分成四类, 任何一类都可以配合升序 / 降序、按行或按段落切分、按整行或按第 N 列取键使用:
- 字典序(默认):中文按拼音,英文按字母,可切「按笔画」或「按码点」,还可开自然序让 file2 排在 file10 前。 例:
张三 / 李四 / 王五 → 李四、王五、张三。适合:花名册、通讯录、关键词表、英文单词表。 - 按长度:按每行的字符数排(一个汉字、一个 emoji 都记 1),也可切成 UTF-8 字节数。 例:
好的 / 我知道了 / 收到 → 好的、收到、我知道了。适合:待办清单从短到长、标题控字数、接口字段长度体检。 - 按数字大小:取每行第一个数字按数值排,支持负数、小数、千分位、百分号、全角数字与 18 位以上长号。 例:
第10名 / 第2名 / 第7名 → 第2名、第7名、第10名。适合:成绩、金额、销量、排名、带编号的日志行。 - 随机打乱:Fisher–Yates 洗牌,输出一定是原内容的一个排列;填种子后同一个种子每次得到同样的顺序。 例:
10 个名字 → 每点一次「重新洗一次」换一种顺序。适合:抽签、面试出场顺序、题库打乱、A/B 名单分配。
做 SEO 的关键词表排序、英文单词按字母排序都落在第一类字典序里,这时建议保持默认的 「忽略大小写排序」:同样是 apple、Banana、Cherry 三行, 开着它得到 apple、Banana、Cherry;关掉再切「按码点」,结果会变成 Banana、Cherry、apple—— 大写字母的码点比小写小,于是所有大写开头的词整体跑到了前面。
四类依据里只有「随机打乱」不看内容,其余三类都要先给每行算一个排序键—— 字典序用归一化后的文本本身,长度用字符数或字节数,数字模式用行里第一个数字的数值。 结果区的「排序键预览」把这个键直接列出来,遇到「这行为什么排在这里」的疑问,看一眼就清楚。
中文名字按拼音、笔画、码点排序,结果差多少?
差得很远——汉字排序有三种口径,同一组名字换一种比较方式就是另一个顺序。拿四个常见姓氏丁、王、刘、黄 一行一个排一遍:
- 按拼音(默认):丁 → 黄 → 刘 → 王。比的是 Ding、Huang、Liu、Wang 的字母先后,和你在通讯录里看到的顺序一致。
- 按笔画:丁 → 王 → 刘 → 黄。比的是笔画数(2、4、6、11 画), 这是名录、碑刻、会议签到表里的传统排法。
- 按码点:丁 → 刘 → 王 → 黄。比的是 Unicode 编码值(U+4E01、U+5218、U+738B、U+9EC4), 和程序里
sort()、文件管理器给出的顺序一致。
所以「排得对不对」要先说清按哪种口径排。选择建议:给人看的名单用拼音, 要跟纸质名录或长辈习惯对齐用笔画,要和代码、脚本、文件列表的结果完全一致就选按码点排序。 一个边界提醒:笔画排序依赖浏览器内置的排序表,老旧浏览器或精简版 ICU 环境没有这张表, 本工具会自动回退到拼音并在页面上明确提示,不会静默给你一个错的顺序; 码点序下「忽略大小写」也会被强制关闭,因为两者语义互相矛盾。
为什么我的文本排序结果不对?六种常见原因
- 数字排成了 1、10、2:这是把数字当文字比较的结果(先比第一个字符「1」)。把排序依据改成「按数字大小」;如果只是 file2 / file10 这类带编号的名称,保持字典序并开着「自然序」就够了。
- 中文没按想要的顺序:默认按拼音(浏览器内置的中文排序规则)。想按传统笔画排就切「按笔画」;想要和程序、文件管理器完全一致的顺序就切「按码点」。三者结果不同是正常的,不是 bug。
- 大写字母全排在了前面:那是「按码点」的既定行为(A 的码点小于 a)。换回「按拼音」或「按字母」,并保持「忽略大小写」开启即可。码点序下「忽略大小写」会被强制关闭——两者语义互相矛盾。
- 有几行莫名跑到了最后:那些是「无键行」:数字模式下这一行没有任何数字,或按第 N 列排时这一行没有那一列。它们不论升序降序都统一放在末尾并保持彼此的原顺序,统计条会写明有几行。
- 空行不见了:排序后空行没有合理位置,默认会删掉并在统计条里写明「已忽略 N 个空行」,绝不静默删除。想留着可以在高级选项里改成「保留空行(统一放到最后)」。
- 排序键相同的几行顺序会乱吗:不会。本工具是稳定排序:键相同的行保持原来的先后顺序,升序切降序时这些行内部的顺序也不变。正因如此,先按次要条件排一次、再按主要条件排一次,效果就等于多级排序。
还有一类「看起来不对其实是对的」:中英文混排时,中文与拉丁字母谁在前由浏览器内置的中文排序规则决定 (Chrome / Edge 下大致是数字 → 中文 → 英文),本工具不对这个顺序做承诺; 需要完全确定、跨环境一致的顺序时请改用「按码点」。日期排序也常被问到:2026-03-04 这类等宽格式直接用字典序排就等价于按时间排,而3/4/2026 这种写法本身有歧义(3 月 4 日还是 4 月 3 日),本工具不猜, 需要时间换算请用 时间戳转换。
文本排序实例:一份成绩单按分数从高到低排
把下面这份用 Tab 分列的成绩单粘进来(一行一个人,第 2 列是分数):
- 输入 4 行:
张三⇥95、李四⇥100、王五⇥7、赵六(缺考) - 设置:高级选项勾「按第 N 列排序」→ 列分隔符 Tab、第 2 列; 排序依据选「按数字大小」、方向选降序。
- 输出:
李四⇥100、张三⇥95、王五⇥7、赵六(缺考)——注意输出的是完整原行,而不是只剩分数。 - 统计条:
共 4 行 → 已按数字大小降序排列,其中 1 行没识别到数字,已放到最后
「赵六(缺考)」这一行没有数字,属于无键行,不论升序还是降序都放在末尾, 这样缺数据的行不会混在有效数据中间被忽略。如果你要的是「缺考按 0 分算」, 请先把这一行补成 赵六⇥0 再排——工具不替你猜数据。 需要在同分的人之间再按姓名拼音排,就先按整行拼音排一次、再按第 2 列数字排一次, 稳定排序会让同分的人保持刚才的拼音顺序(即两级排序)。
相关工具:还要大小写转换、去空行、字数统计用 文本处理工具箱;要看每条重复了几次、做两份名单差集用 文本去重;两份文本逐行比差异用 文本对比;想直接把汉字转成拼音看用 拼音转换;要的不是给整行排序、而是把分数金额这些数字单独抽成一列再求和,用 提取数字。
文本排序的几种叫法,分别对应哪个开关
同一件事,不同的人搜的词差别很大。下面把常见搜法对到本页的具体设置,省得一个个试开关:
- 文本怎么排序 / 在线给多行文字排序:比较泛的问法,说的就是三步——粘进来、选依据、选方向;不动任何开关时默认按拼音字典序升序。
- 一堆名字怎么按拼音排序 / 姓名排序工具:保持默认即可。多音字以浏览器词库判断为准,「仇」「单」这类姓氏会按常用读音排, 要求严格时排完手工挪一下。
- 在线排序工具 / 文本乱序工具:前者泛指本页,后者特指「随机打乱」那一档——搜后者的人要的是打散,不是排好。
- 数字排序不按字典序:说的是 1、10、2 这个老问题,把依据切到「按数字大小」即可,负数、小数、千分位都认。
- 自然排序 file2 file10:名称结构相同、只有编号不同时用它——保持字典序并打开「自然序」,file2 就排在 file10 前面。
- 随机排序打乱顺序 / 一键打乱行顺序:依据选「随机打乱」,要能复现就填种子。本页只负责乱序输出,不做抽取前 N 名。
- 在线排序不上传:本页压根没有上传这一步,断网也照样能排(验证办法见上面的第一条 FAQ)。
- 英文里的说法:工具本身常被叫作 sort lines online 或 text sorter; 字典序是 alphabetical sort,按长度是 sort by length,随机打乱是 shuffle lines。 从英文教程或命令行 sort 命令转过来时,照这组对应关系找开关会快一些。