上传文件
  1. base64hub
  2. 文件工具
  3. MP3 转 Base64

MP3 转 Base64

拖入 MP3,复制为 data:audio/mpeg;base64, URI 或纯 Base64。可以在播放器中试听,粘贴到任何地方之前先看看长度。

免费 无需注册,不限次数 本地 不上传任何内容 更新于 2026年10月27日
将文件拖到这里、粘贴或选择文件
输入 –输出 –大小 –

在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认

如何把 MP3 转为 Base64

  1. 把 .mp3 文件拖到框中,或用文件选择器选择。
  2. 在预览中试听,确认是正确的片段。
  3. 用于 HTML 和 JavaScript 时,输出为 保持为 Data URI;用于 API 时切换为 纯 Base64 或 JSON。
  4. 按 复制输出;文件较长时可以按 另存为 .txt。

各码率对应的长度

MP3 的大小等于码率乘以时长,Base64 再让它长三分之一。下面的数字只计算音频数据,不含标签:

码率1 秒10 秒1 分钟
64 kbps10,668 个字符106,668 个字符640,000 个字符
128 kbps21,336 个字符213,336 个字符1,280,000 个字符
192 kbps32,000 个字符320,000 个字符1,920,000 个字符
320 kbps53,336 个字符533,336 个字符3,200,000 个字符

对于提示音或语音提示,64 kbps 单声道通常绰绰有余,字符串也短。如果片段比需要的长,编码前先在音频编辑器中以更低的码率重新导出。

ID3 标签可能占了文件的大头

来自音乐库的 MP3 文件开头带有 ID3v2 标签,其中经常嵌有封面图。一个两秒的音效,附带的封面图可能比音频本身还大,而这些全都会进入 Base64。

带标签的文件,输出以 SUQz 开头。SUQzBA 表示 ID3 2.4 版,SUQzAw 表示 2.3 版。如果文件用于界面音效或 API,请先用音频编辑器或标签编辑器删除标签,再编码干净的文件。输出下方的指示条会显示两者的差别。

使用 Base64 MP3

在 HTML 中:

<audio controls src="data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2..."></audio>

在 JavaScript 中,data URI 可以用在任何接受 URL 的地方:

const ping = new Audio("data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2...");
document.querySelector("#send").addEventListener("click", () => ping.play());

play() 必须在点击等用户操作之后运行,否则浏览器会阻止它。

对于 JSON API,除非文档注明使用 data URI,否则请用 纯 Base64。尤其是语音转文字服务,通常需要纯 Base64,再加一个单独的字段说明音频格式。

常见问题

  • 播放器没有声音。 检查 data URI 是否以 data:audio/mpeg;base64, 开头,并确认 URL 安全(- _) 和 每 76 字符换行 都已关闭。URL 安全字符在 data: URL 中无效,换行则会截断 JavaScript 字符串字面量。
  • 时长不对或拖动进度时跳跃。 没有正确头部信息的可变码率 MP3 会让播放器出错。这个问题来自文件本身;请用音频编辑器重新导出。
  • 需要把文件还原回来。 Base64 转 MP3 可以解码字符串,并播放或下载。其他格式见 音频转 Base64。

常见问题

Base64 MP3 的正确 MIME 类型是什么?

audio/mpeg。有些代码里能看到 audio/mp3,但注册的类型是 audio/mpeg,会校验类型的 API 也要求它。

为什么 MP3 的 Base64 以 SUQz 开头?

SUQz 就是 ID3,即 ID3v2 标签的开头,其中有标题、艺术家,可能还有封面图。不带标签的 MP3 文件直接以音频帧开头,编码后是 // 加一个字母,例如 //uQ 或 //OQ。

一分钟的 MP3 转成 Base64 有多少个字符?

128 kbps 时,一分钟音频是 960,000 字节,编码后是 1,280,000 个字符。64 kbps 时减半。标签和封面另算。