Lowkey Media Viewer

A fast, minimalist viewer for the images, videos, audio, and comics on your hard drive. Free and open source. Built for people who care about their personal media library and want to actually look at it instead of fighting their software.

Works on Windows, macOS, and Linux

Supports .jpg, .webp, .png, .gif, .mp4, .mov, .webm, comic book archives .cbz / .cbr, audio files, and more

Download | Free

Support on Patreon

Version 2.14.0

Overview

Most media apps want to take over your files — importing them into a private library, re-encoding them, asking you to sign in. Lowkey Media Viewer doesn't. Point it at a directory and it just opens. Files stay where you put them, in the formats you already have. Tags live in a local SQLite database you own and can back up. No account, no cloud sync, no telemetry.

It's built for the kind of library that's hard to handle with existing tools: tens of thousands of images and videos accumulated over years, mixed formats, comic archives, audio files, screenshots, weird old .webms. If you want to view those files, tag them, find them again later, and never lose them to a service shutting down — this is for you.

Why use it

  • Fast. Opens enormous folders without hanging. Renders 4K videos and high-res images without stutter. Tested against libraries with 100,000+ files.
  • Local-first. Your media stays where you put it. Tags live in a SQLite database in your home directory that you own and can back up. No sync, no cloud, no account.
  • Free and open source. MIT licensed. No paywalled features. Support the project on Patreon if you want, but you never have to.
  • Stays out of the way. Dark UI by default. Toolbars, sidebars, and metadata panels all toggle off so you can fill the screen with just the media. Hotkeys for everything.
  • Handles awkward stuff. Comic archives (.cbz, .cbr) open like directories. Video subtitles get picked up automatically. Audio gets a WebGPU visualizer. Transcripts are editable in place.
  • Cross-platform. Native installer for Windows, signed and notarized DMG for macOS (Apple Silicon + Intel), and AppImage for Linux.

What's inside

  • Viewing — images (JPG, PNG, GIF, WebP, BMP, SVG, JFIF), video (MP4, MOV, MKV, WebM, FLV, M4V) with subtitle pickup and audio-track selection on multi-track files, audio (MP3, M4A, AAC, OGG, WAV) with a WebGPU spectrum visualizer, and comic archives (.cbz, .cbr) opened like directories
  • Organizing — drag-to-tag, bulk apply, stored category slots (1–9), command palette, context palette, Battle Mode ELO rating, duplicate detection, custom tag previews
  • Finding things — fuzzy tag search across every category, filename search, description search, transcript-driven video navigation, OR/AND/Exclusive tag filtering
  • Metadata & transcripts — markdown notes on tags and categories, in-place transcript editing (Enter saves, Shift+Enter for newline), per-cue delete, substring search through transcripts, automatic SRT/VTT sidecar pickup
  • Built for big libraries — virtualized scrolling for 50,000+ tags or items, thumbnails generated on-demand and cached, library and query state persisted across launches

Want batch processing or AI tagging?

Lowkey Media Server is an optional companion that adds a job queue, auto-tagging via ONNX or Ollama vision models, video transcription via Faster Whisper, HLS streaming, and a workflow editor. The viewer detects it automatically once both are running. The viewer is stable; the server is in beta. See the Media Server docs.

Supported File Types

Lowkey Media Viewer reads a wide range of image, video, and audio formats natively. Comic book archives are extracted automatically and their contents load like a directory.

  • Images jpg, jpeg, png, gif, bmp, svg, jfif, pjpeg, pjp, webp, avif
  • Video mp4, mov, webm, mkv, m4v, ogg
  • Audio mp3, wav, flac, aac, ogg, m4a, opus, wma, aiff, ape
  • Archives cbz, cbr, zip

Images

.jpg .jpeg .png .gif .webp .avif .bmp .svg .jfif .pjpeg .pjp

Video

.mp4 .mov .webm .mkv .m4v .ogg

Audio

.mp3 .wav .flac .aac .ogg .m4a .opus .wma .aiff .ape

Archives

.cbz .cbr .zip

Basic Navigation

The main design principle of Lowkey Media Viewer is that you should spend most of your time and screen real estate on your images and videos.

Open a File/Directory

When you launch Lowkey Media Viewer you will be asked to select a file. Opening a file automatically loads other files in the directory into the list view. You can also associate media file types with LowKey Media Viewer and open files directly. Change files anytime using the file icon file in the Command Palette.

Recursive File Loading

By default, opening a file loads only the media sitting directly in that file's folder. Toggle Recursive mode — the recursive button in the command palette — to pull in everything from nested subfolders as well, so an entire directory tree loads into a single list view. The button highlights while recursive mode is active, and switching it reloads the current library. Sorting and shuffle then span every file found across the subfolders, which makes it an easy way to browse a deeply nested collection as one continuous set.

Open a Comic Archive

Comic book archives (.cbz, .cbr, and .zip) open just like directories. Pick one from the file dialog, drag it onto the window, or double-click it in Explorer / Finder — the viewer extracts the contents and loads every page into the list view automatically. RAR-based comic archives (.cbr) are extracted with a bundled UnRAR binary, so no external dependency is required. Reopening the same archive is instant, and the temporary extraction is cleaned up when you quit the app.

Comic View Mode

Comic Mode displays two pages at once in the detail view — the active page on the left and the page that follows it on the right — instead of a single item, so reading .cbz / .cbr archives (or any folder of sequential images) feels like an open book. The detail panel splits in half to fit the pair, and moving to the next item slides the spread forward. Turn it on from the image settings in the command palette.

Drag & Drop Import

Drop files straight onto the viewer to import them into your current folder. A drop zone appears on the main panels while you drag. Hold Shift while releasing to move files instead of copying. When you're viewing a tag instead of a folder, dropped files are placed in your configured default import path and the active tags are applied automatically.

Using Panels

There are four panels: List View (Left), Detail View (Middle), MetaData (Right), and Tagging (Bottom). To open a closed panel, drag it open from the edge of the screen. To close a panel, drag the border back to the edge.

Using the Command Palette

Right-click anywhere to bring up the command palette. This is the primary location of all controls and options.

Using the Context Palette

Shift + right-click on any media item to open the context palette. Unlike the full command palette, it shows only actions relevant to what you clicked — run a saved workflow (if you're using the Media Server), copy, delete, tag, and more. Jobs started from the palette stay in a footer so you can watch progress or cancel them without losing your place.

Resizing List View Grid

Modify the size of items in the list view grid using the grid tab grid in the command palette.

Shuffle

Shuffle images by clicking the shuffle icon shuffle in the command palette or pressing the X key. Use sorting options in the command palette to return to a sorted view.

File Management

Beyond viewing and tagging, Lowkey Media Viewer can act on the underlying files themselves — copy them out to another folder or remove them from disk — without ever leaving the keyboard. These actions work on the active file (the item currently in the detail view) or on your whole filtered list.

Copy the Active File

Press Ctrl + C to copy the active file to the system clipboard as a real file reference. Switch to Explorer, Finder, or your Linux file manager and paste (Ctrl + V) to drop a copy wherever you like — exactly as if you'd copied the file from the file manager itself.

Copy the Whole List

Press Ctrl + Shift + C to copy every item in your current list view at once. Whatever your active filter, search, or tag selection has narrowed the list down to is placed on the clipboard together, so you can paste the entire set into another folder in a single step — handy for pulling a whole tag or search result out to disk.

Delete the Active File

Press Delete to remove the active file. It's sent to your operating system's Recycle Bin / Trash rather than being erased outright, its entry is removed from the library, and the viewer advances to the next item so you can keep moving. If the file can't be moved to the trash for some reason, it's deleted directly — so treat Delete as a destructive action.

All three shortcuts appear in the Keyboard Shortcuts table and can be rebound from the Hotkeys tab of the command palette.

Display & Scaling

Scale Modes

Control how media is displayed in the detail view:

  • Fit - Scale to fit within the window
  • Cover - Fill the window (may crop edges)
  • Actual - Display at 100% zoom
  • Zoom - Configurable zoom levels (140%+)

Grid & Masonry Layouts

Choose between traditional grid layout or Pinterest-style masonry layout for your thumbnail view. Toggle between layouts in the command palette under List settings.

Curation & Tagging

The tagging panel lets you create collections of images and videos. Tags are saved to a local SQLite database in your home directory.

Creating a Category and Tag

Organize your media with categories and tags. Categories group related tags together.

Tagging an Image or Video

Apply a tag by dragging it onto an image in the detail view or list view.

Using an Image as the Tag Preview

Hold Shift before dragging a tag onto an image to use that image as the tag preview. You can also toggle the "Apply Tag Preview" option in the Tagging panel sidebar.

Tag All Images in the Current List

Hold Ctrl before dragging a tag onto an image to apply it to every image in the current list. Or select "Tag All Images" in the Tagging Panel Sidebar.

Reordering Tags and Media

Drag tags and media to reorder them in a collection. Media can only be dragged when sorting by Weight.

Selecting Tags to View

View individual tags or combinations. When selecting multiple tags, choose between:

  • OR mode - Media with at least one selected tag
  • AND mode - Media with all selected tags
  • Exclusive mode - Selective filtering

Toggle filtering mode in the Tagging Panel Sidebar.

Use text inputs in the Tagging panel to search files by filename or search tags in your collection.

Edit and Delete Tags

Edit tag names or delete tags. Editing updates all associated assignments. Deleting removes all assignments (not reversible).

Tag & Category Descriptions

Tags and categories now support descriptions. Add notes about what a tag is for, what to include, or anything else worth remembering — descriptions appear inline in the tagging panel and can be edited from the redesigned tag and category modals.

Video & Audio Playback

Playback Controls

Full video and audio playback with:

  • Play/Pause toggle (spacebar)
  • Progress bar with scrubbing and hover preview
  • Time display (current/total)
  • Volume control with mute toggle

Autoplay Settings

Configure autoplay behavior in the command palette:

  • Enable/disable autoplay on media selection
  • Set delay before playing (5-second increments)
  • Configure video loop count before advancing

Looping

Set custom loop durations (1s, 2s, 5s, 10s) for focused viewing of specific segments.

Metadata & Transcripts

View file metadata, Stable Diffusion parameters, gallery-dl metadata, and transcripts in the Metadata panel.

Viewing Transcripts

View VTT transcripts located in the same folder as the media file. Transcripts must have the same filename with a .vtt extension. Click cues to jump to timestamps, and toggle "Follow Transcript" ( on / off) to auto-scroll along with the video.

Generating Transcripts

Generate transcripts using the Whisper command if installed locally. Learn how to install Whisper.

Editing Transcripts

Transcripts are editable in place. Click any cue's text to edit it — Enter saves the change back to the .vtt file, Shift + Enter inserts a line break inside the cue. The Insert button at the top of the transcript panel adds a new cue for the current playhead position, and a small × on each cue (visible on hover) deletes that cue from the file. A substring search box above the cue list filters the transcript on every keystroke and lets you jump between matches with the prev / next buttons, so long transcripts stay navigable.

Captions & Subtitles

Drop an .srt or .vtt file next to a video (matching the video's filename) and Lowkey Media Viewer renders it as captions over the player. The viewer transparently converts SRT to WebVTT, strips byte-order marks, and normalizes line endings so caption files saved by any tool render correctly. Toggle captions on or off from the volume popover in the player controls; multi-track videos expose an audio-track picker in the same popover so you can switch languages without leaving the video.

Advanced Features

Battle Mode (ELO Rating)

Compare two media items side-by-side and vote for your preference. The ELO rating system automatically updates scores based on your choices. Great for ranking and curating large collections.

Duplicate Detection

Find and manage duplicate or similar media files. Merge duplicates to consolidate entries while preserving tag assignments.

Keyboard Shortcuts

Customize all keyboard shortcuts in the Hotkeys tab of the command palette.

Action Default Shortcut
Next item Right Arrow
Previous item Left Arrow
Play/Pause Space
Shuffle X
Refresh library R
Apply stored tag (slot 1-9) 1 – 9
Store current tag to slot (1-9) Ctrl + 1-9
Apply most recent tag A
Preview tag before applying (hold) Shift
Apply tag to all filtered items (hold) Ctrl
Switch to stored category (1-9) Shift + 1-9
Store current category to slot (1-9) Alt + 1-9
Move current item to top [
Move current item to end ]
Copy current file to clipboard Ctrl + C
Copy all filtered files to clipboard Ctrl + Shift + C
Delete current file Delete
Minimize window Escape
Toggle fullscreen F11 (Ctrl + Cmd + F on macOS)

Contact & Support

Have a question or feature request? All development is driven by community feedback, and updates are free forever.