The editor above types a line one character at a time with a blinking cursor. Replace the sample, then adjust the duration to change the speed.
How to use it in 3 steps
Write the line to type
Enter your sentence. Longer text types faster for the same duration, so count characters before you pick a length.
Choose a typewriter-like font
Special Elite looks like a real machine. Orbitron gives a terminal look. Pick the size so the full line fits on one row.
Set the duration and export
A longer duration slows the typing and extends the final hold. Preview, then export GIF, MP4, or WebM.
Three tuning tips
Work out characters per second before you export
'Once upon a time...' has 19 characters. In 4 seconds with 1 second of hold, typing takes about 3 seconds, so roughly 6 characters per second. That is fast but readable. A 60-character line in the same time would be 20 characters per second, too fast to follow.
Leave an end hold so the last word can be read
The finished line needs time on screen. Aim for at least a second, or about one second per eight words, before the loop restarts. A loop that restarts the instant the last character lands feels broken.
Decide whether the cursor stays
A blinking cursor signals typing, but it also adds motion on a still line. For a calm, silent end hold, or for viewers sensitive to flashing, cut the blink and let the text sit.
Frame math for a typing loop
A 4-second loop at 24 fps has N = round(4 × 24) = 96 frames. With 19 characters and 3 seconds of typing, one new character appears about every 3.8 frames (72 typing frames / 19). Because frames are whole numbers, characters land on frame boundaries, so short loops at low fps feel uneven. The last second, 24 frames, is the hold. Decimal megabytes (1 MB = 1,000,000 bytes) are used here.
| Canvas | 1080 × 1080 px (1,166,400 pixels per frame) |
|---|---|
| Frames | N = 4 s × 24 fps = 96 |
| Raw frames before encoding | 96 × 1080 × 1080 × 4 bytes = 448 MB |
| MP4 / WebM upper estimate | 2.8 Mbps × 4 s ÷ 8 = 1.4 MB |
| GIF frame delay | 1/24 s is 4.17 centiseconds; GIF stores whole centiseconds, so delays alternate (4 and 5 cs) to average out |
Typewriter loops compress well. Most of each frame is an unchanged plate and only one new character appears at a time, so consecutive frames are almost the same. This is the style where GIF is most efficient. Raw size for a 1080 × 1080 square is 96 × 4,665,600 = about 447.9 MB before encoding, but a GIF holds far less because only changed pixels need new data.
For video, the default bitrate for 1080 × 1080 at 24 fps is 2,799,360 bits per second, so 4 seconds is about 1.40 MB. Because so little changes, the encoder will often spend less than that.
Sources
Common mistakes
Typing speed too fast to read
Count characters first. More than about 15 per second is hard to follow, so lengthen the duration or shorten the text.
No hold at the end
If the loop restarts as the last character appears, nobody finishes the sentence.
A line too long for the canvas
The editor draws one line. If the text is wider than the frame, lower the size or shorten the text.
Using a high fps for GIF
Typing needs only 10 to 15 fps to look steady. Higher fps adds frames that repeat the same image.
Frequently asked questions
How do I change the typing speed?
Change the duration. A longer loop spreads the same characters across more time, and a shorter one speeds them up.
Can I turn off the blinking cursor?
Yes. Removing the cursor is a good choice for a calm end hold or when you want to avoid flashing.
Which font looks most like a typewriter?
Special Elite, licensed under Apache 2.0. Orbitron suits a screen or terminal look.
Why is the typewriter GIF so small?
Only one character changes at a time, so each frame is nearly identical to the previous one and GIF compression exploits that.
Can I export with a transparent background?
Yes, as GIF with 1-bit transparency or as WebM in browsers that record it. MP4 flattens onto a matte color.
Is my text stored?
No. It never leaves your browser.