Motion Reduction Forcer
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script reduces or eliminates motion and animations on any webpage, making browsing more comfortable for people who are sensitive to motion or have vestibular disorders. When enabled, the script applies CSS overrides to slow down or disable CSS animations, transitions, and scroll-triggered effects. You can choose between two modes: "Reduce" (slows animations down to 3 seconds for animations and 1 second for transitions) and "Disable" (stops all animations and transitions completely). Essential motion elements like loading indicators, progress bars, and video playback can be preserved, so you still see important feedback while avoiding unnecessary visual motion. The setting persists across browsing sessions.
WHERE IT RUNS
The script runs on all websites (*://*/*), making it truly universal. It works on any page with CSS animations, transitions, or scroll effects. It supports both desktop and mobile views.
HOW TO USE
After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:
- The "Enable motion reduction" toggle enables or disables the script.
- Select the mode: "Reduce (slow down animations)" or "Disable (stop all animations)."
- Toggle "Preserve essential motion" to keep loading indicators, videos, progress bars, and spinners unaffected.
- Click "Refresh" to re-apply the motion reduction after page changes.
- Click "Reset" to restore the default settings.
The script works automatically—just enable it and motion will be reduced or disabled on every page you visit.
TECHNICAL SECTION — REAL MECHANISM
The script injects a style element into the page head with CSS rules that override animation and transition properties. In "Reduce" mode, it sets animation-duration: 3s and transition-duration: 1s for all elements, effectively slowing down animations. In "Disable" mode, it sets animation-duration: 0.001s, animation-iteration-count: 1, transition-duration: 0.001s, and animation-name: none, effectively stopping all motion. It also sets scroll-behavior: auto to disable smooth scrolling. The script uses `!important` to override site styles. Essential motion elements are preserved by adding a .bg-motion-essential class to selectors like video, .loading-indicator, .spinner, .progress-bar, and [role="progressbar"], and these elements inherit their original animation properties. A MutationObserver watches for DOM changes and re-applies the motion reduction when new content loads. The style element is recreated whenever the settings change.
THE PANEL
The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or actions are performed. All settings save automatically via GM_setValue.
PLEASE NOTE
This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. The script uses CSS overrides with !important, which may conflict with some site styles. Some websites may use JavaScript-based animations that are not affected by CSS overrides. The "Disable" mode may break some interactive elements that rely on CSS transitions. The "Preserve essential motion" option helps mitigate this by excluding certain elements. The script stores only your preferences via GM_setValue. No data is sent externally—all processing is performed locally in your browser. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, textContent, appendChild) and never use innerHTML.