TXT · Text & Data tools

CSS Keyframes & Animation Generator

Fade In · 1s

Presets and keyframe steps

Each preset is a complete @keyframes body: Fade In moves opacity from 0 to 1, Slide Up moves transform: translateY() from 40px to 0 while fading in, Bounce and Shake use multiple percentage stops instead of just 0% and 100% to describe a repeating motion within a single animation cycle.

Timing controls

Duration and delay are both in seconds. Easing controls the acceleration curve within each cycle: linear moves at a constant rate, while ease-in-out starts and ends slowly with a faster middle, which reads as more natural for UI motion than a linear pace.

Iteration, direction, and fill mode

animation-iteration-count sets how many times the cycle repeats, including infinite for a continuous loop. animation-direction can reverse the cycle or alternate between forward and backward on each repeat. animation-fill-mode decides whether the element keeps the animation’s starting or ending styles outside the time it’s actually playing, which matters most for entrance animations that should hold their final state once finished.

Replaying a one-shot animation

A CSS animation with iteration-count: 1 only plays once and won’t restart just because its properties change. The Replay button remounts the preview element, which is the same trick needed in real code: toggling a class or re-adding the element to force a finished animation to play again.

Frequently Asked Questions

A complete @keyframes rule for the selected preset, plus a matching animation shorthand declaration with your chosen duration, delay, easing, iteration count, direction, and fill mode.

none leaves the element at its own styles before the animation starts and after it ends. forwards keeps the last keyframe's styles after the animation finishes. backwards applies the first keyframe's styles during the delay, before playback starts. both combines forwards and backwards, which is why it's the default here for entrance-style presets.

Iterations defaults to infinite so the preview keeps demonstrating the animation without needing a click. Set it back to 1 to see how a one-time entrance animation like Fade In or Slide Up actually behaves, and use Replay to trigger it again.

Yes. The animation name field controls both the @keyframes identifier and the animation shorthand, so the exported CSS is ready to paste as-is. Invalid characters fall back to my-animation.

Explore Our Tools

Browse all tools