TL;DR — Quick Summary

miniserve is a tiny, self-contained HTTP server. Serve any directory over HTTP instantly — with uploads, directory listing, auth, and QR codes — all from one command.

miniserve turns any directory into a web server instantly. One command, no config, beautiful listing.

Installation

# macOS
brew install miniserve

# Arch Linux
sudo pacman -S miniserve

# Cargo
cargo install miniserve

Usage

# Serve current directory
miniserve .
miniserve /path/to/files

# Custom port
miniserve -p 3000 .

# Enable uploads
miniserve --upload-files .
miniserve -u .              # Short flag

# QR code for mobile
miniserve --qrcode .

# Authentication
miniserve --auth user:password .

# Serve a single file
miniserve document.pdf

# Directory listing options
miniserve --title "My Files" .
miniserve --color-scheme monokai .
miniserve --hide-theme-selector .

# HTTPS
miniserve --tls-cert cert.pem --tls-key key.pem .

# Bind to all interfaces (LAN access)
miniserve -i 0.0.0.0 .

# Compress files on the fly
miniserve --compress-response .

# Hide hidden files
miniserve --hidden .

Comparison

Feature miniserve python http.server http-server (Node) darkhttpd
Uploads Yes No No No
Auth Yes No No No
HTTPS Yes No Yes No
QR code Yes No No No
Themes Yes No No No
Speed Fast Slow Medium Fast

Summary

  • miniserve serves files via HTTP with zero configuration
  • File uploads, authentication, HTTPS, QR codes out of the box
  • Beautiful directory listing with theme support
  • Single binary, no dependencies — perfect for quick file sharing
  • Bind to 0.0.0.0 for LAN access, compress responses on the fly