A blazingly fast, terminal-native HTTP client and load tester with Vim keybindings
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 |
Volt is distributed as a single binary with no dependencies. The fastest way to install is using Go's built-in package manager.
If you have Go installed, you can install Volt with a single command:
go install github.com/owenHochwald/Volt/cmd/volt@latest # install
volt # run and verifyYou should see the Volt TUI interface launch. Press q to quit.
Updating Volt:
To update to the latest version, simply run the install command again.
Troubleshooting:
If you get a "command not found" error, ensure $GOPATH/bin is in your PATH:
# Add to your ~/.bashrc, ~/.zshrc, or equivalent
export PATH="$PATH:$(go env GOPATH)/bin"Once installed, launch Volt's interactive interface:
voltBasic usage:
- Type a URL and press
alt+Enterto make a request - Press
?to see all keybindings - Press
qto quit
Volt 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!