Skip to content

Latest commit

Β 

History

320 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CyberViewer logo

CyberViewer: A modern, feature-packed image viewer for Windows

Download Latest ReleaseWindows 64-bit Β All Releases

LicenseΒ  PlatformΒ  ElectronΒ  Wiki

A fast, lightweight Windows image viewer by CyberGems. Open images, browse folders, zoom and pan, and perform light edits such as rotate, crop, resize, and color adjustments. Built with Electron 35 and vanilla JavaScript, CyberViewer 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.


🎯 Why CyberViewer?

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

✨ Key Features

πŸ–ΌοΈ Viewing

  • 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)

✏️ Editing

  • 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)

🎬 Slideshow

  • 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

πŸ“ File Operations

  • 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 Integration

  • 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
  • Multiple instances: optional mode for power users
  • Auto-update: built-in GitHub Releases updater with silent install
  • Settings backup: export or import configuration and favorites as JSON

🎨 Customization

  • 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

πŸ› οΈ Tech Stack & Architecture

  • Platform: Windows 10 / 11 (x64)
  • Framework: Electron 35.5.1 + vanilla JavaScript
  • Security: contextIsolation: true, nodeIntegration: false, custom cvlocal:// 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

πŸš€ Getting Started

Prerequisites

Development

cd C:\path\to\CyberViewer
npm install
npm start

Checks and localization

npm test
npm run lint
npm run i18n:sync       # regenerate i18n/ui.js from i18n/ui.json

Build (Production)

npm run build            # NSIS installer + portable
npm run build:portable   # portable only

Outputs (in dist/)

Artifact Description
CyberViewer-Setup-<version>.exe NSIS installer
CyberViewer-Portable-<version>.exe Portable build

NSIS Installer Features

  • 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 SmartScreen

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:

  1. Click More info.
  2. Click Run anyway.

⌨️ Keyboard Shortcuts

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

πŸ”’ Security

  • webSecurity enabled 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: false and contextIsolation: true
  • DevTools IPC disabled in packaged builds

πŸ”„ Updates

Installed (NSIS) builds use electron-updater against GitHub Releases:

  1. About β†’ Check for Updates (or menu Help)
  2. Download update when a newer version is available
  3. 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.


❀️ Donate

I’ve spent countless hours building and refining CyberViewer for my own use. I recently decided to share it with the world as part of the CyberGems set of free and open-source tools.

If you’d like to support future updates, I’d truly appreciate it. You can also show your support by starring the repo on GitHub. Thank you! πŸ™

Donate via PayPal

Support me on Ko-fi

Buy Me a Coffee

Crypto donations (BTC, ETH, USDT, LTC): click to view addresses
Asset Address QR
BTC
bc1q5mxzz05nmvsheqzx7970euswta3fksxzcfzag4
BTC QR
ETH
0x79b703Ec0f77493679Fcd280aF3b983E20c580B8
ETH QR
USDT (ERC20 / BEP20)
0x79b703Ec0f77493679Fcd280aF3b983E20c580B8
USDT QR
USDT (TRC20)
TSVbSk1HSyZ1NprCnAYiw56ECwXgH887mD
USDT TRC20 QR
LTC
LWGnEHgcFCE2BRkzLnsdPDD8Y8ZeDK577X
LTC QR

⚠️ Send only the selected asset on the indicated network. Using the wrong network will result in permanent loss of funds.


πŸ“„ License

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


❓ FAQ

For frequently asked questions, troubleshooting guides, and detailed configuration instructions, visit the FAQ or the online documentation.


Thanks for using CyberViewer! πŸŽ‰

Made by CyberGems

Share on X Β Share on Facebook Β Share on Reddit Β Share on Telegram Β Share on LinkedIn Β Share by Email


πŸ”— See also

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.

➑️ Browse all apps at cybergems.org

About

πŸ’« CyberViewer is a lightweight, full-featured image viewer and editor engineered for casual and power users ● Free and open-source.

Topics

Resources

Stars

3 stars

Watchers

2 watching

Forks

Releases

Contributors

Languages