Skip to main content

Web-based file browser and viewer with support for images, video, audio, archives, tabular data, MIDI, hex, and more

Project description

fileviewer

A web-based file browser and viewer with a modern UI. Browse local directories, view files of many formats, and optionally manage files — all from your browser.

All written by Claude

Features

File browsing

  • Multi-root — expose one or more directories with custom display names
  • Two view modes — masonry waterfall grid and detailed list view
  • Directory tree sidebar for quick navigation
  • Sorting — by name, size, modified date, or type (ascending/descending); affects all views including the directory tree
  • Regex filter — filter the current directory by filename pattern
  • Rubber-band selection — drag to select multiple files; also Shift+click and Ctrl+click

File viewers

  • Text — syntax highlighting for 50+ languages via CodeMirror; inline editing with Ctrl+S save in write mode
  • Images — thumbnail grid, full-resolution pan/zoom viewer, side-by-side comparison slider; image editor with layer management, 15 drawing/selection tools (Move, Brush, Eraser, Crop, Fill, Gradient, Text, Shape, Lasso, Magic Wand, Blur, Smudge, and more), adjustments (Brightness/Contrast, Curves, Levels, Hue/Saturation, Color Balance, Exposure/Vibrance, Shadows/Highlights), WebGL-accelerated filters (Gaussian Blur, Sharpen, Noise, Vignette, Pixelate, Sepia, Emboss, Chromatic Aberration, and more), undo/redo history, export with format/quality control; PSD files open with full layer support
  • Tabular data — Parquet, CSV, JSON, JSONL powered by Polars with SQL WHERE filter, sorting, schema browser, image column preview, and inline image editing
  • Archives — browse zip, tar, tar.gz, tar.bz2, tar.xz, 7z; random-access preview (zip/7z); extract here or to subfolder; create archives with compression level and password
  • MIDI — playback with Web Audio synthesis, oscilloscope visualization, gain control, loop mode, and download
  • Video & audio — HTTP range streaming
  • Markdown — rendered preview with source toggle
  • Hex dump — paged hex viewer for binary files

File management (write mode)

  • Create, rename, delete files and directories
  • Upload via drag & drop onto the file area or file picker
  • Copy/move with conflict resolution: overwrite, skip, or keep both
  • Cut/copy/paste with clipboard indicator
  • Compress files and directories into archives
  • Copy images directly to the system clipboard
  • Real-time progress for bulk operations via Server-Sent Events

Keyboard shortcuts

Shortcut Action
Ctrl+A Select all visible files
Ctrl+C Copy selected files
Ctrl+X Cut selected files
Ctrl+V Paste clipboard
Delete Delete selected files
F5 Refresh
←/→ Navigate to prev/next image (in image viewer)

Other

  • Bookmarks — save favorite directories for quick sidebar access (persisted in localStorage)
  • Authentication — optional username/password login with HttpOnly session cookies
  • Internationalization — English, Simplified Chinese, Traditional Chinese, Japanese
  • Theme — light/dark mode and customizable accent color

Installation

pip install fileviewer

Quick Start

# Browse the current directory
fileviewer

# Browse a specific directory
fileviewer /path/to/dir

# Browse multiple directories with display names
fileviewer /data /projects --name Data Projects

# Enable write mode
fileviewer /path/to/dir --write

# Require login
fileviewer /path/to/dir --user admin --password secret

# Custom host and port
fileviewer /path/to/dir --host 0.0.0.0 --port 9000

# Don't auto-open browser
fileviewer /path/to/dir --no-browser

CLI Options

Option Default Description
paths . One or more root directories to browse
--name NAME [NAME ...] directory name Display names for root directories (one per path, in order)
--host HOST 127.0.0.1 Host to bind to
--port PORT 8001 Port to listen on
--write off Enable file write operations
--user USER Username for authentication
--password PASS Password for authentication
--no-browser off Do not open browser on startup

Tech Stack

Backend: Python 3.10+, FastAPI, Uvicorn, Polars, Pillow, py7zr

Frontend: Vue 3, Vuetify 3, CodeMirror 6, Vite

Development

# Backend (runs on port 8001)
pip install -e .
fileviewer . --port 8001 --write

# Frontend (runs on port 5173, proxies /api to backend)
pnpm install
pnpm dev

Build for production:

pnpm build      # outputs to static/
pip install .

Security Notes

  • All paths are validated against the configured root directories — no directory traversal is possible.
  • Write operations are disabled by default.
  • Auth tokens are stored in HttpOnly, SameSite cookies.

License

See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fileviewer-2.0.1-py3-none-any.whl (8.1 MB view details)

Uploaded Python 3

File details

Details for the file fileviewer-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: fileviewer-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for fileviewer-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c44e3905b07a2eff136a3d7e9a83fb0aa70b1b05c0570761c1bc4d899bdfbf74
MD5 c361a43dfd4f7ac71e865e3a4299727c
BLAKE2b-256 4ef923a8f6f6d130daaa8e6450c02995b9dfd04021318c6c7b400fbe00a18249

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page