Animated Text Generator

Generate animated text with CSS: wave, rainbow, blink and glow effects you can preview live and copy as ready-to-paste HTML+CSS code.

Pick an effect, then copy its HTML+CSS snippet.

Type a word and watch it move: a per-letter wave, a flowing rainbow gradient, a neon glow pulse and a clean blink — four CSS animations previewed live as you type.

Every effect ships as a copy-paste HTML+CSS snippet, so you can drop animated text into your website, blog, Carrd page, Neocities site or any editor that accepts custom code.

Where animated text actually works

Social bios do not run CSS, but personal sites, portfolios, streamer pages and Discord server homepages (via widgets) all do. Keep animations to one word per page — motion draws the eye, and two moving elements already compete.

Quick examples

welcomewelcome
hello worldhello world
stay wildstay wild
plot twistplot twist

What gets converted

The preview above uses the Wide / Fullwidth style. Measured coverage: 26/26 uppercase, 26/26 lowercase, 10/10 digits — every uppercase letter, lowercase letter and digit is covered. Typed length grows 1.00×.

Animating Unicode text

The effect here is CSS applied to real characters, not a video and not an image, so the text stays selectable, searchable and copyable after it animates — and it costs a few hundred bytes instead of a megabyte of GIF. Two things to keep in mind: combining-mark styles (strikethrough, zalgo) animate as one stacked glyph and can look jittery at small sizes, and any character the style cannot convert sits still while its neighbours move, which reads as a broken animation. Prefer a fully covered style like Wide / Fullwidth when the text has to hold together in motion.

Copy the HTML+CSS snippet, not the rendered text, when the target page allows markup — a pasted snippet keeps animating; pasted characters do not.

Pasting

Output is plain Unicode, so it works in chat apps, bios, captions and usernames without any install. Rendering depends on the fonts on the viewing device, so check on a phone before publishing.

Effect cost: what each animation asks of the browser

The four snippets above are not magic — the whole set weighs 697 bytes of CSS. The property each one animates decides whether it feels smooth, not the file size: Blink and Wave are composited without touching layout, while Rainbow repaints a moving gradient every frame and glow spreads three shadow layers around each letter. On a low-end phone that difference shows up as frame rate, not bytes.

EffectAnimated propertyCSS bytesCycleCost note
Wavetransform: translateY(-8px)1721.2stranslateY 是合成器友好的属性,位移 8px 不触发重排,任何现代浏览器都流畅。
Rainbowbackground-clip: text2682s唯一有兼容性门槛的效果:需要 background-clip:text,Safari 还要 -webkit- 前缀。渐变每帧重绘,长文本在低端机上明显变卡。
Neon glowtext-shadow: 0 0 18px1621.6s三层阴影扩散到 18px 很吃 GPU,深色背景上视觉最强,但同时挂多个会掉帧。
Blinkopacity: 0 (steps)951sopacity 由合成器处理、不触发重排,是 4 个里最省开销的——代价是它最像「闪烁」,也最容易招人烦。

Compatibility is where pasted animations quietly fail. Rainbow is the only one that requires a browser feature — background-clip: text — and Safari still needs the -webkit- prefix, so it renders as plain black text on some older devices; the snippet includes the prefix, but paste it into a CSS pipeline that strips unknown prefixes and it breaks. The other three animate properties every browser has had for a decade. If the site must look identical everywhere, Blink or Wave; if it lives on modern Chrome, Rainbow earns its 268 bytes.

More generators

Pair this with the Fancy Text Generator — all 26 Unicode styles on one page.

FAQ

Can I animate text in an Instagram bio?

No — CSS animation needs a real webpage. For bios, use static Unicode styles and let the letters themselves carry the energy.

Do the snippets need JavaScript?

No. Every effect is pure CSS keyframes; the snippet is one HTML element plus a style block.

Will animations slow my page down?

These keyframes animate transform and color only — properties the browser can run on the compositor without layout thrash.