$ peekd ~/Downloads -addr :9000
A folder becomes a website.
peekd is a single Go binary that turns any local directory into a fast, browsable HTTP server — with real previews for Markdown, code, images, and more. No config, no dependencies.
Built for looking, not just listing
Every directory is a preview surface — point peekd at it and browse it like a real page.
Rich previews
Markdown (with Mermaid diagrams), HTML, XML, code, CSV/TSV, images, audio, video, PDF, and ZIP/TAR listings — rendered in the browser, not just linked.
Fast, resumable transfers
Direct file serving with HTTP range and sendfile support. Interrupted downloads pick up where they left off with curl -C -.
One binary, zero setup
A single lightweight executable with automatic dark mode and optional HTTP basic authentication. Nothing to install alongside it.
Every flag
The whole surface area of peekd, in the same form you'll actually use it.
-addr :9000Change the bind address (auto-tries the next port if occupied)-max-preview-size 8MCap the size of Markdown and text previews (accepts 4M, 512K, 4MiB, or raw bytes)-versionPrint version informationInstall
Two ways to get it — a install script, or straight from Go.
Usage
A few real sessions, plus what you can do once a directory is open in the browser.
Query string, appended to any directory or file URL
?download=zipDownload any directory as a ZIP archive, generated on the fly?raw=1Force the original file response instead of a previewOptional authentication, set as environment variables
PEEKD_AUTH_USER / PASSWORDSet both to protect the server with HTTP Basic Authentication — peekd refuses to start if only one is set