MotionBlock is a Chrome Manifest V3 extension for blocking distracting motion first: GIFs, GIFV, looping video, and autoplay. Broader media controls are available as opt-in settings for images, video, audio, emoji, and CSS motion.
Working store title:
MotionBlock: GIF, Animation & Autoplay Blocker
The product is built around the repeated review themes from existing blockers:
- People search for GIF blockers and animation stoppers, not broad "media control".
- They want per-site rules because image and video needs vary by website.
- They dislike giant replacement graphics.
- They want GIFV, Reddit, Discord, Giphy, Steam, and autoplay-style videos covered.
- They do not want normal WebP images blocked by default.
- Open
chrome://extensions. - Enable Developer mode.
- Choose Load unpacked.
- Select this folder:
C:\Users\molod\Documents\Personal\settings\MotionBlock.
The popup controls the current site. The options page controls global defaults and exact-host website preferences.
- Dynamic network blocking for GIF, GIFV, WebP URL patterns, broad image, broad video, and audio settings.
- DOM cleanup for already-in-page images, video, audio, emoji renderers, and CSS motion.
- Per-site tri-state preferences: inherit, block/on, allow/off.
- Settings export/import with JSON backup files.
- Chrome-profile settings sync through Chrome extension sync storage when browser sync is enabled.
- System, light, and dark UI theme modes.
- Optional reveal buttons for blocked media. Off by default because complex sites can reuse hidden media surfaces.
docs/product-brief.mdrecords the positioning and naming.docs/review-feedback.mdrecords the vital review feedback and product implications from competitor research.docs/roadmap.mdtracks likely release order.docs/store-listing-draft.mdcontains initial Chrome Web Store copy.docs/chrome-web-store-entry.mdcontains copy-paste Chrome Web Store fields.docs/permissions.mdexplains requested extension permissions.docs/manual-test-plan.mdlists local and live-site test targets.
Run:
.\scripts\serve-fixtures.ps1Then open http://127.0.0.1:8765/fixtures.html.
Run the lightweight settings sanity check:
node .\test\sanity.js- WebP blocking is URL-based for now. It is off by default because detecting animated WebP reliably needs deeper byte inspection.
- First-frame GIF replacement is not implemented yet. The current default is a compact placeholder that preserves the displayed size when possible.
- Reveal buttons are opt-in. They are useful on simple pages, but broad video/image blocking can produce unreliable click-to-play behavior on complex sites.
- Emoji removal changes text and cannot be cleanly restored without reloading the page.
If this extension saves you time and you want to support its development:
MotionBlock is licensed under the GNU General Public License v3.0. See LICENSE.