图片转 ASCII 字符画
把照片和标志转成 ASCII 字符画:可选择宽度、字符集、对比度和抖动,然后复制文本,或下载 PNG、TXT 文件。
ASCII 字符画用字母和符号来画图:暗处用 @、# 这样密集的字符,亮处用 . 和空格这样稀疏的字符。本转换器把图像平均成字符格子的网格,把每个格子的亮度映射为一个字符,生成可粘贴到代码注释、README、聊天或终端中的文本,以及结果的 PNG 图片。你的图片在浏览器中处理,不会被上传。
使用方法
- 选择一张或多张图片(PNG、JPG、WebP、GIF 或 SVG)。
- 设置以字符数计的宽度——终端适合 80–120,聊天消息适合 40–60。
- 选择字符集:精细层次最丰富,方块看起来最实。
- 调整对比度和亮度,或开启抖动让渐变更平滑。
- 复制文本,或下载 PNG、TXT 文件。
计算公式
亮度 = 0.299 R + 0.587 G + 0.114 B · 字符 = 字符表[⌊亮度 ÷ 256 × 字符数⌋]
每个格子是它所覆盖的所有像素的平均值。行数 = 宽度 × (图像高度 ÷ 图像宽度) × 字符宽高比;0.5 用来补偿字符高度约为宽度两倍这一点。对比度采用标准系数 259(C + 255) ÷ (255(259 − C))。抖动会把每个格子的取整误差分给相邻格子(7/16、3/16、5/16、1/16),在小尺寸下看起来阴影更平滑。
示例
一张 160 × 100 的图片,宽度设为 40 个字符,得到 40 × (100 ÷ 160) × 0.5 = 12.5,取整为 13 行。亮度约为 96 的蓝色区域在“简单”字符集里变成 *(96 ÷ 256 × 10 = 3.75 → 第四个字符),亮度约为 167 的橙色区域变成 -。
常见问题
为什么我的字符画看起来被拉伸了?
因为它显示在字符高度不是宽度两倍的字体里,或者用了比例字体。请使用等宽字体,或调整字符宽高比:图像显得扁就调高,显得高就调低。
需要反相吗?
密集的字符在白色页面上显得暗。在深色终端或深色模式下则相反,所以请勾选“反相”,让亮的区域保持明亮。
什么样的图片效果最好?
对比度高的主体:标志、剪影、纯色背景前的人像。对比度平淡的照片请调高对比度;透明区域会被当作白色。
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/image-to-ascii-art-tool/
引用此工具
kakaoCalc. (2026, November 8). 图片转 ASCII 字符画. https://kakao.mobile/zh/tools/image-to-ascii-art-tool/
“图片转 ASCII 字符画.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/image-to-ascii-art-tool/.