CSS Animation Generator - Online Keyframes & Transitions
Create CSS animations and transitions without coding. Define keyframes, easing, and duration. Copy the @keyframes and animation code instantly.
UD5 Toolkit
Create stunning WebKit mirror reflection effects with live preview. Customize direction, offset, and gradient fade.
WebKit-based browsers
-webkit-box-reflect: below 8px linear-gradient(transparent 50%, rgba(255,255,255,0.4));
This is a -webkit- prefix property. Works in Chrome, Safari, Edge, and Opera.
element() with transform: scaleY(-1) and a gradient overlay as a fallback approach for Firefox.
linear-gradient(transparent 50%, rgba(255,255,255,0.4)), where the reflection starts fully visible and gradually fades out. The transparent part of the gradient keeps the reflection visible, while the semi-transparent or opaque white part masks it out, creating a smooth fade effect. You can also adjust the transparency of the mask to control the overall visibility of the reflection.
-webkit-box-reflect, you can create a similar effect using pseudo-elements or a duplicate element with transform: scaleY(-1) and a gradient overlay. Here's a basic approach: create an ::after pseudo-element, mirror it vertically using transform: scaleY(-1), position it below the original, and apply a mask-image with a linear gradient to create the fade. Alternatively, use JavaScript to clone the element and apply the mirror transform for more complex scenarios.
-webkit-box-reflect property itself is not directly animatable via CSS transitions or keyframe animations. However, you can animate the element being reflected — such as its opacity, transform, or position — and the reflection will follow in real-time because the browser re-renders the reflection on each frame. This is particularly effective for creating dynamic reflection effects on moving or transforming elements. For the gradient mask, gradual changes require JavaScript to update the property value in small increments.
-webkit-box-reflect is GPU-accelerated in WebKit browsers and generally performs well. The reflection is rendered as part of the compositing process, which means it doesn't trigger layout recalculations. However, applying it to very large elements or animating reflected content continuously may impact performance on lower-end devices. For best results, use it on static or subtly animated elements and avoid excessive use on elements with complex children or frequent repaints.
perspective and slight transform on the parent for a 3D tilt effect.Create CSS animations and transitions without coding. Define keyframes, easing, and duration. Copy the @keyframes and animation code instantly.
Preview different touch feedback patterns (scale, color, ripple) for mobile buttons. Copy the CSS and HTML. Improve mobile UX.
Stack multiple background images and blend them with colors. Create unique textures. Copy the CSS code instantly.
See how `animation‑composition: replace, add, accumulate` works by layering animations on the same property. Understand the spec.
Create a looping animated gradient background with multiple color stops. Copy the complete CSS keyframes. Eye‑catching.
Select emojis and arrange them into a seamless tiling background. Copy the CSS data‑URI or download as image.
Chain multiple CSS filter functions and see the result on an image. Copy the filter string. No upload.
Generate a subtle noise/grain texture as a CSS background pattern. Adjust opacity and size. For that film look.
Adjust rotateX/Y/Z and translate to see a 3D box in real time. Copy optimized CSS transform.
Search and filter all CSS properties that can be animated. See value types and example keyframes. Quick dev reference.
Click on a box to set the transform‑origin point and see how rotations and scales change. Copy the CSS.
Test how `content‑type: text/html` vs `content‑type: image/svg+xml` affects SVG rendering in the browser. Modern performance hint.
Try all object‑fit values (fill, contain, cover, scale‑down) on an image. Adjust object‑position. Copy the CSS.
Automatically remove white background from an image and make it transparent. Adjust tolerance. Save as PNG.
Upload an image and get its BlurHash string along with a tiny preview. Use for progressive loading. Pure JavaScript.
Add a soft vignette to your photo. Control radius, darkness, and feathering. Creates a classic photographic look.
Generate a link to an SVG placeholder image with a custom width, height, and text. Use as dummy image src. No server.
Generate an SVG placeholder image with custom text, width, height, and colors. Use as a placeholder service. Pure SVG.
Select a Node.js version from the LTS list and instantly download a .nvmrc file. Lock your project’s runtime.
Recreate the target CSS linear gradient by adjusting stops and colors. A unique game for front‑end developers to master gradients.
Create and format Markdown tables by adjusting rows and columns. Align text, copy the raw Markdown. Perfect for README files.
Generate dynamic placeholder images by specifying width, height, colors, and text. View instantly as a URL you can embed in mockups. Canvas-based.
Rotate the hue of any image globally. Turn a red car blue instantly. Download the result. Works entirely in the browser.
Simulate how a palette looks under daylight, tungsten, or fluorescent light. Understand metamerism. For accurate color work.
Generate the doGet() and doPost() boilerplate for a Google Apps Script web app. Ready to paste into the editor.
Upload an animated GIF and generate a reversed version. Share the funny backwards motion. Works entirely in your browser via canvas.
Convert animated GIFs to animated WebP format for smaller file size. Choose quality level. All processing in browser.
Drag the virtual ring to perform multiplication, division, and unit conversions. Rediscover pre‑electronic calculator charm.
Interactive cheatsheet for JavaScript regular expressions with live examples. Click any token to see its explanation and test it on sample text immediately.
Automatically remove the background from any photo using a small on‑device AI model (WASM). No upload. Works offline.