English Β· EspaΓ±ol
CyberViewer is a fast, lightweight image and video viewer for Windows that covers everyday viewing and editing without the weight of a full graphics suite. Open large images quickly, browse complete folders through a thumbnail sidebar, zoom and pan smoothly, run slideshows, and manage recent files. Essential tools for rotation, cropping, resizing, flipping, and color adjustment are built in, alongside wallpaper controls and Windows Explorer integration. The interface stays focused, dark, and highly customizable. Built with Electron 35 and vanilla JavaScript.
Free and open source (GPLv3). CyberViewer adds no advertising or analytics. Optional YouTube playback connects to YouTube and uses its official player.
Most image viewers are either bloated with features you never use or so barebones they feel like an afterthought. CyberViewer strikes the perfect balance: instant loading, smooth browsing, and essential editing tools, all wrapped in a sleek, distraction-free interface.
| Need | Solution |
|---|---|
| Open images instantly | Streaming cvlocal:// protocol with no full RAM load, even for large files |
| Browse a whole folder | Thumbnail sidebar with lazy loading and radar scan progress |
| Quick edits without Photoshop | Rotate, crop, resize, flip, adjust brightness/contrast/saturation/blur |
| Immersive viewing | Fullscreen mode with auto-hiding UI, slideshow with loop |
| Set the desktop wallpaper | Fill, Fit, Center, or Span the current image across Windows |
| Stay in your workflow | System tray, recent images, auto-start, global hotkey, Explorer context menu |
| Bilingual (EN / ES) | Complete UI localization with instant language switching |
- Image tabs: open multiple files together, reorder tabs, search by name or path, and reopen closed tabs. Each tab keeps its zoom, pan, and pending rotation. Folder navigation stays in the current tab; use the thumbnail context menu or middle-click to open another tab. A tab with unsaved changes stays open when navigating to another image.
- Optional session restore: enable Configuration β General β Restore previous session to recover tab order, the active image, views, pending rotations, and pasted images after restarting. Missing files stay in their tabs and can be located again. Session data stays local and separate from settings backups; disabling the option removes the saved session.
- Lightning-fast open: custom streaming protocol loads images without hogging RAM
- Supported formats: JPG, JPEG, PNG, GIF, WebP, BMP, TIFF, TIF, ICO, and AVIF
- Folder browsing: thumbnail sidebar with lazy loading, priority queue, and scan progress indicator
- Zoom and pan: 5% to 2000%, fit-to-window, original size (1:1), mouse wheel, and drag
- Animated GIF support: toggle playback on or off
- Fullscreen immersive mode: ghost UI auto-hides for distraction-free viewing
- Drag and drop: drop images or folders directly onto the window
- Clipboard paste: paste images from the clipboard (
Ctrl+V)
- Open MP4, M4V, WebM, MOV, and MKV through the file picker, drag and drop, folder navigation, or tabs. Support depends on the video and audio codecs inside each file and the computer's decoder capabilities.
- Play/pause, seek, adjust volume, mute, and loop. Videos play automatically on open by default; turn Autoplay on open off in the β¦ menu for manual playback. The preference is saved. Press Space to play/pause, Left/Right to skip 5 seconds, or M to mute. Up/Down and A/D still navigate files.
- Compact controls sit over the video and hide during playback after inactivity. The β¦ menu provides loop, properties, open, and audio information. Image editing bars are hidden while viewing video.
- Use the fullscreen button or Ctrl+F for native fullscreen with the complete frame fitted to the screen. Only the video remains after the controls and cursor hide; moving the pointer or pressing a key reveals the controls. Esc returns to the window (or closes the playback menu first).
- One active player keeps inactive tabs lightweight. Playback position survives tab changes and, when session restore is enabled, restarts.
- Video thumbnails are static frames. Image editing, image copying, wallpaper, and print/export actions are disabled for videos. Slideshows continue to show images and skip videos.
- Unsupported video codecs show an error. Silent videos play without automatic audio notices; volume and mute are dimmed and disabled when playback yields no decodable audio, and recover if audio becomes available later. Audio information is available on request in the playback menu. HEVC and multichannel audio are not universally supported; there is no bundled transcoder or external player dependency.
- Choose Open YouTube link in the main menu or press Ctrl+L. Paste a video, Shorts, live stream, or public playlist link. Links containing a video and a playlist retain that context; timestamps and playlist indexes are supported.
- The official YouTube player provides playback, volume, captions, quality, and its playlist selector. CyberViewer adds previous/next, playlist repeat, retry, opening the current video in YouTube, and native fullscreen (Ctrl+F, Esc to exit). Its footer stays outside the video and disappears in fullscreen.
- Autoplay on open in the link dialog shares the saved local-video preference. YouTube can still require a click on its own Play button. One online player is active at a time; changing tabs or suspending the application releases it. Optional session restore retains the current item and playback position.
- Internet access and permission to embed are required. Private, age-restricted, removed, region-blocked, and embedding-disabled items may be unavailable. Errors offer retry or opening in YouTube. This phase uses the embedded playlist directly, without a separate searchable playlist catalog, account sign-in, or downloads.
- YouTube controls its stream, recommendations, advertising, and data processing under its own policies. Remote content runs in a separate sandbox without access to CyberViewer's file or settings APIs.
- Rotate: left 90Β° (
Q) or right 90Β° (E) with save/discard workflow - Crop: interactive overlay with handles and optional create-copy mode
- Resize: width and height controls with aspect lock, presets (720p, 1080p, 25%, 50%, 200%), and quality resampling
- Adjust: brightness, contrast, saturation, blur, grayscale, and invert with live A/B preview
- Flip: horizontal (
H) or vertical (Shift+H)
- Start, pause, and stop controls with a dedicated HUD
- Configurable interval: 2s, 3s, 5s, or 10s
- Loop mode for the current folder
- Option to enter fullscreen on start
- Save (overwrite) or Save As
- Copy the image to the clipboard (
Ctrl+C) or copy its file path - Move to trash (
Delete) - Show in folder or open the containing folder
- Export to PDF and Print with page size, orientation, and margin controls
- Set as wallpaper with Fill, Fit, Center, or Span styles
- Favorites with dedicated add, remove, and view actions
- Recent history with up to 10 files and 10 folders
- System tray: custom HTML popup menu with recent images, plus minimize/close-to-tray behavior
- Auto-start with Windows: launch minimized on sign-in
- Global hotkey: configurable show/hide shortcut, default
Alt+Shift+V - Explorer context menu: right-click supported images to open them in CyberViewer
- File associations: set CyberViewer as the default viewer for JPG, PNG, GIF, WebP, BMP, TIFF, ICO, or AVIF
- Single resident instance: Explorer opens and additional launches send images to tabs in the existing window
- Auto-update: built-in GitHub Releases updater with silent install
- Settings backup: export or import configuration and favorites as JSON
- Accent colors: Cyan, Pink, Green, Orange, Violet, Blue, Red, and Mint
- Background styles: Checker-dark, Checker-light, or Solid
- Interface tweaks: sidebar, toolbar, status bar, tooltips, shortcut guide, auto-hide delays, and double-click behavior
- Tabbed settings: General, Appearance, Interface, Slideshow, System, and Backup & Data
- Download the latest installer or portable build from Releases
- Run the
CyberViewer-Setupinstaller or the portable executable - Launch CyberViewer and press
Alt+Shift+Vto show or hide it from anywhere. No other requirements needed: you do not need Node.js
Windows may show a SmartScreen warning the first time you run the CyberViewer installer: this is an unsigned hobby app, so Windows hasn't built reputation for the file yet. This is expected; the source is public so you can inspect exactly what it does. The same can appear when launching the portable build.
To continue:
See how to run the installer (step by step)
Windows shows this warning for any installer without a paid code-signing certificate; it does not mean the file is unsafe. Do not click "Don't run":
- Run the installer. Windows may show the blue "Windows protected your PC" dialog.
- Click the small More info link.
- Click Run anyway. The installer starts normally.
You can verify the file independently: compare the SHA with the GitHub release, scan it on VirusTotal, or build from source. More details: SmartScreen guide on the website.
- Platform: Windows 10 / 11 (x64)
- Framework: Electron 35.5.1 + vanilla JavaScript
- Security:
contextIsolation: true,nodeIntegration: false, customcvlocal://protocol with path allowlist, CSP headers - UI: Custom frameless window, DWM-rounded corners, multi-monitor DPI-aware
CyberViewer/
βββ main.js Electron main process: IPC, tray, protocol, and window management
βββ preload.js contextBridge β window.electronAPI (secure IPC)
βββ tray-preload.js Tray menu preload
βββ CyberViewer.html Shell markup (all UI modals/menus)
βββ tray-menu.html Custom tray popup
βββ css/app.css Styles
βββ js/
β βββ app.js Renderer UI logic
β βββ media-helpers.js Pure helpers (mediaUrl, canvasExport, filters)
βββ lib/ Shared Node helpers
β βββ paths.js Path normalization, allowlist, MIME types
β βββ thumb-cache.js Thumbnail caching/eviction
β βββ window-bounds.js Window bounds clamping/DPI awareness
β βββ updater.js electron-updater integration
β βββ settings-backup.js Import/export settings
βββ i18n/
β βββ menu.json Menu, tray, and dialog strings (EN/ES)
β βββ ui.json Renderer UI strings (source of truth)
β βββ ui.js Generated loader (npm run i18n:sync)
βββ assets/ Icons
βββ test/ Node unit tests
Only needed if you want to work on CyberViewer or build it yourself; regular users can skip this section.
- Node.js LTS β https://nodejs.org
- Windows 10/11 (x64)
cd C:\path\to\CyberViewer
npm install
npm startnpm test
npm run lint
npm run test:workspace # isolated image/tab regression tests
npm run test:video # isolated video tests; requires FFmpeg on PATH (development only)
npm run test:youtube # live YouTube/playlist tests with an isolated profile; requires internet
npm run i18n:sync # regenerate i18n/ui.js from i18n/ui.jsonnpm run build # NSIS installer + portable
npm run build:portable # portable only| Artifact | Description |
|---|---|
CyberViewer-Setup-<version>.exe |
NSIS installer |
CyberViewer-Portable-<version>.exe |
Portable build |
- Optional "Set CyberViewer as default image viewer" (checked by default)
- Per-user (HKCU) file associations
- Desktop/Start Menu shortcuts
- Bilingual installer (en_US, es_ES)
| Key | Action |
|---|---|
Ctrl+O |
Open images or videos |
Ctrl+L |
Open a YouTube video or playlist link |
Ctrl+Tab / Ctrl+Shift+Tab |
Next / previous tab |
Ctrl+W |
Close tab |
Ctrl+Shift+T |
Reopen closed tab |
Ctrl+Shift+O |
Open containing folder |
Ctrl+Shift+F |
Open folder |
Ctrl+S |
Save As |
Ctrl+P |
Print / Export PDF |
Ctrl+C |
Copy image to clipboard |
Ctrl+V |
Paste image from clipboard |
Ctrl+D |
Toggle favorite |
Ctrl+, |
Open settings |
Ctrl+I |
Properties |
β β β β / A D |
Navigate files; in video, β β seek 5 seconds |
Space |
Next image, play/pause video, or play/pause slideshow |
M |
Mute/unmute video |
Q / E |
Rotate left / right 90Β° |
C |
Crop |
R |
Resize |
J |
Adjust (color/tone) |
H / Shift+H |
Flip horizontal / vertical |
F |
Fit to window |
1 |
Original size (1:1) |
Enter / G |
Toggle fullscreen |
S |
Start/pause slideshow |
Delete |
Move to trash |
+ / - |
Zoom in / out |
0 |
Fit to window |
Esc |
Close overlays/modals/cancel crop |
webSecurityenabled with Content-Security-Policy- Local images served through
cvlocal://protocol (streamed) with path allowlist - Allowlist expansion only accepts existing supported image or video files
- Folder scans only run for neighbors of an existing supported media file
- Media streams support byte ranges for seeking without reading a complete video into RAM
- Renderer runs with
nodeIntegration: falseandcontextIsolation: true - DevTools IPC disabled in packaged builds
Installed (NSIS) builds use electron-updater against GitHub Releases:
- About β Check for Updates (or menu Help)
- Download update when a newer version is available
- Install & restart: silent install, no wizard, and automatic relaunch
Download/install is always user-requested. With "Check for updates on startup" enabled (default), the app notifies on startup that an update exists (toast + About banner), but will not download until you ask.
Portable builds cannot self-update in-app; use Open releases page.
After countless hours building and refining CyberViewer for my own use, I recently decided to share it with the world along with my other open-source tools in CyberGems.
If youβd like to support future updates, Iβd truly appreciate it. Your donation helps keep development going, roll out new features, speed up updates and bug resolution, and enhance documentation quality. You can also show your support by starring the repo on GitHub. Thank you! π
Crypto donations (BTC, ETH, USDT, LTC): click to view addresses
β οΈ Send only the selected asset on the indicated network. Using the wrong network will result in permanent loss of funds.
CyberViewer is distributed under the terms of the GNU General Public License v3.0. See LICENSE for the full license text.
Copyright (C) 2026 CyberGems
For frequently asked questions, troubleshooting guides, and detailed configuration instructions, visit the FAQ or the online documentation.
Made by CyberGems
More free, open-source, privacy-first apps from CyberGems:
| App | Description |
|---|---|
| πΒ CyberClock | Desktop clock with analog & digital display, calendar, timer, stopwatch and relaxation module. |
| π’Β CyberFeeds | High-performance, local-first RSS and Atom reader built for speed, privacy and clean reading. |
| πΒ CyberLauncher | Windows application launcher with hot corners, scheduler, system monitor and integrated terminal. |
| π»Β CyberManager | Lightweight, high-performance task manager, virtualized and NT-native, a powerful Task Manager alternative. |
| πΒ CyberNotes | Privacy-focused note-taking app with rich text, folders, tabs and bcrypt-protected local storage. |
| β‘Β CyberPaste | Privacy-first clipboard manager for text, code, images, HTML and files. |
| πΈΒ CyberSnap | Screen capture and annotation suite with vector tools, high-speed OCR, screen recording and color picker. |
| βΒ CyberTray | High-performance tray launcher with hotspots, system monitoring, process manager and PIN-protected file vault. |
| π‘οΈΒ CyberWall | User-friendly Windows firewall with real-time per-app rules powered by the WFP kernel engine. |



