Volt is a keyboard-driven HTTP client that lives in your terminal. Built as a project with Go and the Bubble Tea TUI framework, and high-performance HTTP client design.
Perfect for developers who:
- Live in the terminal and hate context switching
- Want Postman's features without the Electron bloat
- Love Vim keybindings and keyboard-driven workflows
- Need a fast, scriptable HTTP client with a beautiful UI
Note: This is an active learning project. Performance optimizations are ongoing, and contributions/feedback are welcome :)
| Postman | Insomnia | HTTPie | curl | Volt | |
|---|---|---|---|---|---|
| Terminal-native | ❌ | ❌ | ✅ | ✅ | ✅ |
| Interactive TUI | ❌ | ❌ | ❌ | ❌ | ✅ |
| Vim keybindings | ❌ | ❌ | ❌ | ❌ | ✅ |
| Syntax highlighting | ✅ | ✅ | ✅ | ❌ | ✅ |
| Save collections | ✅ | ✅ | ❌ | ❌ | ✅ |
| Zero install | ❌ | ❌ | ❌ | ✅ | ✅ |
| Memory footprint | ~500MB | ~300MB | ~50MB | <5MB | ~15MB |
| Startup time | ~3s | ~2s | <1s | instant | instant |
Testing against a zero-latency local endpoint to measure engine overhead:
| Concurrency | Requests/Sec |
|---|---|
| 10 | 141,533 |
| 50 | 208,035 |
| 100 | 213,885 |
| 500 | 92,891 |
Prerequisites: Go 1.25 or higher
-
Download the source code from the releases page
- Download either the
.tar.gzor.zipsource code archive
- Download either the
-
Extract the archive
# For .tar.gz tar -xzf volt-v0.1.0.tar.gz cd volt-0.1.0 # For .zip unzip volt-v0.1.0.zip cd volt-0.1.0
-
Build and install
# Build and install system-wide to /usr/local/bin make install # Or just build locally without installing make build ./volt
If you want to contribute or build from the latest source:
# Clone the repository
git clone https://github.com/owenHochwald/volt.git
cd volt
# Build and install (makes 'volt' available system-wide)
make install
# Or just build locally
make build
./voltgo install github.com/owenHochwald/volt/cmd/volt@latestOnce installed, simply run:
voltVolt also includes a powerful little HTTP load testing tool for direct access, accessible via the bench subcommand.
volt bench [flags]# Basic throughput test
volt bench -url http://localhost:8080 -c 100 -d 30s
# POST request with custom headers
volt bench -url http://localhost:8080/api -m POST \
-b '{"test":true}' -H "Content-Type: application/json"
# JSON output to file for CI/CD
volt bench -url http://localhost:8080 -c 50 -d 60s -json -o results.json
# Rate-limited testing
volt bench -url http://localhost:8080 -c 10 -d 30s -rate 1000
# For help!
volt bench -hThis project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.
If you find Volt useful, please consider giving it a star ⭐ on GitHub!