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

Featureminiservepython http.serverhttp-server (Node)darkhttpd
UploadsYesNoNoNo
AuthYesNoNoNo
HTTPSYesNoYesNo
QR codeYesNoNoNo
ThemesYesNoNoNo
SpeedFastSlowMediumFast

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