Media Viewer

View and organize your images and videos into custom queues

Ready
0 items

📖 How Media Viewer Works

A complete guide to browsing, organizing, and enjoying your images and videos — with masonry layouts, auto-scroll, play-all, and custom queues — entirely in your browser.

100% Private — Your Files Never Leave Your Computer Everything runs inside your browser. No uploads, no accounts, no tracking. The tool opens folders in read-only mode — it cannot modify, move, or delete any file.

📺 What This Tool Does

Media Viewer is a pure browser-based gallery for images and videos. Pick any folder and every file inside appears as a card — no scanning, no duplicate detection, no waiting. Just instant visual browsing.

Beyond basic browsing, it adds masonry layouts, auto-scroll, play-all-videos, side-by-side comparison, and custom named queues — making it useful for photographers, video editors, and anyone managing large media collections.

Grid & Masonry Layouts

Switch between a uniform grid and a Pinterest-style masonry layout that preserves each image's natural proportions.

Auto-Scroll

Hands-free scrolling at adjustable speed — perfect for reviewing large folders without touching the mouse.

Play All Videos

Start every video in the folder simultaneously, or hover individual cards to auto-play them one at a time.

Custom Queues

Create named collections from any files in the folder — like a playlist for images and videos — without moving a single file.

↔️ Media Viewer vs. Other Sakarto Tools

↔️ Media Viewer vs. Other Sakarto Tools
SituationUse This
I want to browse a folder of photos or videos without any scanning📺 Media Viewer
I want to find and remove near-identical duplicate photos🔍 Duplicate Finder
I want to delete unwanted images from a folder in bulk🗑️ Bulk Delete
I want to move photos into organised subfolders📂 Bulk Move
I want to rename a batch of photos with a date prefix✏️ Bulk Rename
I want to create a curated selection of images for a project📺 Media Viewer → Queue
I want to watch a whole folder of vacation videos automatically📺 Media Viewer → Play All + Auto-scroll
Media Viewer is read-only. It opens folders with mode: "read", not "readwrite". No file in the selected folder can be modified, moved, or deleted through this tool.

🧠 How It Works

  1. Read the Folder (Read-Only)

    When you select a folder, the File System Access API iterates every file recursively. Only image and video MIME types are kept. The folder is opened in read mode — no write permission is requested.

  2. Render Cards in Batches of 50

    Cards are built synchronously in batches of 50, then handed to the browser for a paint frame before the next batch. This keeps the page responsive during large folder scans.

  3. Lazy-Load with a 300px Lookahead

    No image or video content is fetched until the card is 300px from the viewport. An IntersectionObserver sets the src when the card enters the lookahead zone.

  4. Aspect Ratio Detection & Masonry Classes

    Once each image or video loads its metadata, the card receives a class (aspect-landscape / aspect-portrait / aspect-square). Masonry mode uses these classes to set per-type max-height.

  5. Videos Auto-Play on Hover

    Video cards have preload="none" and no src until the IntersectionObserver fires. On mouseenter, video.play() is called. On mouseleave, video.pause(). All videos are muted by default.

📐 Layout Modes — Grid vs. Masonry

Toggle between two layout modes using the buttons above the file grid. Your choice persists while the tab is open and applies to both the main view and all queue tabs.

📊 Grid Layout (default)
  • Fixed-width cards in equal columns (auto-fill, min 280px)
  • All card thumbnails are the same height (200px)
  • Images crop to fill with object-fit: cover
  • Best for quick browsing of large folders
  • Most predictable layout — no shift as images load
🧱 Masonry Layout
  • CSS column-count layout — images preserve natural proportions
  • Portraits, landscapes, and squares each get appropriate height
  • Spacing slider (0–20px) controls column gap in real time
  • Best for appreciating photos as they were composed
  • Layout may shift slightly as aspect ratios are detected on scroll
Masonry uses CSS columns, not absolute positioning. Items flow top-to-bottom within each column in the order files were read from the folder. Column height evenness improves as more images load.

⬇️ Auto-Scroll — Hands-Free Browsing

Auto-scroll drives the page downward at a constant speed using requestAnimationFrame, leaving your hands free to enjoy the gallery.

Start / Stop

Click ⬇️ Auto-scroll to start. Click ⏸️ Stop scroll or press Escape to stop at any time.

Speed Control

The Speed slider (1–10) controls scroll velocity. Speed 3–4 works well for images; speed 1–2 for videos where you want to watch each clip.

Pause on Manual Scroll

Mouse wheel or trackpad input pauses auto-scroll immediately. It automatically resumes 1 second after you stop manually scrolling.

Stops at Bottom

When the page reaches within 10px of the bottom, auto-scroll stops automatically and shows a toast notification.

🎬 Video Features

Hover-Play

Move your mouse over any video card and it plays immediately. Move away and it pauses. Videos are muted by default so multiple hover-plays don't create noise. Each video loops.

Play All

Click ▶️ Play All to start every video on the page simultaneously. Launches are staggered by 30ms per video to avoid browser throttling. Click ⏸️ Pause All to stop them all.

Mute Toggle

Click 🔇 Videos in the toolbar to toggle global mute on all video elements, including those added to the page after the toggle.

Full Preview with Controls

Click the ▶️ icon on any video card to open a modal player with native browser controls — play, pause, seek, volume, and fullscreen.

📂 Custom Queues — Build Named Collections

Queues let you curate a named collection of files from the folder — like a playlist for images and videos — without moving or copying anything.

  1. Select files and click Add to Queue

    Click one or more cards to select them (blue border), then click 📂 Add to Queue in the toolbar. A modal appears. If queues already exist, you can add to an existing one or create a new one.

  2. Name the Queue

    Type a descriptive name — e.g., Nature, Favourites, To Print. Names must be unique within the session. Click Create New Queue. The new tab appears in the sidebar.

  3. Browse and enjoy the Queue

    The queue tab shows only the files you added, with its own Grid/Masonry toggle, spacing slider, hide-info toggle, and auto-scroll controls.

  4. Remove files or delete the Queue

    Click the ✕ on any card in the queue to remove that file. Click the ✕ button next to the queue name in the sidebar to delete the entire queue. Neither action touches the actual files.

Queues are session-only. They exist only while the browser tab is open. Reloading the page clears all queues. Use Download List before reloading to export the filenames.

📋 Step-by-Step: Using Media Viewer

Step 1

Choose Images, Videos, or Both

On the welcome screen, check the file type boxes: 🖼️ Images and/or 🎬 Videos. Uncheck Videos if you only want to browse photos — this reduces the number of cards loaded and speeds up the initial render.

Step 2

Select a Folder

Click 📂 Select Folder. A native folder picker opens (Chrome / Edge). Or drag and drop a folder directly onto the page. The folder is opened read-only — nothing in it can be modified through this tool.

Step 3

Choose a Layout and Browse

Use the 📊 Grid / 🧱 Masonry buttons above the results to switch layout. In Masonry mode, adjust the Spacing slider (0–20px). Check Hide file info to show only the media for an immersive look.

Step 4

Play Videos and Auto-Scroll

Hover over any video card to play it in-place. Click ▶️ Play All to launch every video at once. Enable ⬇️ Auto-scroll and pick a comfortable speed — then sit back and let the gallery scroll by automatically.

Step 5

Preview Full-Size

Click the 🔍 or ▶️ icon on any card to open a full-size modal. Images scale to fit the screen. Videos open with native controls including fullscreen. Click outside or press Escape to close.

Step 6

Compare Files Side-by-Side

Ctrl+Click (Cmd+Click on Mac) any 2 or more cards to add them to the compare list (purple border). Then click ⚖️ Compare in the toolbar. A modal shows each file side-by-side with dimensions, size, type, and path.

Step 7

Create a Custom Queue

Select the files you want to group, click 📂 Add to Queue, give the collection a name, and click Create. The new tab appears in the sidebar. You can add more files to it at any time during the session.

🏛️ Quick Reference — All Controls

🏛️ Quick Reference — All Controls
Button / ActionWhat it does
🔄 Select New FolderReload the page and pick a new folder to view
📋 Copy Names (N)Copy selected filenames to clipboard. N = count of selected files.
📂 Add to Queue (N)Add selected files to an existing or new named queue
✕ Deselect AllRemove selection from all cards
⚖️ Compare (N)Open side-by-side compare modal. Requires 2+ Ctrl+Clicked files.
▶️ Play AllStart all visible video elements simultaneously
⏸️ Pause AllPause all video elements (appears when Play All is active)
🔇 VideosMute / unmute all video elements on the page
📊 Grid buttonSwitch to uniform grid layout with fixed-height thumbnails
🧱 Masonry buttonSwitch to aspect-ratio-aware masonry layout
Spacing sliderAdjust column gap in masonry mode (0–20px)
Hide file info checkboxHide filename, path, and metadata; show only the media
⬇️ Auto-scrollStart smooth continuous downward scrolling
Speed sliderAuto-scroll velocity (1 = slowest, 10 = fastest)
Click cardSelect / deselect the file (blue border)
Ctrl + Click cardAdd / remove from compare list (purple border)
Click & drag (empty area)Box-select multiple cards at once
Ctrl + dragAdd to existing selection with box select
Hover video cardAuto-play the video clip. Pauses on mouse leave.
🔍 / ▶️ icon on cardOpen full-size modal preview with native controls
Right-click cardContext menu: Copy Name / Preview / Add to Compare / Add to Queue
Ctrl+ASelect all files in the current view
EscapeDeselect all files and stop auto-scroll
📥 Download ListExport a plain-text list of all files with size and dimensions

⭐ What Users Say

Based on 94 reviews

"The masonry + auto-scroll combination is perfect for reviewing large photo collections. Nothing else comes close for in-browser browsing."

"Custom queues are brilliant — I built a 'To Print' collection in minutes without moving a single file."

"Play All videos + auto-scroll and I have a self-running slideshow from my vacation folder. Incredible that it works entirely in a browser tab."

"Hide file info + masonry at 4px spacing gives you a gorgeous clean gallery. Best browser photo viewer I've found."

💡 Tips for Best Results

Masonry + Hide Info = Gallery Mode

Combine masonry layout, spacing at 4–8px, and Hide file info for a clean gallery that fills the page with media edge-to-edge.

Auto-Scroll + Videos = Slideshow

Set speed to 1–2, enable Play All, then start auto-scroll for a self-running video slideshow. Use fullscreen for the best effect.

Use Queues for Curation

Browse the whole folder first, then go back and select the standout shots. Add them to a "Best of" queue for a refined viewing session.

Filter Before Loading

If you only want images, uncheck Videos before selecting the folder. Fewer cards means faster loading, smoother scrolling, and less memory.

Export Queue Contents

When viewing a queue, click Download List to save a text file of the queue's filenames and paths before the session ends.

Compare Before Queueing

If you have two similar shots, Ctrl+Click both, open Compare, then deselect the weaker one before adding to a queue.

⚠️ Known Limitations

Queues are not saved between sessions.

All queues are held in memory for the lifetime of the browser tab. Reloading clears everything. Use Download List to export filenames before reloading.

Memory usage grows with folder size.

Each loaded image or video holds decoded data in browser memory. For folders with thousands of high-resolution images, RAM usage can become significant. Scan specific subfolders rather than entire photo drives.

Masonry layout shifts as images load.

Because aspect ratios are only known after each image decodes on scroll, the masonry layout may reflow slightly. This is normal behaviour with CSS column masonry.

Full functionality requires Chrome or Edge.

The File System Access API is only available in Chrome 86+ and Edge 86+. Firefox and Safari can use the fallback file input, but folder drag-and-drop may not work fully.

Play All may be blocked for many videos.

Browsers limit simultaneous media playback. If the folder contains a large number of videos, some may not start due to browser resource limits.

Images and videos only — no audio, documents, or archives.

Media Viewer is purpose-built for visual media. For audio files, use the dedicated Duplicate Audio tools. For all file types, Bulk Delete and Bulk Move support every extension.

🔒 Privacy & Security

Opened in read-only mode. The File System Access API call uses mode: "read". The browser enforces this at the OS level — write operations are not possible through this permission grant.
Zero network activity after page load. All images and videos are decoded locally from the files on your disk. No data leaves your device at any point during browsing, queuing, or auto-scroll.
Folder access is scoped and session-only. Permission covers only the folder you selected, lasts only while the tab is open, and is revocable from browser site settings at any time.
No preferences are persisted. Media Viewer saves nothing to localStorage or any storage API. Every session starts fresh with default settings.

❓ Frequently Asked Questions

Can this tool delete, move, or rename my files?
No. Media Viewer opens folders with mode: "read" — a read-only permission that the browser enforces at the OS level. No write operation of any kind is possible through this tool. For file operations, use the dedicated Bulk Delete, Bulk Move, or Bulk Rename tools.
My images look cropped in grid mode. Can I see them uncropped?
Yes — switch to Masonry layout. In grid mode, images are cropped to a fixed height using object-fit: cover so all cards are uniform. Masonry mode preserves natural proportions and shows the full image. You can also click the 🔍 icon to see any image at full size in a modal.
Auto-scroll stops and starts on its own. Is that a bug?
No — that's the manual-scroll detection working as designed. When wheel or trackpad input is detected, auto-scroll pauses for 1 second to let you look at something, then resumes automatically. To stop auto-scroll permanently, click ⏸️ Stop scroll or press Escape.
Some videos won't play even after clicking Play All.
Browsers impose limits on the number of simultaneously active media elements. If you have dozens of visible videos, some may be blocked by the browser's resource manager. Try scrolling so fewer video cards are visible when you click Play All, or hover individual video cards to play them one at a time.
My queues disappeared when I reloaded. How do I save them?
Queues are session-only — they live in memory and are cleared on reload. To preserve a queue's contents, switch to that queue tab and click 📥 Download List before reloading. This exports a text file with all filenames and paths.
Can I add the same file to multiple queues?
Yes. Select a file and add it to one queue, then select it again and add it to another. Files can appear in as many queues as you like. The badge on the main grid card reflects only the first queue the file belongs to.
The masonry layout looks uneven. Why?
CSS column masonry fills top-to-bottom within each column based on the order files were read. Uneven column heights are normal and improve as more images load. If evenness is important, use grid mode instead.
How do I watch a video in fullscreen?
Click the ▶️ icon on any video card to open the modal player with native browser controls. From there, use the fullscreen button in the player's control bar (bottom-right). On desktop you can also press F while the video is focused.