Skip to content

JastinXyz/s3-explorer

Repository files navigation

S3 Explorer

S3 Explorer

A modern, open-source file manager for S3-compatible storage.

Browse, upload, download, and manage your files from any browser. Credentials never leave your machine.

License: MIT Next.js TypeScript PRs Welcome

Live Demo · Getting Started · Features · Self-Hosting · Contributing


Note

S3 Explorer is under active development. Some features may change. Contributions and feedback are welcome!

S3 Explorer welcome screen

Features

File Management

  • Browse folders with virtualized table
  • Streaming upload (any file size, no memory limit)
  • Background uploads — navigate while uploading
  • Download via presigned URLs (direct from S3)
  • Bulk download as ZIP
  • Move across buckets, copy, rename, delete
  • Drag & drop upload and rearrange
  • Conflict handling (overwrite / skip / rename)

UI / UX

  • Command palette (Cmd+K)
  • Keyboard shortcuts for everything
  • Dark mode
  • File type icons (images, video, code, etc.)
  • Editable path bar (click breadcrumb to edit)
  • Persistent transfer tray for uploads
  • Server-side prefix search for large buckets

S3 Features

  • CORS and bucket policy editor
  • Object versioning (list, restore, delete)
  • Tags, ACL, and storage class management
  • EXIF metadata for images
  • Presigned share links with configurable expiry
  • Bookmarks per connection

Security & Architecture

  • Credentials in browser localStorage only
  • Stateless backend — nothing stored on server
  • Per-request S3 client, destroyed after use
  • Human-friendly error messages
  • Multi-connection support
  • Works over HTTPS end-to-end

Supported Providers

Works with any S3-compatible storage:

Provider Status
Amazon S3 Fully supported
DigitalOcean Spaces Fully supported
Cloudflare R2 Supported (ACL not available)
MinIO Fully supported
Backblaze B2 Fully supported
Wasabi Fully supported
Supabase Storage Supported
Any S3-compatible endpoint Should work

Getting Started

Prerequisites

Installation

# Clone the repository
git clone https://github.com/JastinXyz/s3-explorer.git
cd s3-explorer

# Install dependencies
pnpm install

# Start the dev server
pnpm dev

Open http://localhost:3000 and add your first S3 connection.

Production Build

pnpm build
pnpm start

Tech Stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript 5
UI React 19, Tailwind CSS v4, shadcn/ui
State Zustand, TanStack Query
Virtualization TanStack Virtual
S3 SDK AWS SDK v3, @aws-sdk/lib-storage
Validation Zod

Self-Hosting

S3 Explorer is a standard Next.js application. Deploy anywhere that runs Node.js:

pnpm build
pnpm start

Deploy with Vercel

Also works on Railway, Fly.io, Render, or any Node.js host.

Privacy: Your S3 credentials are stored in the browser's localStorage and sent per-request over HTTPS. The server never persists, logs, or transmits credentials to any third party.

Keyboard Shortcuts

Shortcut Action
Cmd+K Command palette
j / k or Arrow keys Navigate rows
Enter Open folder / preview file
Space Toggle selection
Cmd+A Select all visible
Cmd+X / Cmd+C / Cmd+V Cut / Copy / Paste
Backspace Go to parent folder
F2 Rename focused file
/ Focus search filter
r Refresh
n New folder
u Upload files

Contributing

Contributions are welcome! Whether it's a bug report, feature request, or pull request — all feedback helps.

See CONTRIBUTING.md for setup instructions, project structure, conventions, and PR guidelines.

License

This project is licensed under the MIT License.


If you find S3 Explorer useful, consider giving it a star!

Star on GitHub

About

A modern, open-source web file manager for S3-compatible storage. Browse, upload, and manage files with zero server-side credential storage.

Topics

Resources

License

Contributing

Stars

Watchers

Forks