ADBSnap — Mobile Screenshot & Asset Studio
Capture Android and iOS screens, style device mockups, and prepare App Store / Google Play assets from VS Code.

ADBSnap for VS Code captures connected Android devices and, on macOS, iOS simulators and paired iPhones/iPads. Frame screenshots with vector device bezels, customize the canvas in the embedded Studio, and export store-ready image packs. iOS uses Apple's Xcode tools; it does not use ADB.
| Capability |
Android |
iOS Simulator (macOS) |
Physical iPhone/iPad (macOS) |
| Device discovery and raw/framed capture |
ADB |
Xcode simctl |
Xcode devicectl |
| Studio preview, styling, and store export |
Yes |
Yes |
Yes |
| Wireless device controls |
ADB Wi-Fi |
Not applicable |
Pair through Apple's Xcode tools |
| Automatic screen exploration |
CLI / full Studio |
XCTest Auto Explorer via CLI / full Studio |
XCTest Auto Explorer via CLI / full Studio; signing required |
The VS Code extension provides device discovery, capture, markdown document insertion, autonomous app exploration, app lifecycle controls, the embedded asset Studio, and multi-store asset pack export.
🎯 Real-World Developer Workflows
1. 🚀 Instant PR Reviews & Markdown Documentation
Never context-switch to desktop file managers or Figma again. Press Ctrl+Alt+S (Cmd+Alt+S) to quick-capture a framed screen directly into your ./output directory, or run ADBSnap: Capture and Insert into Document to automatically write  at your editor cursor position.
2. 📋 1-Click Clipboard Sharing (Ctrl+Alt+C)
Press Ctrl+Alt+C (Cmd+Alt+C) to capture, frame, and copy directly to your system clipboard. The extension's offscreen <canvas> normalizer guarantees instant, error-free pasting into Slack, Figma, Linear, Discord, Notion, or GitHub comments.
3. 🐛 Reproduce Bugs with Logcat Crash Dumps
Run ADBSnap: Capture Bug Report to capture the exact UI bug state alongside the fatal Logcat exception stack trace, bundling them into a complete bug report.
4. 🧹 Status Bar Sanitation (Android Demo Mode)
Clean up messy status bars (low battery, 20 unread notifications, arbitrary time) with ADBSnap: Toggle Android Demo Mode. Instantly locks the clock to 9:41 AM, battery to 100%, and hides all notification clutter.
5. 🔒 100% Local-First & Air-Gapped Privacy
Zero cloud dependencies or network telemetry. All screen capturing and Sharp vector compositing execute locally in RAM on your machine. Confidential staging builds, test credentials, and unreleased designs never leave your workstation.
Features
Capture and device management
- Quick Capture (Framed) —
Ctrl+Alt+S (Cmd+Alt+S on macOS) captures the active screen, applies a device frame, and saves it to the configured output directory.
- Capture & Copy to Clipboard —
Ctrl+Alt+C copies the framed capture for pasting into issues, pull requests, chat, or documentation.
- Capture and Insert into Document — Snaps active screen and instantly writes
 markdown syntax at your cursor position in any active document.
- Capture Raw Screenshot — Save screen pixels without a bezel or marketing canvas.
- Connected Devices View — See Android USB/Wi-Fi/emulators and iOS simulators/paired devices, their connection type, and authorization state; choose the active target with 1 click.
- Auto-Reconnect & Wi-Fi Pairing — Connect directly via IP (
adbsnap.connectIp), pair Android 11+ devices with 6-digit PIN code (adbsnap.pairWifi), or 1-click reconnect to offline Wi-Fi phones.
- Recent Captures Gallery — Open captures in VS Code or Asset Studio, copy them, reveal them in OS file explorer, or remove them. Supports PNG, WebP, AVIF, JPEG, and ZIP.
Asset Studio and exports
- Open the embedded interactive Studio from the Activity Bar palette icon or
ADBSnap: Open Asset Studio.
- Adjust 15+ device bezels (iPhone 16 Pro Max 6.9", Pixel 9 Pro Fold 8", Galaxy S25 Ultra, iPad Pro 13" M4, etc.), 16 gradient backdrop themes, typography, and duo-split/overlap layouts with live preview.
- Collect, reorder, and style multiple screens; export App Store and Google Play asset packs as ZIP files.
App exploration & lifecycle automation
- Autonomous Android Tab Crawler (
adbsnap.explore) — Hands-free crawling and capture of bottom navigation tabs.
- Autonomous iOS UI Explorer (
adbsnap.exploreIos) — Hands-free XCTest traversal of tab roots and accessible view hierarchies on macOS.
- Instant App Data Reset (
adbsnap.resetAppData) — Execute adb shell pm clear to wipe auth tokens and cache in <100ms, returning apps to fresh onboarding state.
- Relaunch Mobile App (
adbsnap.relaunchApp) — Cleanly force-stop and restart the active foreground application.
Commands
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
| Command |
Shortcut |
Description |
ADBSnap: Open Mobile Command Center |
— |
All-in-one QuickPick mobile command center |
ADBSnap: Quick Capture (Framed) |
Ctrl+Alt+S |
Capture and frame the active device screen |
ADBSnap: Capture & Copy to Clipboard |
Ctrl+Alt+C |
Capture, frame, and copy to system clipboard |
ADBSnap: Capture and Insert into Document |
— |
Capture and insert  markdown tag at cursor |
ADBSnap: Capture Raw Screenshot |
— |
Save unframed device pixels |
ADBSnap: Record Screen (MP4 / Video) |
— |
Record device screen (5s–15s) framed into 4K mockup |
ADBSnap: Capture Bug Report (Screenshot + Logcat) |
— |
Bundle framed bug snapshot + fatal exception crash logs |
ADBSnap: Send Selected Text to Device |
— |
Type highlighted editor text or custom input into phone |
ADBSnap: Open Deep Link on Device |
— |
Open selected URL or deep-link URI on mobile device |
ADBSnap: Remote Key - Back / Home / Recents / Lock |
— |
Hardware navigation keys dispatched directly to device |
ADBSnap: Open Asset Studio |
— |
Open the interactive Studio tab |
ADBSnap: Change Default Bezel Frame |
— |
QuickPick: Switch default bezel (iPhone 16 Pro Max, Pixel Fold, etc.) |
ADBSnap: Change Default Canvas Theme |
— |
QuickPick: Switch default backdrop gradient (Aurora, Cyberpunk, etc.) |
ADBSnap: Change Default Export Format |
— |
QuickPick: Switch output format (PNG, WebP, AVIF, JPEG) |
ADBSnap: Change Default Aspect Ratio |
— |
QuickPick: Switch canvas aspect ratio (Portrait 9:19.5, Landscape 16:9, Square 1:1) |
ADBSnap: Toggle Android Demo Mode |
— |
QuickPick: Enable/disable status bar 9:41 AM, 100% battery, no notifications |
ADBSnap: Explore & Capture Android App Tabs |
— |
Autonomous bottom-tab crawler |
ADBSnap: Explore & Capture iOS App Views (XCTest) |
— |
Autonomous iOS UI explorer (macOS) |
ADBSnap: Reset App Data (Logout / Clear Cache) |
— |
Instant pm clear application reset |
ADBSnap: Relaunch Mobile App |
— |
Terminate and restart active foreground application |
ADBSnap: Export Store Asset Pack (ZIP) |
— |
Generate store-resolution assets |
ADBSnap: Select Active Device |
— |
Choose the target device |
ADBSnap: Refresh Connected Devices |
— |
Refresh device discovery |
ADBSnap: Connect Device via Wi-Fi IP |
— |
Direct IP/Port wireless connection |
ADBSnap: Pair Wireless Device (Android 11+ Code) |
— |
6-digit wireless pairing code modal |
ADBSnap: Switch to Wireless ADB (WiFi) |
— |
Enable Android wireless ADB |
ADBSnap: Turn Off Wi-Fi Mode (Revert to USB) |
— |
Disconnect Android wireless ADB |
ADBSnap: Run ADB Doctor Diagnostics |
— |
Diagnose Android ADB setup |
Settings
Configure in Settings > Extensions > ADBSnap:
{
"adbsnap.defaultTheme": "aurora",
"adbsnap.defaultFrame": "iphone-16-pro",
"adbsnap.defaultFormat": "png",
"adbsnap.defaultAspectRatio": "portrait",
"adbsnap.outputDirectory": "${workspaceFolder}/output",
"adbsnap.customAdbPath": ""
}
adbsnap.customAdbPath is Android-only. iOS tooling is resolved from the selected Xcode installation and its xcrun command.
For the full CLI and platform guide, see the ADBSnap README. Report problems at GitHub Issues.
License
MIT © Shriram Singh