By · Updated

Logo Reveal Animation CSS

Fade, Scale, Blur, Mask Wipe or Letter-Stagger Intro for Your Brand Name

No ratings yet

OneTask is free, with no sign-up, and built by one person.
If this tool saved you time, a coffee helps keep new ones coming.

How the Logo Reveal works

This logo reveal animation CSS generator animates a wordmark onto the page. Type your brand name, pick how it should arrive and watch the reveal play. Adjust the timing, typeface and colours, then copy an h1 and a few lines of CSS that you can drop into a landing page, a splash screen or the top of a slide deck. Every change replays the animation so you can judge it from the start.

A logo reveal is a single entrance for a wordmark. The name appears once, with a little ceremony, then sits still for the rest of the visit. Done well it makes a landing page, a portfolio or a video title card feel finished. Done badly it delays the one thing the visitor came to see. This generator writes the CSS for the tasteful version: one animation, one direction, and a resting state that is plain, readable text.

How the logo reveal animation CSS works

The generated code puts the starting state on the element itself, such as opacity: 0 and a small offset, and uses a @keyframes reveal block with only a to step. Because there is no from step, the browser animates from whatever the element currently looks like to the final state. animation-fill-mode: forwards, the last word in the animation shorthand, keeps it there when the animation ends. The wordmark is hidden from the first paint, so there is no flash of the finished logo before the effect starts.

Each reveal animates a different property:

Reveal What changes Suits
Fade up Opacity, plus a 24 px lift Almost anything
Scale in Opacity and scale from 60 % Short, bold names
Blur in Opacity and a 16 px blur Soft, premium brands
Mask wipe clip-path opening left to right Editorial, typographic marks
Rise from line Clip from the bottom and a lift Film-style title cards
Letter stagger Each letter fades, lifts and untilts Playful or tech brands

Opacity, transform and clip-path are cheap for the browser to animate. The blur filter costs more, especially on a large heading on a low-end phone, so keep Blur in for sizes you have tested.

Timing and easing

The three easing options are cubic-bezier curves:

Material Design and Apple's guidelines both put most interface motion between about 200 and 500 ms. A logo reveal can take a little longer because it happens once, but beyond about a second it starts to feel like a loading screen. Start delay waits after load so the reveal is not competing with images and fonts popping in; 100 to 300 ms is usually enough.

For Letter stagger, the whole effect lasts delay + (letters − 1) × stagger + duration. An eight-letter name at 50 ms stagger and 700 ms duration finishes 1,050 ms after the delay. A twenty-letter name at the same settings takes 1,650 ms, so cut the stagger for long names or the last letters arrive after the visitor has already looked away.

Reading the generated code

The output has two parts. The HTML is an <h1 class="logo">, with one <span> per character for Letter stagger. Each span carries a custom property, --i, holding its index. The CSS uses it in animation-delay: calc(delay + var(--i) * stagger), so there is one rule for every letter rather than a rule per span. The .logo block also carries your font, weight, size, letter spacing and colour. Copy both parts; the background colour is only for the preview.

Pitfalls

Going further

To animate a whole line of copy rather than a wordmark, the text animation generator has more effects. The easing comparison plays the curves side by side, and the cubic-bezier editor lets you shape your own. For multi-step motion, build it in the keyframe timeline editor. If your logo is an SVG outline rather than text, the SVG path draw animation traces it stroke by stroke.

FAQ

Why is there no flash of the text before it animates?

The starting state is set on the element itself, not only in the first keyframe, so the wordmark is hidden from the moment it renders and stays hidden until the animation begins.

Can I use my own font?

Yes. The generator offers a few generic families; change the font-family line in the CSS to whatever your site loads. If the font arrives late, the reveal may play on the fallback face, so add a short start delay or use font-display: block.

How do I play it only once per visit?

CSS cannot remember, so it replays on every load. To stop that, set a flag in sessionStorage after the first play and add a class that skips the animation when the flag is present.

Does letter stagger break screen readers?

Most read the spans as one word, but not all. Adding aria-label with the full name to the heading makes it reliable and costs nothing.

See also: all Shadows & Motion tools, Layout & Spacing, Shapes & SVG, UI Components, Forms & Inputs, Colour.

Related tools