跳到正文
一个字符,一帧

打字文字 GIF 生成器

把一句话做成逐字打出来的 GIF——README、产品演示和个人主页上常见的那种终端打字效果。不用传任何文件:输入文字,选好速度,导出。

不需要素材。点开就是一个准备好的打字片段。

  • 不上传
  • 免注册
  • 无水印

做一张打字 GIF

整张图都由你输入的文字生成,文件里没有任何原始素材。

  1. 1

    输入要打的那句话

    打开工作台,输入想逐字打出来的文字。回车换行;太长的行会自动按画布宽度折行。

  2. 2

    定节奏和光标

    设置每个字多少毫秒、整句打完停留多久再循环,以及光标是竖线、方块、下划线还是不显示。

  3. 3

    调样式并导出

    选字体、字号、颜色和背景,然后导出。深色背景配等宽字体,就是最经典的终端效果。

按 GIF 真正的计时方式来做

一个字符占一帧

GIF 没有帧率这回事,每一帧自带一个延时值——所以"一个字符"和"它的时长"本来就是同一件事。这意味着文件里不会有重复帧充数,打字速度也是精确设定的,而不是拿帧率去凑。

停留只花一帧

最后一个字打完的那段停顿,是一帧加一个很长的延时,而不是一秒钟的重复帧。停 4 秒和停 1 秒,导出的体积是一样的。

打字过程中不会重排

换行位置是按整句话算好的,字符再逐个出现在这个固定版式里。边打边折行的话,每到换行点整行都会横向跳一下。

光标按需计费

常亮光标不额外花钱——它搭在本来就存在的帧上。闪烁光标则是闪一次一帧,编辑器会在导出前告诉你要多花几帧。

为什么打字 GIF 通常比它该有的体积大

多数打字 GIF 生成器按固定帧率出帧,常见是每秒 10 或 20 帧,然后每隔几帧冒一个字。以 20fps、每三帧一个字为例:每三帧里有两帧和前一帧一模一样。动画看着没问题,文件却大了差不多三倍。

按"一字一帧"编码就彻底没有这个问题。40 个字就是 40 帧,每帧的延时就是你设定的打字速度。真正的上限来自格式本身:一帧不能短于 20 毫秒,所以每秒 50 个字已经是任何 GIF 能达到的极限。

选一个读得下去的速度

每字 60 到 100 毫秒——大约每秒 10 到 16 个字——读起来最像真人在敲键盘。快过 40 毫秒就不像打字了,更像整段粘贴进去;慢过 150 毫秒又显得拖沓,长句子还没打完人就划走了。

停留时长和速度一样重要。GIF 是立刻循环的,不留停顿的话,完整的句子只会闪现一瞬就跳回第一个字。留 1 到 2 秒,通常刚够把这句话读完。

怎么把体积压下来

文字是 GIF 压缩最不擅长的情况:全是高对比度的锐利边缘,而这恰恰是行程编码压不动的东西。三件事有用,按效果排序:把画布收紧到文字周围,别导出一大片空白;把颜色数降下来——纯色文字配纯色背景其实用不了几种颜色,16 色往往和 256 色看不出区别;关掉投影,它会引入一堆极为接近的过渡色,占满调色板,而在这个尺寸下几乎看不出效果。

大家真正会问的问题

需要上传文件吗?
不需要。打字 GIF 完全由你输入的文字生成,和这里的其他功能一样,编码就在这个标签页里完成。没有文件要传,也不用注册。
最快能打多快?
每秒 50 个字,这是格式的上限而不是我们设的:GIF 的帧延时以百分之一秒为单位存储,而浏览器会把小于两个百分之一秒的值直接当成十分之一秒处理。速度滑块就停在这个下限,保证你预览到的就是文件实际的表现。
能把打字文字叠在视频上吗?
暂时不行。打字片段是独立的纯文字,背后没有素材。给视频加字幕是另一个功能——在「给 GIF 加文字」页面添加带帧范围的文字图层。
光标一定要闪吗?
不用。常亮或者干脆不显示,往往是更好的选择:闪一次就多一帧,停留时间短的时候,体积差异是看得出来的。
能用自定义字体吗?
字体选择器提供你系统里的无衬线、衬线和等宽三类字体。要终端效果就选等宽。不支持上传字体文件。

相关工具

同一个工作台,对着另一件事使。

上面这些,全都在这个标签页里跑

不上传、不注册、无水印。打开工作台自己看一眼。