ASCII 艺术字生成器
用 12 种 FIGlet 字体把英文和数字转成 ASCII 艺术字,输出与 figlet 命令逐字一致。可调字距和宽度,复制为注释或 Markdown 代码块,下载 TXT、PNG。
- 在浏览器中处理
- 数据不离开你的设备
- 免费 · 无需注册
用微信扫描以下二维码即可分享
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。
示例
Spring Boot 启动横幅
Spring Boot 会在启动时打印 classpath 里的 banner.txt,也可以用 spring.banner.location 指定文件;文件里还能用 ${spring-boot.formatted-version} 等占位符(见 Spring Boot 文档)。把服务名 order-api 用 Slant 生成,保存为 src/main/resources/banner.txt:
__ _
____ _________/ /__ _____ ____ _____ (_)
/ __ \/ ___/ __ / _ \/ ___/_____/ __ `/ __ \/ /
/ /_/ / / / /_/ / __/ / /_____/ /_/ / /_/ / /
\____/_/ \__,_/\___/_/ \__,_/ .___/_/
/_/
文件不是 UTF-8 编码时,用 spring.banner.charset 指定编码。
生产服务器登录提示
登录成功后,系统会显示 /etc/motd 的内容(motd(5))。在生产机上放一个醒目的 PROD,能减少把命令敲错机器的情况。用 Big 生成后下载 .txt,复制到 /etc/motd:
_____ _____ ____ _____
| __ \| __ \ / __ \| __ \
| |__) | |__) | | | | | | |
| ___/| _ /| | | | | | |
| | | | \ \| |__| | |__| |
|_| |_| \_\\____/|_____/
中文会被跳过
输入 你好 OK,Standard 字体只画出 OK,输出下方提示「已跳过:Standard 字体里没有这些字符:你 好」:
___ _ __
/ _ \| |/ /
| | | | ' /
| |_| | . \
\___/|_|\_\
开头多出的空白来自 你好 后面的空格。
与 figlet 命令逐字一致
排版代码移植自 figlet 2.2.5。测试用同一批字体文件跑 figlet 2.2.5,覆盖 12 种字体、5 种字距、多行、5 种宽度下的换行,以及字体里没有的字符,共 840 组,逐字相同。
此前本页用的是 figlet.js 1.11。同样输入 Hello World,12 种字体中有 8 种与 figlet 不同:Standard、Big、Banner、Block、Script、Small 每行前多一列空格;Mini 和 Shadow 的字体文件要求字母重叠,figlet.js 没有照做,Mini 宽 37 列,figlet 只有 26 列。
展开「FIGlet 命令」,可复制能复现同样结果的命令。Banner、Big、Block、Lean、Mini、Script、Slant、Small、Standard 与 figlet 2.2.5 自带的字体逐字形一致;Doom 和 3D-ASCII 不在 figlet 自带字体里;本站的 Shadow 是 2007 年加宽空格的修订版。用到这三种字体,或在 Standard 里输入 ಠ 时,命令改用本站的 .flf 文件,旁边有下载链接。
字距选项
FIGfont 规范允许每种字体指定默认排法,以及最多 6 条「合并」规则,例如两个相同字符合成一个、/ 遇到 \ 合成 |。
| 选项 | figlet 参数 | 效果 |
|---|---|---|
| 字体默认 | 无 | 按字体作者设定 |
| 全宽(-W) | -W | 每个字母保留完整宽度,包括空白列 |
| 紧贴(-k) | -k | 字母靠拢到相接为止,不重叠 |
| 合并(-S) | -S | 按字体规则重叠一列,默认是紧贴的字体也照样合并 |
| 重叠(-o) | -o | 不论相遇的是什么字符,都重叠一列 |
各字体的宽度
本工具实测,开启「去掉行尾空格和首尾空行」:
| 字体 | Hello World 行数 | Hello World 列数 | 宽度 80 时每行能放 ABC…Z 的字母数 |
|---|---|---|---|
| Mini | 2 | 26 | 26 |
| Small | 4 | 43 | 16 |
| Doom | 6 | 50 | 12 |
| Standard | 5 | 52 | 13 |
| Big | 6 | 54 | 11 |
| Slant | 5 | 57 | 12 |
| Block | 5 | 90 | 7 |
| 3D-ASCII | 7 | 117 | 7 |
Standard、Big、Block、Lean、Mini、Script、Shadow、Slant、Small 还能画 é、ñ、Å 等 Latin-1 字母,Standard 另有 ł、š、ő 等东欧字母。
粘贴时注意
- README、博客等 Markdown 文档:选「Markdown 代码块」。不放进代码块时,Markdown 会合并连续空格,行尾两个空格还会变成强制换行。
- 代码注释:选
#或//注释,并保持「去掉行尾空格」勾选。遵循 EditorConfigtrim_trailing_whitespace的编辑器会删掉行尾空格,pycodestyle 也会报 W291。 - Shell 脚本:选 heredoc 格式。分隔符带引号,shell 不会展开艺术字里的
$、`和\(POSIX here-document)。 - JSON 或 JavaScript 字符串:先把
\和换行转义,可以用字符串转义工具。
与其他在线工具的对比
2026-10-01 用 Hello World 和 Hi 中文 实测:
- 在线工具大全 lddgo:「字符宽度」默认为 Full,字母之间不合并;
Hi 中文只输出Hi,没有提示。 - TAAG:基于 figlet.js,Standard 首列多一列空格,Mini 宽 37 列,中文同样被静默丢掉;字体数量远多于本工具,可以存成图片。
- asciiart.eu:Standard 与 figlet 一致,Mini 不重叠(37 列);文字里有任何中文时整段输出为空。
本工具与 figlet 命令逐字一致,列出被跳过的字,并给出复现用的命令。想在聊天或昵称里用不换行的花体英文,可以用花体字生成器;想看 README 里的效果,可以贴进 Markdown 预览。
限制
- 只有 12 种字体,不能上传字体。
- 只支持拉丁字母等少数文字。字体里没有的字不画,并列在输出下方;Tab 按 figlet 的规则变成空格,其他控制字符被丢弃,也会列出。
- 最多 2000 个字符,超出时显示提示,不生成。
- 每行文字一段艺术字。figlet 2.2.5 不做纵向合并,多行原样上下排列。
- PNG 尺寸:每边不超过 16,384 像素、总面积不超过 16,777,216 像素(iOS Safari 的画布上限),更宽时会提示,请设置宽度。
- 只有等宽字体才能对齐。
FAQ
能把中文生成 ASCII 艺术字吗?
不能。12 种字体都没有汉字、平假名和谚文,输入里的中文会被跳过,输出下方会列出被跳过的字。Banner 字体有不带浊音符号的片假名,Big 有希腊字母,Banner 有西里尔字母。
生成的横幅怎么放进 Spring Boot?
把输出保存为 src/main/resources/banner.txt,应用启动时就会打印它。文件里还可以加 ${spring-boot.formatted-version} 这样的占位符,显示 Spring Boot 版本。
为什么和 TAAG 生成的结果差一列空格?
TAAG 用 figlet.js,Standard 等 6 种字体每行前面会多一列空格,Mini 和 Shadow 也不按字体要求重叠。本工具按 figlet 2.2.5 的算法排字,结果与在终端里运行 figlet 命令相同,「FIGlet 命令」一栏会给出对应命令。Doom、3D-ASCII、Shadow 以及含 ಠ 的 Standard,figlet 2.2.5 自带的字体文件不同,命令改用本站的字体文件。
宽度选 80 列是什么意思?
默认是「不限」,一行文字排成一条横幅。选 80 列时和 figlet 命令的默认值一样:每行最多 79 个字符,放不下的单词移到下一段;单个单词比一行还长时,在字母之间断开。
输入的文字会上传吗?
不会。文字在浏览器里排版,也不会被保存;工具只从本站下载你选中的字体文件。页面统计只记录工具名和操作(确认修改时记「生成」,以及复制、下载),不含文字内容。