CSS Transition Generator
Set the property, duration, delay, and timing function, hover a live preview to feel the motion, and copy the transition CSS.
Hover, focus, or tap the box to play the transition. Everything runs in your browser.
Property
Timing function
ease-in-out
transition: all 0.3s ease-in-out;How to generate a CSS transition
Choose the property
Pick the property to animate, such as transform, opacity, or background-color, or choose all to transition every property that changes.
Set duration and delay
Drag the duration slider to set how long the change takes, and the delay slider to set how long the browser waits before it starts.
Pick a timing function
Choose a timing function preset and watch the small curve preview show how the motion speeds up and settles, including back curves that overshoot.
Preview and copy
Hover or focus the preview box to play the exact motion, then copy the transition CSS and paste it onto your element.
Why use this tool
Four plain controls
Property, duration, delay, and timing function map one to one to the CSS transition shorthand, so nothing about the output is a surprise.
Hover to play the motion
A live box replays your exact transition on hover, focus, or tap, and it honours the property you chose, so an opacity fade looks different from a transform slide.
Timing presets with a curve preview
Presets cover the browser keywords ease, linear, ease-in, ease-out, and ease-in-out, plus back curves that overshoot for a springy finish, each drawn as a small acceleration curve.
Copy the transition shorthand
The result is a single standard transition declaration in property, duration, timing, delay order, with the delay dropped when it is zero.
Runs entirely in your browser
Everything happens on your device. Nothing is uploaded, and there is no signup.
About this tool
A CSS transition tells the browser to animate a property change over time instead of applying it instantly. This generator builds the transition shorthand from four plain controls: which property to animate, how long it takes, how long to wait before it starts, and the timing function that shapes its speed. As you adjust each one, a live box replays the exact motion on hover, so you can feel the result before you paste a single line into your stylesheet.
Pick a property like transform, opacity, or background-color to animate just that value, or choose all to transition every property that changes. The timing function presets cover the browser keywords ease, linear, ease-in, ease-out, and ease-in-out, plus back curves that overshoot the target for a springy finish, and a small curve preview draws the acceleration so you can see how the motion accelerates and settles. Duration and delay run from 0 to 3 seconds, with the value shown in seconds to match what you copy.
Reach for a transition when a hover, focus, or state change would otherwise snap. Keep durations short, roughly 150ms to 400ms, for interface feedback, and lean on transform and opacity, which are the cheapest properties to animate. When the motion feels right, copy the transition CSS and drop it onto your element. For a fully custom easing curve you can drag, try the cubic bezier generator, and pair the motion with a matching box shadow generator for depth on hover.
Frequently asked questions
- What is a CSS transition?
- A transition animates a property change over a set duration instead of applying it instantly. It runs when the value changes, most often on hover, focus, or a class toggle, and needs no keyframes.
- Which properties can I animate?
- The generator covers common animatable properties: transform, opacity, background-color, color, box-shadow, border-color, width, and height, plus all, which transitions every property that changes. Transform and opacity are the cheapest to animate.
- What are the back timing functions?
- The back presets are timing functions whose curve dips below the start or past the end before settling, so the element overshoots its target and eases back. They give motion a springy, playful feel and are output as cubic-bezier values.
- What is the difference between duration and delay?
- Duration is how long the change takes to play once it starts. Delay is how long the browser waits after the change is triggered before the animation begins. Both are set in seconds here and each runs from 0 to 3 seconds.
- Do CSS transitions work in every browser?
- Yes. Transitions and the cubic-bezier timing function are part of standard CSS and are supported by every current browser, so the generated declaration works without prefixes.
- Is anything uploaded?
- No. The preview, the curve, and the generated CSS all run in your browser. Nothing is sent to a server or stored.
Related tools
Cubic Bezier Generator
Shape a CSS easing curve by dragging two handles, race it against a second curve in motion, and copy the code.
CSS Box Shadow Generator
Dial in a CSS box-shadow with live preview and copy the exact code.
CSS Gradient Generator
Design linear, radial, and conic CSS gradients with custom color stops, per-stop transparency, and copy the code.
Analogous Color Generator
Turn any base color into a three swatch analogous palette by rotating its hue.
Aspect Ratio Calculator
Solve the missing width or height for any aspect ratio, from 16:9 to a custom shape.
CMYK to RGB Converter
Convert CMYK ink percentages to RGB and hex with a live swatch, plus a reverse RGB to CMYK view. Copy any format.