🚀 X.com Enhanced Gallery
PC-only userscript to browse and download media from X.com in original quality.

X.com Enhanced Gallery is a lightweight, PC-only userscript that turns X.com (formerly Twitter) media into a fast, keyboard-friendly gallery with one-click original-quality downloads.
✨ What it does
- Opens an isolated vertical gallery for all images and videos in a tweet
- Downloads media in original quality (single file or bulk ZIP)
- Provides keyboard and mouse navigation optimized for desktop use
- Keeps the original X.com UI intact while adding an overlay gallery
- Respects privacy by running entirely in your browser (no data collection)
Built with modern tooling:
- UI: Solid.js 1.9.10
- Language: TypeScript 5.9.3 (strict)
- Bundler: Vite 7
- Quality: 2,800+ automated tests (unit, browser, integration, E2E, accessibility)
📥 Installation
1️⃣ Install Userscript Manager
First, install a userscript manager extension in your browser.
2️⃣ Install Script
3️⃣ Verify Installation
- Visit X.com: Go to https://x.com
- Click Image: Click an image or video in any tweet
- Check Gallery: Verify the enhanced vertical-scroll gallery appears
💡 Tip: Refresh the page after installation to use immediately.
🎮 Usage Guide
Basic Usage
- Open Gallery: Click an image or video in a tweet
- Navigate Media:
- 🖱️ Mouse Wheel: Scroll up/down to navigate images in order
- 🖱️ Arrow Buttons: Click navigation buttons on the left/right sides
- ⌨️ Keyboard: Use arrow keys or keyboard shortcuts
- Play Video: Press spacebar or click play button on a video
Download Feature
| Download Type |
Button |
Description |
| Single |
📥 Download |
Save current image/video in original quality |
| Bulk |
📦 Download All |
Download all media from tweet as ZIP file |
Advanced Features
- Image Zoom: Use mouse wheel to inspect image details
- Auto Scroll: Long images automatically scroll to bottom
- Optimized Loading: Current image loads first for faster navigation
- Memory Management: Unused images auto-released for performance
🌐 Browser support
Desktop browsers only (no mobile/touch support):
| Browser |
Version (minimum) |
| Chrome |
117+ |
| Edge |
117+ |
| Firefox |
119+ |
| Safari |
17+ |
Note: Build target is esnext with ES2024 features. CSS features require: oklch (Chrome 111+), color-mix (Chrome 111+), container queries (Chrome 105+).
🔒 Security & privacy
- All logic runs locally in your browser on X.com.
- No analytics, telemetry, or third-party tracking.
- No personal data or authentication tokens are collected or sent to external servers.
- Network requests are limited to X.com/Twitter media endpoints and GitHub (for update checks).
For full details and vulnerability reporting, see the Security Policy.
📄 License and Open Source
This project is distributed under the MIT License.
Used Open Source Libraries
| Library |
License |
Purpose |
| Solid.js |
MIT |
UI Framework |
| @heroicons/react |
MIT |
Icon Components |
Full license texts are available in the LICENSES/ directory.
🤝 Contributing
Have ideas for project improvements?
Development Setup
git clone https://github.com/PiesP/xcom-enhanced-gallery.git
cd xcom-enhanced-gallery
npm install
# Build userscript bundle
npm run build
# Run all tests
npm test
# Quick build (skip mutation tests)
npm run build:fast
# Optional: typecheck and lint
npm run typecheck
npm run lint
GitHub Actions runs a subset of these commands for continuous integration and security. See .github/workflows/ for details.
📞 Support and Feedback
**🌟 If you find this project useful, please give it a Star! 🌟**
**Made with ❤️ and GitHub Copilot by [PiesP](
https://github.com/PiesP)**