图片转字符画
上传图片转成字符画:可调 20–200 列宽度与宽高比补偿,内置经典、块状、极简与汉字四套字符集,支持反色与彩色 HTML 输出,可导出纯文本或 HTML。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
图片只在浏览器本地处理,不会上传。
还没有选择图片
先选择一张图片
这个工具能做什么
- 把图片转成字符画做终端风格封面、README 插图或聊天彩蛋:20–200 列随便调,预览即时更新。
- 对比四套字符集的效果:经典 @%#*+=-:. 层次最多、块状 █▓▒░ 用实心块拼出灰度、极简 @. 只有两级、汉字「重墨中浅淡·」适合中文排版。
- 生成彩色 HTML:勾上「彩色 HTML 输出」后每个字符带上原图颜色,下载成 .html 打开就是彩色字符画。
- 给图片做快速的亮度预览:宽高比补偿把字符高度压成 0.5,避免整张字符画被纵向拉长。
示例
输入
一张 200 × 200 的图片,左半纯黑、右半纯白,导出列数 80、经典字符集
输出
80 列 × 40 行,第一行是 40 个 @ 加 40 个空格(每个字符代表约 2.5 × 5 像素的色块)
行数公式是 round(高 / 宽 × 列数 × 宽高比补偿),即 round(200 / 200 × 80 × 0.5) = 40。黑色亮度为 0,对应字符集里最暗的第一个字符 @;白色亮度 255 取到末尾的空格。整个字符画由纯逻辑算出,这里的结果可以在命令行复现;选择图片那一步依赖浏览器解码。
常见问题
为什么字符画看起来被压扁或拉长?
因为终端里的字符大约是高宽比 2:1 的长方形,所以默认用 0.5 的宽高比补偿把行数减半。调整「宽高比补偿」滑杆就能改变纵向比例:值越大幅度越扁,接近 1 时接近正方形的行数。
四套字符集有什么区别?
经典 @%#*+=-:. 有 10 级灰度,层次最细腻,适合细节多的照片;块状 █▓▒░ 用实心方块,在等宽字体下块与块之间几乎没有缝隙,看起来更像像素画;极简 @. 只有黑与白两级,做剪影效果;汉字「重墨中浅淡·」用笔画密度表示明暗,适合中文环境下排版。
反色是用来做什么的?
反色把亮度到字符的映射整体翻转:原本最亮的像素得到最暗的字符。常见场景是在浅色背景的终端或文档里显示,此时原图的白底会变成密集字符(看起来是深色),主体反而变成空白,视觉上更符合浅底深字的阅读习惯。
导出的 HTML 里面的颜色是怎么来的?
每个格子都保留了它覆盖区域的平均 RGB,彩色模式下会把连续同色的字符合并进一个 <span style="color: #RRGGBB;">,所以 HTML 体积比纯文本大不少但颜色准确。纯文本模式只输出字符本身,可以直接扔进终端或源码注释。
图片会被上传吗?
不会。图片在本机解码后按格子取平均色并映射成字符,纯文本、彩色 HTML 与文件下载全部在浏览器里完成,没有上传接口。
关键词:图片转字符画image to asciiascii art字符画文字画像素画ascii 艺术图片字符化