文件扩展名与 MIME 类型对照速查

6 个速查板块 · 关联 5 款站内工具 · 数据最后核对 2026-10-05

常见扩展名对应哪个 MIME 类型、属于什么类别、该用什么打开,以及为什么改扩展名并不会真的改变文件格式。

扩展名是给人和系统看的「标签」,MIME 类型是网络传输时用来声明内容类型的「正式名称」。两者通常成对出现,但经常对不上——服务器按扩展名猜类型、上传接口按 MIME 做校验、浏览器按 MIME 决定怎么渲染,任何一环不一致都会出问题。

这篇把常见格式按五类整理成对照表,最后单独说明一件事:扩展名是可以随便改的,它不决定文件里到底是什么——真正决定格式的,是文件开头的几个字节。

1文本与数据类

这一类的共同点是内容可读、可以用文本编辑器直接打开。其中 CSV、JSON、YAML 三种都是结构化数据,区别在于书写习惯和适用场景。

扩展名MIME 类型典型用途
.txttext/plain纯文本,无格式
.mdtext/markdown轻量标记文档,常见于说明文件与博客
.csvtext/csv表格数据交换,Excel 与数据库都能读写
.jsonapplication/json结构化数据,接口传输的事实标准
.xmlapplication/xml结构化数据,老系统与政务接口常见
.yaml / .ymlapplication/yaml配置文件,靠缩进表达层级
.htmltext/html网页
.csstext/css样式表
.jstext/javascript脚本文件
.pdfapplication/pdf版式固定的文档,跨平台显示一致

2图片类

图片格式的差异集中在三点:是否有损、是否支持透明、是否支持动画。记住这三点,选格式基本不会错;具体怎么选可以参考图片格式的选型指南。

扩展名MIME 类型特点
.jpg / .jpegimage/jpeg有损压缩,照片首选;不支持透明,文字边缘易出杂色
.pngimage/png无损压缩,支持透明;截图、图标、线稿图的正确选择
.gifimage/gif仅 256 色,支持动画;体积偏大,已基本被 WebP 取代
.webpimage/webp有损/无损均可,支持透明与动画;同画质下比 JPG 明显更小
.avifimage/avif新一代格式,压缩率更高;编码较慢,老设备兼容性稍弱
.svgimage/svg+xml矢量图,任意缩放不失真;本质是 XML 文本
.heicimage/heic苹果设备默认照片格式,体积小但兼容性差
.bmpimage/bmp未压缩位图,体积巨大,基本不再使用
.tiffimage/tiff印刷与扫描场景,支持多页与无损
.icoimage/x-icon站点图标,可内含多个尺寸

3音视频类

音视频要先分清「容器」和「编码」:.mp4、.mkv 是容器(盒子),H.264、AAC 是编码(盒子里的东西)。同一个容器可以装不同编码,这也是「改了扩展名体积却没变」的原因。

扩展名MIME 类型说明
.mp3audio/mpeg有损音频,兼容性最好
.wavaudio/wav未压缩音频,体积大,剪辑中间产物常用
.flacaudio/flac无损压缩音频,体积约为 WAV 的一半
.aac / .m4aaudio/aac / audio/mp4有损音频,同码率下优于 MP3
.oggaudio/ogg开放格式,游戏与网页音频常用
.mp4video/mp4兼容性最好的视频容器
.webmvideo/webm开放容器,网页视频常用
.movvideo/quicktime苹果生态的视频格式,剪辑工程常见
.mkvvideo/x-matroska可装多音轨多字幕,适合存档
.avivideo/x-msvideo老式容器,兼容但效率低

4压缩与归档类

要区分「打包」和「压缩」两件事:tar 只把多个文件合成一个(不减小体积),gz 只压缩单个文件。所以 Linux 下常见的 .tar.gz 是两者串联——先打包再压缩。

扩展名MIME 类型说明
.zipapplication/zip跨平台通用,支持分卷与加密;Windows 原生支持
.7zapplication/x-7z-compressed压缩率通常最高,需要专用工具解压
.rarapplication/vnd.rar压缩率高,但压缩端需授权工具
.tarapplication/x-tar仅打包不压缩,保留权限等元信息
.gzapplication/gzip单文件压缩,常与 tar 组合成 .tar.gz
.tar.gz / .tgzapplication/gzip打包加压缩,Linux 下最常见的分发格式

5办公文档类

现代 Office 格式(带 x 后缀的那些)本质上是 ZIP 压缩包,里面装着 XML 与资源文件。这不只是冷知识——它意味着 .docx 改名为 .zip 后可以直接解开,也是很多批量处理工具的底层原理。

扩展名MIME 类型说明
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentWord 文档(2007 之后)
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetExcel 工作簿(2007 之后)
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentationPowerPoint 演示文稿(2007 之后)
.doc / .xls / .pptapplication/msword 等旧版二进制格式,MIME 各不相同
.odt / .ods / .odpapplication/vnd.oasis.opendocument.*OpenDocument 开放格式,WPS 与 LibreOffice 支持

6判断真实格式:扩展名不可信

把 photo.png 改名成 photo.jpg,文件内容一个字节都没变,它仍然是 PNG——扩展名只是文件名的一部分,不参与内容的编码。真正决定格式的是文件开头的一段字节,业内叫「魔数」(magic number)。

为什么重要
服务器常按扩展名设置 Content-Type,浏览器按这个头决定怎么处理文件。扩展名与实际内容不符时,会出现「图片打不开」「下载的文件当成了网页」这类问题
PNG
开头是 89 50 4E 47
JPG
开头是 FF D8 FF
GIF
开头是 47 49 46 38(即 GIF8 的 ASCII 码)
PDF
开头是 25 50 44 46(即 %PDF)
ZIP 系(含 docx / xlsx)
开头是 50 4B 03 04(即 PK 的 ASCII 码)
不改动内容也能改类型
把 .exe 改成 .zip 就能用解压工具打开——很多自解压程序与部分安装包就是这么打包的;反过来,把文档改名成 .jpg 也骗不过按文件头校验的程序

关于「文件扩展名与 MIME 类型对照速查」的常见问题

把 .png 改成 .jpg 就等于转换格式了吗?

不等于。改扩展名只是改了文件名,文件内部的编码方式完全没变,体积、画质、透明通道全都保持原样。真正的格式转换需要重新编码,把像素数据按目标格式的算法重新压缩——这才会改变体积和画面质量。很多「改了后缀还是打不开」的情况,根源就在这里。

上传文件时提示「文件类型不被允许」是怎么回事?

服务端通常做两层校验:先看扩展名是否在白名单里,再看请求头的 Content-Type 是否匹配。两处任一不符都会拒绝。常见原因有三:扩展名大小写不统一(.JPG 与 .jpg 被当成不同项)、浏览器推断的 MIME 不在白名单(如 .md 被识别成 text/plain 或 text/markdown)、把图片改名绕校验但 MIME 仍是原类型。排查时先看接口返回的具体提示,再对照服务端的白名单规则。

怎么判断一个文件真实是什么格式?

看文件开头几个字节(文件头)。PNG 以 89 50 4E 47 开头,JPG 以 FF D8 FF 开头,PDF 以 %PDF 开头,ZIP 与 Office 新格式以 PK 开头。用十六进制查看器打开就能看到,也可以用站内的文件哈希工具配合 MD5 比对官方发布的校验值,确认文件是否是原始版本。

.tar.gz、.tgz 和 .zip 有什么区别?

.zip 是打包加压缩一体,Windows 与 macOS 都能直接双击解压;.tar 只打包不压缩,主要用于保留 Linux 的文件权限与所有者信息;在此基础上再用 gzip 压缩一次就是 .tar.gz,.tgz 是它的简写形式。所以 .tar.gz 是「两层」——要先解压成 .tar,再拆包。分层设计让 .tar 可以搭配不同压缩算法(gzip、bzip2、xz)。

内容标识:本页内容由人工智能辅助生成,并经人工核对与编辑。详见 人工智能生成内容标识说明。
内容说明:本页速查数据由本站自行整理,事实性内容以对应官方规范与文档为准,未复制第三方速查表或百科的表述。数据最后核对日期:2026-10-05。若发现错误或已更新的标准,欢迎通过页脚反馈入口告知。