S3 Viewer

macOS · Linux · MIT

Look inside your bucket
before you download it.

An S3 browser that renders images, audio, video, PDFs, Markdown, source code, CSV and Parquet tables in place. Ranged reads mean a 4 GB video starts playing immediately, and your access keys never leave the machine in cleartext.

macOS 14.2 or later · Apple Silicon and Intel · about 12 MB · Linux .deb and AppImage in the same release

The S3 Viewer window: eight saved connections in the sidebar, a folder listing with two folders and twelve files, and icon.svg — the app's own Signal logo — previewed in the right-hand panel.

Everything you would otherwise download to check

Most S3 tools show you a file name and a size. This one shows you the file.

Media, without waiting

Images, audio and video stream straight from the bucket — playback starts immediately, and seeking jumps anywhere without a download.

PDFs you can actually read

Zoom, fit to width, jump to a page — a long document opens on the page you need instead of being downloaded first.

Text, highlighted and searchable

Markdown, code, JSON and CSV read like they would in an editor. Press ⌘F and search the text — case, whole word, regex — then step through the hits.

Parquet as a table

See the schema, the columns and the first rows of a columnar file without a notebook or a download.

Large folders stay responsive

A prefix with a hundred thousand objects scrolls like any other. Go back and the rows are already there.

Transfers you can steer

Every upload and download shows progress, can be cancelled and can be retried. An upload that would overwrite asks first — file by file or all at once.

Copy and move without a round trip

Send files, folders or a whole selection to another folder or connection. The copy happens server-side, so nothing passes through your disk.

Keyboard first

Every action has a key: arrows move between connections, list and preview; ⌘L takes an address, ⌘F searches inside the preview, ⌘D downloads. No pointer needed.

Install

  1. Download the disk image and open it.
  2. Drag S3 Viewer into Applications.
  3. Add a connection: the fields mirror a boto3 client one to one, or paste a credentials JSON or a boto3 snippet and let the app fill them in.

Linux releases are a .deb and an AppImage in the same release, and they just run. On every platform the app updates itself: each launch asks GitHub Releases for a newer version and checks the download against a signing key built into the app.

Where your keys live

  • Secret keys are sealed with XChaCha20-Poly1305 before anything is written to disk.
  • The master key lives in the OS keychain, not in a file.
  • The config file is 0600 inside a 0700 directory, written atomically.
  • No telemetry. The only background request is the update check against GitHub Releases; everything else goes to the endpoint you configure.

What it connects to

  • Any S3-compatible endpoint, not just AWS.
  • Signature V4, or legacy V2 where the service needs it.
  • Path-style or virtual-host addressing.
  • Both checksum switches, for services that need the other behaviour.
  • A probe reports what these keys may list, read, write and delete; read-only mode blocks every write in the interface.

Take a look before you download

Free, MIT licensed, and the source is the same code you run.