ZH
我的工具

图片转 ASCII 字符画

把照片和标志转成 ASCII 字符画:可选择宽度、字符集、对比度和抖动,然后复制文本,或下载 PNG、TXT 文件。

等宽字符的高度约为宽度的两倍,所以 0.5 能保持图像比例。
我的工具 →
广告

ASCII 字符画用字母和符号来画图:暗处用 @、# 这样密集的字符,亮处用 . 和空格这样稀疏的字符。本转换器把图像平均成字符格子的网格,把每个格子的亮度映射为一个字符,生成可粘贴到代码注释、README、聊天或终端中的文本,以及结果的 PNG 图片。你的图片在浏览器中处理,不会被上传。

使用方法

  1. 选择一张或多张图片(PNG、JPG、WebP、GIF 或 SVG)。
  2. 设置以字符数计的宽度——终端适合 80–120,聊天消息适合 40–60。
  3. 选择字符集:精细层次最丰富,方块看起来最实。
  4. 调整对比度和亮度,或开启抖动让渐变更平滑。
  5. 复制文本,或下载 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 的橙色区域变成 -。

常见问题

为什么我的字符画看起来被拉伸了?

因为它显示在字符高度不是宽度两倍的字体里,或者用了比例字体。请使用等宽字体,或调整字符宽高比:图像显得扁就调高,显得高就调低。

需要反相吗?

密集的字符在白色页面上显得暗。在深色终端或深色模式下则相反,所以请勾选“反相”,让亮的区域保持明亮。

什么样的图片效果最好?

对比度高的主体:标志、剪影、纯色背景前的人像。对比度平淡的照片请调高对比度;透明区域会被当作白色。

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). 图片转 ASCII 字符画. https://kakao.mobile/zh/tools/image-to-ascii-art-tool/

MLA

“图片转 ASCII 字符画.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/image-to-ascii-art-tool/.

广告