🖼️ 选择一张图片

🟦
点击选择,或把图片拖到这里
支持 JPG / PNG / WebP,单张

块越大越糊、越看不出内容;遮人脸建议 12~20,遮文字/证件号建议 4~10。

还没有框选区域
🟦

选张图,框几下,把不想让人看到的都糊掉。

📊 这些地方发图前一定要打码

社交媒体、维权截图、作业分享……最容易漏的就是这几类。

要遮的内容常见位置建议方式风险等级
人脸合照、街拍、监控截图、课堂照片马赛克(块 12~20)高(可被识别比对)
车牌号行车记录仪、违章截图、停车照片马赛克或黑条高(能查到车主)
身份证 / 证件号码证件照片、办事截图、快递单纯色块或黑条极高(可被冒用)
手机号 / 住址聊天记录、订单、外卖单、地址栏纯色块高(骚扰与骚扰定位)
银行卡号 / 支付码付款截图、收款码、账单黑条(最彻底)极高(直接涉财)
姓名 / 工号 / 学号考勤表、成绩单、工牌、聊天头像旁马赛克或纯色块中(可拼出身份)
公司 / 项目敏感信息内部系统截图、代码、数据看板纯色块中高(泄露商业信息)

🧠 三种遮挡方式怎么选

「遮住」和「遮得让人看不出来」是两回事。

方式效果还原难度适合遮什么
马赛克按块取平均色重画,保留大致色彩中(块越大越难还原)人脸、车牌、背景里的路人
纯色块整块填成指定颜色高(信息被完全覆盖)证件号、手机号、地址、金额
黑条 / 黑色块整块填黑,最彻底最高银行卡号、支付码、身份证号

⚠️ 免责声明:马赛克属于「视觉遮挡」,并不等于不可逆脱敏。块太小时,借助图像增强、多帧比对、AI 超分等手段仍有可能推断出原始内容;涉及身份证号、银行卡号、支付码等高度敏感信息,请使用「纯色块」或「黑条」完全覆盖,并确认导出图片中不含可复原信息。
本工具仅在你本地浏览器处理,请自行核对导出结果——发出去之前务必再打开导出的图片看一眼,确认该遮的都遮住了。
所有处理均在你的浏览器本地完成,图片不会上传到任何服务器。

🟦

图片马赛克 / 打码(在线局部遮挡)

图片处理 完全免费 🌙 支持黑夜模式 🔒 纯前端,图片不上传 🖱️ 鼠标 / 触屏框选 🎨 三种遮挡方式

晒个订单遮手机号、发个维权截图遮对方头像、分享行车记录仪遮车牌、交作业截个图遮姓名学号——「发图前先打码」已经成了基本操作。
但现实里大家常用的办法很危险:用手机自带的涂鸦画笔随手涂两下(笔迹半透明,能透出字)、或者用编辑器的「模糊」滤镜糊一层(强度不够,放大还能认出来)。
这个工具做得更实在一点:你在图上拖框选区域,它按真正的马赛克算法重画那一块——把区域切成小方格,每个方格取内部所有像素的平均颜色,再用这个颜色填满整个方格。块越大,信息损失越彻底,越看不出原来是什么。
三种遮挡方式随你选:
① 马赛克:保留大致色彩,画面不那么突兀,遮人脸、车牌、路人最自然;
② 纯色块:整块填成你指定的颜色(默认纯黑,也能选灰、白),遮证件号、手机号、地址、金额——这些是文字信息,马赛克糊了还可能被猜,纯色块才干净;
③ 黑条 / 黑色块:最彻底,专门给银行卡号、支付码、身份证号这类一旦泄露就有直接损失的内容。
块大小可以拖着调(4~40 像素):遮人脸建议 12~20,块太小还能看出五官轮廓;遮文字建议 4~10——等等,遮文字别用马赛克,直接上纯色块。块大小主要影响马赛克的细腻程度:块越大越糊、越安全。
交互上也照顾到了实际使用情况:可以框很多块(人脸、车牌、手机号各来一块),框错了撤销上一个或者单独删除某一块,觉得全乱了就清空重来。手机上也能用,手指直接在图上拖就行。
说句负责任的话:马赛克是「视觉遮挡」,不等于不可逆脱敏。块开得很小的时候,借助图像增强、多帧比对、AI 超分辨率这些手段,理论上仍有推断出原内容的可能。所以:
· 人脸、车牌 → 马赛克,块别小于 12;
· 证件号、银行卡号、支付码、手机号 → 必须纯色块或黑条完全覆盖;
· 导出后务必重新打开看一眼,确认该遮的都遮住了再发。
另外,工具只做遮挡,不会保留你的原图,也不会往任何地方上传——全程在你自己的浏览器里跑,关掉页面数据就没了,处理身份证、病历、合同照片这类敏感图片也放心。

类别图片处理
遮挡方式马赛克 / 纯色块 / 黑条
输出格式PNG(原尺寸)
运行方式纯前端本地,不上传

核心特性

鼠标 / 触屏框选
多区域叠加
马赛克 / 纯色 / 黑条
块大小可调
撤销与单独删除
导出原尺寸 PNG

关于这个工具

怎么打码:
① 图片读入后画进 canvas(按原图尺寸处理,导出也是原尺寸,超长边 4096 以上会等比缩到 4096 以免内存爆掉);
② 你在预览图上按住拖框,工具按 getBoundingClientRect() 把屏幕坐标换算回图片坐标(预览是缩放显示的,这一步保证框得准);
③ 马赛克:对区域调用一次 getImageData,然后按块遍历,求每个小块内所有像素的平均 RGB(含平均透明度),再用这个颜色 fillRect 填满小块;
④ 纯色块 / 黑条:直接用指定颜色(或纯黑)fillRect 覆盖整个区域;
⑤ 所有区域叠加生效,可单独删除、撤销上一个、一键清空;
⑥ 导出时把「不带选框描边」的画面编码成 PNG 下载。
它不做:不做人脸自动识别(区域要你自己框,这样才不会漏)、不做整图模糊、不压缩画质(导出 PNG 与源图同尺寸)。

怎么用

  1. 第 1 步
    点击或拖拽选择一张图片,预览图会出现在下方。
  2. 第 2 步
    在预览图上按住拖动,框出要打码的区域,松手即生效。
  3. 第 3 步
    选遮挡方式(马赛克 / 纯色块 / 黑条),马赛克可拖滑块调块大小。
  4. 第 4 步
    继续框其他区域;框错了用「撤销上一个」或单块右侧的 × 删除。
  5. 第 5 步
    点「🟦 生成打码图片」,再点「⬇️ 下载 PNG」保存。
  6. 第 6 步
    发出去之前,务必打开下载的图片再核对一遍。

更新记录

  • v1.0 2026-09-20 工具正式上线:支持在预览图上用鼠标 / 手指拖框选择多个打码区域,提供马赛克(按块取平均色)、纯色块、黑条三种遮挡方式,块大小 4~40px 可调;支持撤销上一个、单独删除、一键清空,导出原尺寸 PNG;附「发图前必打码清单」与三种遮挡方式对比表。全程浏览器本地处理,图片不上传,适配黑夜模式。

常见问题

马赛克真的安全吗?会不会被还原?
说实话:马赛克是「视觉遮挡」,不是加密,理论上存在被推断的可能。
块很小(比如 4px)的时候,借助图像增强、AI 超分辨率、多张照片比对,确实有还原出部分内容的案例。
所以按敏感程度分三档处理:
· 人脸、车牌 → 马赛克,块别小于 12,块越大越糊、越难还原;
· 证件号、手机号、地址、金额 → 用纯色块,文字被马赛克糊掉后仍可能被猜出来;
· 身份证号、银行卡号、支付码 → 必须用纯色块或黑条完全覆盖,别犹豫。
还有一条通用原则:发图前把导出结果重新打开看一眼,确认真的看不出内容。
块大小该怎么调?
块大小只影响马赛克方式,单位是像素,范围 4~40。
· 4~10:还能看出大致轮廓和明暗,只适合做「弱化」而不是「遮挡」;
· 12~20:遮人脸的甜区,五官完全看不清,画面也不会太突兀;
· 24~40:非常糊,几乎只剩色块,适合遮车牌、背景人群。
判断标准很简单:你自己眯着眼看都认不出来,才算遮住了。拿不准就往大调。
为什么不做「自动识别人脸一键打码」?
因为自动识别会漏,而且漏了你不会知道。
人脸检测在侧脸、遮挡、逆光、戴口罩、小孩、远景小脸上都容易失手;更要命的是该遮的还有车牌、证件号、手机号、姓名——这些根本不是人脸模型能管的。
手动框选看起来麻烦一点,但每一块都是你自己确认过的,不会「以为遮住了其实没遮」。
而且支持框多个区域、随时撤销,实际操作也就十几秒的事。
导出的是原尺寸吗?画质会变差吗?
· 尺寸:默认按原图尺寸导出;超长边超过 4096px 会等比缩到 4096(防止浏览器内存爆掉,页面上会显示实际输出尺寸)。
· 格式:导出 PNG,无损——除了被打码的区域,其余部分画质与原图一致,不会像 JPEG 那样反复保存变糊。
· 体积:PNG 无损,所以文件通常比原 JPG 大;介意的话可以下载后用「图片压缩到指定 KB」压一道,或者用「图片格式转换」转成 JPG。
我的照片会被上传吗?
不会。图片通过 FileReader 读入内存、用 canvas 处理、再在本地编码成 PNG,全程不经过任何服务器,关掉页面数据即清除。
这也是它适合处理身份证、病历、合同、内部截图这类敏感图片的原因——毕竟你要遮的就是隐私,工具本身绝不能再把它传出去。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码