Brows3 S3 Browser Logo
Brows3
GitHub
v0.2.46 | FREE & OPEN SOURCE S3 BROWSER
Brows3 - Free S3 Browser

Brows3

Open-Source S3 Browser & Desktop Client

Free S3 Browser
Windows
macOS
Linux

Browse and manage Amazon S3, MinIO, Wasabi, Cloudflare R2, DigitalOcean Spaces, and other S3-compatible storage from a focused Rust and Tauri desktop app. Search bounded prefixes, preview and edit objects, use AWS SSO profiles, and transfer large files on macOS, Windows, and Linux.

GitHub

S3 Browser Overview

A focused desktop client for Amazon S3 and S3-compatible object storage

Browse S3 Without the Console

Brows3 turns S3 prefixes and objects into a familiar desktop file-browser workflow. It supports Amazon S3, MinIO, Garage, Cloudflare R2, Wasabi, DigitalOcean Spaces, Backblaze B2, STACKIT Object Storage, and custom S3-compatible endpoints. Direct s3:// paths also work for restricted accounts without broad bucket-list permission.


Start with one bucket and one task

Install the build for your system, connect an AWS profile or an S3-compatible endpoint, and open the bucket or prefix you need. Browse a small folder first, preview a file, then try an upload or download. Read-only credentials are enough when you only need to inspect data; you do not need to make your bucket public.

Use Brows3 for hands-on object management. Keep scheduled backups and repeatable bulk jobs in your automation tools. Storage requests and transfers can still incur provider charges even though the application is free.

Read the S3 setup, installation and troubleshooting FAQ

What's New in v0.2.46

Published September 21, 2026

Brows3 0.2.46 release notes

Added
  • Image viewer with zoom, pan, previous/next navigation, keyboard controls, and compact rounded controls. Thanks to @antonp2k for the contribution in PR #36.
  • Live upload and download speeds, including combined rates in the floating transfer panel. (#35)
  • Self-contained crates.io source packaging and dedicated cargo-binstall binaries for macOS Intel/Apple Silicon, Linux x86_64/ARM64, and Windows x64. Cargo-managed builds use Cargo for updates. (#37)
  • Experimental Intel/AMD 32-bit Linux Debian installer (i386, targeting i686). Verified in CI with 90 backend tests and an installed-app startup check. Real-device testing is still outstanding; WebKitGTK 4.1 is required and in-app updates are disabled for this build.
Fixed
  • Show confirmation before cancelling transfers, keep transfer tables within the viewport, and put filenames before status.
  • Show only active transfer directions in the floating panel, remove the redundant badge, and improve upload/download activity indicators.
  • Harden S3 operations, transfer retries and cancellation, credential persistence, cache invalidation, and partial-failure handling.
Changed
  • Clarify that amd64, x86_64, and x64 Linux downloads work on both Intel and AMD 64-bit systems. A 32-bit system needs the separate i386 installer.
  • Validate source packaging, binary installation, and startup on all five Cargo release targets before publication.

View v0.2.46 on GitHub


Predictable Behavior at Scale

  • Prefix-Aware Pagination

    Normal folder views use S3 prefixes, delimiters, and continuation tokens instead of pre-indexing an entire bucket.

  • Bounded Deep Search

    Each recursive search is capped at 100 LIST requests, 100,000 scanned objects, and 10,000 matches.

  • Accurate Bounded Sorting

    Non-default sorting orders the complete selected prefix before pagination, capped at 100 LIST requests or 100,000 entries.

  • Targeted Caches

    Bucket discovery uses a 30-minute per-profile cache, while bounded sorted views are reused for the current session and invalidated after writes or refreshes.


Desktop Architecture

Rust Core

Handles S3 networking, credentials, bounded search and previews, caching, and multipart transfers.

React + Tauri UI

Provides a native desktop shell with virtualized object listings and paginated IPC between the UI and backend.

App Screenshots

Browse the Brows3 desktop interface across setup, bucket navigation, transfers, and settings.

Start

Profile-first startup screen for connecting S3-compatible storage.

1 / 12

Download S3 Browser - Free

Get Brows3 v0.2.46 for Windows, macOS, or Linux. Downloads below come from the published GitHub release. Updater archives and signatures are available on its release page.

Linux downloads named amd64, x86_64, or x64 work on both Intel and AMD 64-bit systems. They are not AMD-only. A 32-bit system needs a separate x86 (i386/i686) build; it cannot run the 64-bit download. Only available builds are listed below.

The Linux 32-bit Debian package is experimental and targets i686 systems. It requires WebKitGTK 4.1 and manual updates. Real-device testing remains limited; there is no 32-bit Windows installer or Cargo prebuilt binary. Read the 32-bit compatibility notes before installing.

PlatformArchitectureTypeAction

macOS

Apple Silicon (ARM64)

Apple Silicon (ARM64)

DMGDownloadGet

macOS

Intel (x64)

Intel (x64)

DMGDownloadGet

Windows

x64

x64

EXEDownloadGet

Windows

x64

x64

MSIDownloadGet

Windows

x64

x64

Portable ZIPDownloadGet

Linux

ARM64

ARM64

AppImageDownloadGet

Linux

ARM64

ARM64

DEBDownloadGet

Linux

ExperimentalIntel / AMD 32-bit (x86)

Intel / AMD 32-bit (x86)

DEBDownloadGet

Linux

Intel / AMD 64-bit (x86_64)

Intel / AMD 64-bit (x86_64)

AppImageDownloadGet

Linux

Intel / AMD 64-bit (x86_64)

Intel / AMD 64-bit (x86_64)

DEBDownloadGet

Install with Cargo

Brows3 is available on crates.io. Build from source with Rust and your platform's native build dependencies. The web interface is included, so Node.js is not required.

cargo install brows3 --locked
brows3

Already have cargo-binstall? Download a prebuilt executable instead:

cargo binstall brows3

Prebuilt Cargo targets: macOS Apple Silicon and Intel, Linux ARM64 and x86_64 (glibc), and Windows x64. Linux requires GTK 3, WebKitGTK 4.1 and a graphical desktop; Windows requires WebView2. Cargo installs an executable, not an app bundle or desktop shortcut. Update it through Cargo, not the built-in updater. See Cargo prerequisites and usage.

Install with Windows Package Manager

The published package identity is Brows3Team.Brows3. Microsoft's catalog can briefly lag behind a new GitHub release while its validation and indexing complete.

winget install --exact --id Brows3Team.Brows3

View the public Winget package | View the v0.2.46 release manifest

System requirements

  • macOS 10.15 or later
  • Windows 10 or later
  • Linux with GTK 3.24 or later and WebKitGTK 4.1
macOS may require manual approval for apps downloaded outside the App Store. Check the release notes for signing and notarization details for the version you download.

View release notes, updater signatures, and every published asset on GitHub Releases

S3 Browser Features

Current capabilities and operating boundaries in Brows3 v0.2.46

Bucket, Object and Transfer Management

  • Bucket Management

    Create buckets, edit JSON bucket policies and delete empty buckets from All Buckets. Deletion requires the bucket name, and switching profiles dismisses pending actions.

  • Bucket and Folder Favorites

    Save bucket roots and folders for quick access. Favorites and pending object operations stay associated with their original profile.

  • Prefix and Breadcrumb Navigation

    Browse delimiter-based S3 folders, open direct s3:// paths, and move quickly through known prefixes.

  • Bulk and Recursive Operations

    Upload, download, copy, move, and delete files or folders with queue progress and cancellation controls.

  • Large Multipart Uploads

    Use adaptive multipart transfers from 100 MiB upward with bounded memory, retryable parts, progress reporting, and cleanup after cancellation or failure.

  • Content-Type Control

    Infer MIME types from object names and edit a validated free-form Content-Type without discarding supported metadata, tags, headers, security fields, or ACL grants.

  • Object Permissions

    Read and update object ACL grants and apply canned ACLs recursively where the provider and bucket support ACLs.

  • Presigned URL Sharing

    Generate temporary object links with a configurable expiry from the bucket view.


Previews and Editing

  • Built-in Monaco Editor

    Edit text, JSON, YAML, and code objects directly in S3. Saves detect concurrent edits and preserve existing object attributes.

  • Configurable Bounded Text Previews

    Choose a persisted text preview limit from 1 to 100 MB (2 MB by default). The Rust backend streams and enforces the exact bound.

  • Streamed Media Previews

    Preview images, audio, video, and PDFs through presigned URLs without loading the full object into the text-preview memory allowance.


Profiles and Credentials

  • Manual, Shared, SSO, and Custom Endpoint Profiles

    Connect with access keys, system AWS profiles, IAM Identity Center sessions, or S3-compatible endpoint credentials.

  • AWS IAM Identity Center Sign-In

    Recognize SSO profiles, resolve cached SDK credentials, and launch an exact-profile AWS CLI v2 sign-in when a session expires.

  • Native Credential Storage

    Use macOS Keychain, Windows Credential Manager, or Linux Secret Service. Portable mode and keychain failures use the documented local secrets.json fallback.

  • Profile-Isolated Transfer Queues

    Every queued transfer retains the profile that created it, so switching accounts cannot change the credentials used by an existing job.

  • S3-Compatible Endpoint Routing

    Custom endpoints and shared profiles with endpoint_url use path-style addressing and compatibility checksum behavior.


Performance with Explicit Limits

  • Prefix-Aware Pagination

    Normal folder listings use S3 prefixes, delimiters, and continuation tokens rather than a full-bucket background index.

  • Bounded Deep Search

    Scan up to 100,000 objects with at most 100 LIST requests and return at most 10,000 matches per search.

  • Complete-Prefix Sorting

    Order non-default views before pagination, capped at 100 LIST requests or 100,000 entries.

  • Targeted Bounded Caching

    Cache bucket discovery for 30 minutes per profile and reuse bounded sorted views during the session, with invalidation after writes and refreshes.

  • Virtualized Object Table

    Render only the visible rows so large loaded listings remain responsive.


Reliability and Updates

  • Readable Backend Errors

    Command failures cross the Tauri boundary as human-readable messages instead of JavaScript object placeholders.

  • Safe Recursive Downloads

    Reject traversal, absolute, rooted, drive-prefixed, and null-containing object-key paths before writing locally.

  • Signed Update Metadata

    Check for updater-signed desktop releases and review available versions from Settings or startup.

  • System Monitor

    Inspect request success and failure counts plus application logs when diagnosing provider behavior.

Limits and Caching

The active data paths and safety limits in Brows3 v0.2.46

AreaBehaviorBoundary
Folder browsingS3 prefix and delimiter listing with continuation-token paginationLoads the selected prefix. No background full-bucket index
Current-folder filterFilters the folder results already loaded in the UIDoes not issue a recursive bucket scan
Deep searchRecursively lists the selected bucket or prefix100 LIST requests, 100,000 scanned objects, 10,000 matches
Non-default sortingOrders the complete selected prefix before pagination100 LIST requests or 100,000 entries
CachingCaches bucket discovery and bounded complete-prefix sorted views30-minute bucket TTL. The sorted-view session cache is capped and invalidated after writes
Text previewStreams text through the Rust backend before returning it to the WebViewUser-configurable limit from 1 to 100 MB, enforced even without reliable object metadata
Large uploadsUses adaptive S3 multipart upload from 100 MiB upwardOne part in memory, up to the S3 10,000-part limit, with abort cleanup

S3 LIST requests can incur provider charges. The limits above bound a single deep search or complete-prefix sort. Normal folder browsing remains paginated.

Architecture

How Brows3 keeps S3 work responsive and bounded

Brows3 does not pre-index a complete bucket. It combines prefix-aware S3 requests, explicit scan limits, targeted caches, and a virtualized desktop UI.

  • 1. Rust Core

    Owns S3 networking, credential resolution, bounded search and previews, multipart transfers, local path validation, and write-side cache invalidation.

  • 2. Prefix-Aware S3 Pagination

    Lists the selected folder with prefixes, delimiters, and continuation tokens. Recursive search and non-default sorting have request and object caps.

  • 3. Targeted Caches

    Caches per-profile bucket discovery for 30 minutes and bounded complete-prefix sorted views for the current session. It never creates an unbounded full-bucket tree.

  • 4. Paginated IPC and Virtualized React UI

    Moves structured pages between Rust and the WebView while rendering only visible table rows to avoid blocking the interface.

  • 5. Native Tauri Shell

    Packages the same desktop experience for macOS, Windows, and Linux while using each platform's native credential service when available.

Build Guide

Build from source for your platform

Prerequisites (All Platforms)
  • Node.js v22+ and pnpm

    The release repository currently declares pnpm 11.2.2

  • Rust 1.97.1

    Matches the toolchain used by the release validation workflow


Windows Setup

1. Install Rust

Download and run the installer from rustup.rs or run in PowerShell:

winget install Rustlang.Rustup

2. Restart your terminal

Restart your terminal to refresh the PATH

3. Select and verify the release toolchain

rustup toolchain install 1.97.1
rustup default 1.97.1
cargo --version
rustc --version

4. Clone and run

git clone https://github.com/rgcsekaraa/brows3.git
cd brows3
pnpm install --frozen-lockfile
pnpm tauri dev

macOS Setup

1. Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup toolchain install 1.97.1
rustup default 1.97.1

2. Install Xcode Command Line Tools

xcode-select --install

3. Clone and run

git clone https://github.com/rgcsekaraa/brows3.git
cd brows3
pnpm install --frozen-lockfile
pnpm tauri dev

Linux Setup

1. Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup toolchain install 1.97.1
rustup default 1.97.1

2. Install system dependencies (Debian/Ubuntu)

sudo apt update
sudo apt install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

3. Clone and run

git clone https://github.com/rgcsekaraa/brows3.git
cd brows3
pnpm install --frozen-lockfile
pnpm tauri dev

Release Build (All Platforms)
pnpm tauri build

Contributing

Join the open source community

We welcome contributions from the community! Whether you are a Rustacean, a React developer, or a technical writer, your help is appreciated.


Maintainers
  • rgcsekaraa
  • thamothara7

How to Contribute
  • 1. Check the Issues

    Look for "good first issue" labels on GitHub

  • 2. Standard Workflow

    Fork → Branch → Commit → Pull Request

  • 3. Code Quality

    Ensure Rust code is formatted with cargo fmt and TS code with pnpm lint

View Contributing Guide

Feature Request

Help us improve Brows3 by sharing your ideas

​
Your Name *
​
Email Address *
​
​
Feature Category *
​
Feature Title *
​
Detailed Description *

Your request will be reviewed by our development team. We may reach out to your email for additional details.

Brows3 v0.2.46 | Free and open source | Open Source on GitHub | Setup FAQ