SVG Line Drawing Animation Generator - Online stroke‑dasharray
Create a 'drawing' effect for any SVG path. Adjust speed and delay. Copy the CSS and SVG code. No JS needed.
UD5 Toolkit
Simulate & preview how animations adapt to user accessibility preferences
@media (prefers-reduced-motion: reduce)
window.matchMedia('(prefers-reduced-motion: reduce)')
Detecting...
Full Motion (default)
prefers-reduced-motion is a CSS media feature and a user preference setting that allows websites to detect whether the user has requested minimal non-essential motion on their device. It was introduced as part of the Media Queries Level 5 specification and is widely supported across all modern browsers. When a user enables "Reduce Motion" in their operating system accessibility settings, websites can respond by disabling or minimizing animations, transitions, and parallax effects.
prefers-reduced-motion setting, developers create inclusive experiences that do not physically harm users who are sensitive to motion. It is a core requirement of WCAG 2.2 Success Criterion 2.3.3 (Animation from Interactions).
@media (prefers-reduced-motion: reduce) { ... } to wrap or override animation styles. In JavaScript, use window.matchMedia('(prefers-reduced-motion: reduce)').matches to conditionally trigger animations. Best practice is to design animations progressively: start with static designs, then add motion as an enhancement for users who have not opted out. Always ensure that no critical content or functionality depends on motion.
prefers-reduced-motion is the recommended technique to meet these criteria and ensure Level AA or AAA compliance.
no-preference (default): The user has not indicated any preference regarding motion. Websites are free to display animations as designed.reduce: The user has explicitly requested that non-essential motion be minimized. Websites should remove, pause, or significantly tone down animations. The only valid values are no-preference and reduce — there is no prefers-more-motion or similar option.
Create a 'drawing' effect for any SVG path. Adjust speed and delay. Copy the CSS and SVG code. No JS needed.
Animate text that looks like it's being decoded or scrambled before settling on the final word. Copy the JS snippet.
Visually create a motion path for CSS animations. See the element follow the path. Copy the `offset‑path` and keyframes.
Configure how your PWA launches: focus existing or create new. Test with the launch_handler manifest field.
Build a horizontal scroll‑snap container with configurable snap‑type and alignment. Perfect for image galleries.
Compare all CSS easing presets side by side on a bouncing ball. See which curve fits your UI animation.
Query the permission state of camera, microphone, geolocation, and more. See the response and learn the API.
Process audio faster than real‑time with OfflineAudioContext. Apply filters and export the result. Dev tool.
Drop files onto a zone and see a preview with name, size, and type. Copy the JavaScript pattern for your site.
Demonstrate how to add custom headers and POST‑like functionality to EventSource using a polyfill. Code and example.
Scroll a container and see how sticky elements behave. Adjust top, bottom, and scroll margins. Copy the code.
Render the classic Stanford Bunny with a basic WebGPU pipeline. Rotate and zoom. Check if your browser supports WebGPU.
See how scroll‑padding and scroll‑margin affect the position of elements when using anchor links or scroll‑snap. Visual.
Test the experimental Translation API to translate text between languages directly in the browser, without cloud calls. Check support and copy the JavaScript starter.
Apply a convolution filter (blur, sharpen) using a Web Worker. See the UI stay responsive while processing. Learn multithreading in the browser.
Toggle scrollbar‑gutter: stable to reserve space for the scrollbar and avoid content jumps. Visual demo with two columns.
Acquire and release locks across tabs. Prevent race conditions in IndexedDB or localStorage. Visual queue and lock state.
Register a periodic background sync to fetch fresh data even when the tab is closed. Understand the API and limits.
Search and filter all CSS properties that can be animated. See value types and example keyframes. Quick dev reference.
Test the Fullscreen API: request fullscreen on a colored div, detect changes, and copy the JavaScript boilerplate.
See the View Transitions API in action. Cross‑fade and morph between two states. Copy the JavaScript starter code.
Create smooth, animated CSS waves (like water or sound) by adjusting amplitude, colors, and speed. Copy the ready‑to‑use SVG/CSS code.
Create a pure CSS countdown timer with a flipping number effect. Adjust duration and style. No JavaScript needed for display.
Create a glowing or rotating border animation around an element. Copy the CSS keyframes. Pure CSS magic.
Create a rainbow gradient text animation using pure CSS. Customize speed and colors. Copy the code for your website.
A customisable Matrix‑style digital rain animation. Adjust speed, characters, and colors. Fullscreen mode for ambiance.
Paste a Kanji and watch it drawn stroke by stroke with numbered sequence. Excellent for learners. Static data set.
Find safe mixing ratios for the classic elephant toothpaste demonstration. Volume adjustments for different container sizes.
Paste Lottie JSON code or upload a .json file and see the animation play. Control speed and loop. Perfect for developers.
Upload an animated GIF and generate a reversed version. Share the funny backwards motion. Works entirely in your browser via canvas.