Slug Generator

é → e · ß → ss · ø → o

去除重音符号工具(Remove Accents)

去掉文本里的重音和变音符号,同时保留大小写、空格和标点。ß、æ、ø、đ 等特殊字母与 Slug 生成器使用同一张对照表;中文、西里尔文等非拉丁文字可以保留、音译或删除。

  • 100% 浏览器本地运行
  • 与 Slug 生成器规则一致
  • 逐行处理
非拉丁文字

中文、西里尔文、阿拉伯文等保持原样,只去掉拉丁和希腊字母上的重音。

6 行中有 6 行有改动

替换的字符

  • è → e
  • û → u
  • é → e ×2
  • Å → A
  • ö → o ×2
  • ã → a
  • ï → i
  • ç → c
  • ß → ss
  • Æ → AE
  • Ø → O
  • Ł → L
  • ó → o
  • ź → z
  • Đ → D
  • à → a ×2
  • ẵ → a
  • ộ → o
  • ü → u
  • έ → ε

这个去除重音符号工具会去掉文本里的变音符号:Crème Brûlée 变成 Creme Brulee,Đà Nẵng 变成 Da Nang。它删除重音标记,按与本站 slug 生成器相同的规则转换 ß、æ、ø 等特殊字母,并可选择保留、音译或删除西里尔文、希腊文、中文等非拉丁文字。可以粘贴一个词,也可以粘贴上千行;空格、大小写和标点保持原样。全部在浏览器本地完成。

处理前后对比

原文结果设置
Crème BrûléeCreme Brulee默认
São PauloSao Paulo默认
Žluťoučký kůňZlutoucky kun默认
Ça va, Zoë?Ca va, Zoe?默认
StraßeStrasse默认
StraßeStraße关闭特殊字母
ÆrøskøbingAEroskobing默认
ŁódźLodz默认
MüllerMuller默认
MüllerMueller打开德语变元音
ΚαλημέραΚαλημερα非拉丁文字:保留
ΚαλημέραKalimera非拉丁文字:音译
ХрущёвKhrushchyov非拉丁文字:音译
東京 TōkyōTokyo非拉丁文字:删除

去重音的原理

Unicode 里的 é 既可以写成一个字符,也可以写成 e 加一个组合尖音符。工具先做 NFD 规范化,把每个带重音的字母拆成基本字母加组合符号,再删掉这些符号(U+0300–U+036F 等组合变音符号区段)。法语、西班牙语、葡萄牙语、越南语、捷克语、波兰语、罗马尼亚语、土耳其语等大多数拉丁字母语言,一步就能处理干净。

只有拉丁字母和希腊字母(选择音译时还包括西里尔字母)上的符号会被删除,印地语、泰语、阿拉伯语等依赖元音符号的文字不会被破坏。

不属于重音的特殊字母

有些字母看起来带重音,但在 Unicode 里是独立字母,规范化不会拆分它们。打开「特殊字母」(默认开启)时,工具按与 URL Slug 生成器 完全相同的方式转换:

字母转换为
ßss
æ Æae AE
ø Øo O
œ Œoe OE
đ Đd D
ł Łl L
þ ðth d

德语读者习惯把 ä、ö、ü 写成 ae、oe、ue,所以 Müller 应写成 Mueller;处理德语人名时打开「德语变元音」,其他语言请保持关闭。各语言的惯例详见我们的音译指南。

非拉丁文字

  • 保留(默认):中文、西里尔文、希腊文等原样保留。希腊文仍会去掉重音符号,Καλημέρα 变成 Καλημερα。
  • 音译:西里尔文和希腊文按 slug 生成器的对照表转成拉丁字母,Хрущёв 变成 Khrushchyov;其他文字保留。
  • 删除:删除所有非拉丁字母并合并多余空格,只留下拉丁文字部分。

代码:用 JavaScript 和 Python 去除重音

两段代码都与工具的默认结果一致(已对每个测试字符串逐一核对):

// Same table as the tool: letters that Unicode does not split into base + accent.
const SPECIAL = { ß: 'ss', ẞ: 'SS', æ: 'ae', Æ: 'AE', œ: 'oe', Œ: 'OE', ø: 'o', Ø: 'O', đ: 'd', Đ: 'D', ð: 'd', Ð: 'D', þ: 'th', Þ: 'TH', ł: 'l', Ł: 'L', ı: 'i', ħ: 'h', Ħ: 'H', ŧ: 't', Ŧ: 'T', ŀ: 'l', Ŀ: 'L', ŋ: 'n', Ŋ: 'N', ſ: 's', ĸ: 'k', ƒ: 'f' };
const mapSpecial = (s) => [...s].map((c) => SPECIAL[c] ?? c).join('');

function removeAccents(text) {
  const s = mapSpecial(text.normalize('NFC')).normalize('NFD')
    // Drop combining accents only after a Latin or Greek letter, so other scripts stay intact.
    .replace(/([\p{Script=Latin}\p{Script=Greek}])[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]+/gu, '$1');
  return mapSpecial(s).normalize('NFC');
}
import unicodedata

# Same table as the tool: letters that Unicode does not split into base + accent.
SPECIAL = {'ß': 'ss', 'ẞ': 'SS', 'æ': 'ae', 'Æ': 'AE', 'œ': 'oe', 'Œ': 'OE', 'ø': 'o', 'Ø': 'O', 'đ': 'd', 'Đ': 'D', 'ð': 'd', 'Ð': 'D', 'þ': 'th', 'Þ': 'TH', 'ł': 'l', 'Ł': 'L', 'ı': 'i', 'ħ': 'h', 'Ħ': 'H', 'ŧ': 't', 'Ŧ': 'T', 'ŀ': 'l', 'Ŀ': 'L', 'ŋ': 'n', 'Ŋ': 'N', 'ſ': 's', 'ĸ': 'k', 'ƒ': 'f'}
MARKS = ((0x0300, 0x036F), (0x1AB0, 0x1AFF), (0x1DC0, 0x1DFF), (0x20D0, 0x20FF), (0xFE20, 0xFE2F))


def _is_mark(c):
    return any(a <= ord(c) <= b for a, b in MARKS)


def remove_accents(text):
    s = ''.join(SPECIAL.get(c, c) for c in unicodedata.normalize('NFC', text))
    out, after_latin = [], False
    for c in unicodedata.normalize('NFD', s):
        if _is_mark(c):
            if after_latin:
                continue  # an accent on a Latin or Greek letter
        else:
            name = unicodedata.name(c, '')
            after_latin = 'LATIN' in name or 'GREEK' in name
        out.append(c)
    return unicodedata.normalize('NFC', ''.join(SPECIAL.get(c, c) for c in out))

需要的是 URL slug 而不只是干净文本?URL Slug 生成器 会一次完成去重音、转小写和用连字符连接。如果链接里已经出现 %C3%A9 这样的转义,可以用 URL 编码/解码工具 解码。

参考来源

FAQ

常见问题

怎样去掉文本里的重音符号?

把文本粘贴进输入框即可。带重音的字母会立即被替换,例如 é 变成 e、ñ 变成 n,结果可以复制或下载。

为什么规范化去不掉 ß?

ß、æ、ø、đ、ł 是独立的字母,不是「基本字母 + 重音」,NFD 规范化不会拆分它们。「特殊字母」选项会把它们转成 ss、ae、o、d、l。

ü 应该变成 u 还是 ue?

德语单词和人名用 ue(Müller → Mueller),西班牙语、土耳其语等其他语言用 u。用「德语变元音」开关切换即可。

会改变大小写或标点吗?

不会。大小写、空格、换行和标点都保持原样,只改动重音符号和你选择的特殊字母。

能一次处理很多行吗?

可以。每一行单独处理,计数会显示有多少行发生了变化,整份结果可以下载为文本文件。

我的文本会被上传吗?

不会。转换在浏览器里完成,你粘贴的内容不会发送到任何地方。

要的是 URL,而不只是去掉重音?

Slug 生成器同样会去掉重音,还会加连字符、转小写、去停用词并限制长度。