A fast, lightweight Windows image viewer by CyberGems β open, browse folders, zoom/pan, and perform light edits (rotate, crop, resize, adjust colors). Built with Electron 35 and vanilla JavaScript, it delivers a modern, dark-themed "cyber" UI with neon accents.
Free and open source (GPLv3) β no ads, no tracking, and no data collection. Just enjoy it.
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 β 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 |
| Stay in your workflow | System tray, auto-start, global hotkey, Explorer context menu |
| Bilingual (EN / ES) | Complete UI localization with instant language switching |
- Lightning-fast open β custom streaming protocol loads images without hogging RAM
- Folder browsing β thumbnail sidebar with lazy loading, priority queue, and scan progress indicator
- Zoom & pan β 5% to 2000%, fit-to-window, original size (1:1), mouse wheel + drag
- Animated GIF support β toggle playback on/off
- Fullscreen immersive mode β ghost UI auto-hides for distraction-free viewing
- Drag & drop β drop images or folders directly onto the window
- Clipboard paste β paste images from clipboard (
Ctrl+V)
- Rotate β left 90Β° (
Q) / right 90Β° (E) with save/discard workflow - Crop β interactive overlay with handles, optional create-copy mode
- Resize β width/height with aspect-lock, presets (720p, 1080p, 25%, 50%, 200%), quality resampling
- Adjust β brightness, contrast, saturation, blur, grayscale, invert β with live A/B preview
- Flip β horizontal (
H) / vertical (Shift+H)
- Start/pause/stop with dedicated HUD
- Configurable interval (2s, 3s, 5s, 10s)
- Loop mode
- Option to enter fullscreen on start
- Save (overwrite) / Save As
- Copy image to clipboard (
Ctrl+C) or copy file path - Move to trash (
Delete) - Show in folder / open containing folder
- Export to PDF and Print (page size, orientation, margins)
- Favorites β mark and filter favorite images
- Recent history β last 8 files/folders
- System tray β custom HTML popup menu, minimize/close-to-tray
- Auto-start with Windows β launch minimized on boot
- Global hotkey β toggle show/hide (default:
Alt+Shift+V) - Explorer context menu β right-click images to open in CyberViewer
- File associations β set as default viewer for JPG, PNG, GIF, WEBP, BMP, TIFF
- Multiple instances β optional, for power users
- Auto-update β built-in GitHub Releases updater with silent install
- Settings backup β export/import configuration as JSON
- Accent colors β Cyan, Pink, Green, Orange
- Background styles β Checker-dark, Checker-light, Solid
- Interface tweaks β sidebar, statusbar, tooltips, hints, auto-hide delays, double-click behavior
- Tabbed settings β General, Appearance, Interface, Slideshow, System
- 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, 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/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
- Node.js LTS β https://nodejs.org
- Windows 10/11 (x64)
cd C:\path\to\CyberViewer
npm install
npm startnpm run build # NSIS installer + portable
npm run build:portable # portable only| Artifact | Description |
|---|---|
CyberViewer-Setup-1.13.0.exe |
NSIS installer |
CyberViewer-Portable-1.13.0.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)
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:
- Click More info.
- Click Run anyway.
| Key | Action |
|---|---|
Ctrl+O |
Open image |
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 images |
Space |
Next image (or play/pause slideshow) |
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 image files
- Folder scans only run for neighbors of an existing image file
- 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, auto-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.
JPG Β· JPEG Β· PNG Β· GIF Β· WEBP Β· BMP Β· TIFF
Yes. The NSIS installer includes an option (checked by default) to register per-user file associations. You can also enable the in-app Context Menu option or use Windows Settings β Apps β Default apps.
Yes. CyberViewer supports both Windows 10 and Windows 11 (x64).
| Installer | Portable | |
|---|---|---|
| File associations | β (optional) | β |
| Auto-update | β (electron-updater) | β (manual download) |
| Start Menu shortcuts | β | β |
| Requires installation | β | β |
Yes. Go to Settings β Appearance to change the accent color (Cyan, Pink, Green, Orange) and background style (Checker-dark, Checker-light, Solid). The Interface tab offers additional tweaks for sidebar, statusbar, tooltips, and auto-hide behavior.
Pull requests are welcome! Please ensure your changes pass npm test and npm run lint before submitting.
CyberViewer is one of the gems in CyberGems, a personal suite I've spent thousands of hours building and refining for my own use. I've decided to share the whole suite with the world β completely free and open-source.
If you'd like to support this work, a donation would mean a lot. 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
Made by CyberGems



