Interactive terminal UI for .http files.

httptui is a fast, keyboard-driven REST client that lives in your terminal. It parses .http and .rest files, allowing you to browse and execute requests without leaving your workflow.
- Multi-Format Support: Parse
.http, .rest, Postman collections, and OpenAPI specs (JSON/YAML).
- Keyboard-Driven TUI: Vim keys, split-panel layout, details panel (
d), fullscreen (f), help overlay (?).
- Environment Management: Load environment files, register named environments, switch at runtime (
E).
- mTLS & Client Certificates: Per-host client certificates (PEM/PFX) with wildcard matching.
- Export as .http: Save requests to
.http format with variables preserved (S).

- Node.js 24 or newer. httptui declares
engines.node: ">=24"; installing on older Node versions will trigger an EBADENGINE warning from npm and is not supported.
Or
# npm config get prefix
# npm config set prefix "$HOME/.local"
# npm config delete prefix
cd <project-folder>
npm install
npm run build
npm link
# npm unlink httptui
httptui path/to/api.http
httptui postman-collection.json
httptui openapi.yaml
httptui openapi.json
You can also open a different .http file from within the running TUI by pressing o and typing the file path. This is useful when working across multiple API definition files without restarting httptui.
| Flag |
Description |
--insecure, -k |
Skip TLS certificate verification |
--env, -e |
Load an environment file (Postman or simplified format) |
--env-name, -E |
Select an environment by name from the config file |
# Skip TLS certificate verification
httptui --insecure path/to/api.http
httptui -k path/to/api.http
# Load an environment file by path
httptui collection.json --env dev.postman_environment.json
httptui api.http -e staging.json
# Select an environment by name from config
httptui api.http --env-name Development
httptui api.http -E Staging
| Key |
Action |
↑ / k |
Previous request / Scroll up |
↓ / j |
Next request / Scroll down |
← / h |
Scroll focused panel left |
→ / l |
Scroll focused panel right |
g |
Jump to top of focused panel |
G |
Jump to bottom of focused panel |
0 |
Jump to horizontal start |
$ |
Jump to horizontal end |
Tab |
Switch focus between panels |
| Key |
Action |
Enter |
Send selected request |
R |
Reload file from disk |
o |
Open a different .http file |
E |
Switch environment |
S |
Save as .http file |
| Key |
Action |
v |
Toggle verbose mode (show/hide headers) |
r |
Toggle raw mode (no JSON formatting) |
w |
Toggle text wrapping |
d |
Toggle request details panel |
f |
Toggle fullscreen |
| Key |
Action |
/ |
Search response body |
n |
Go to next match |
N |
Go to previous match |
| Key |
Action |
? |
Toggle help overlay |
Escape |
Close current overlay / Exit fullscreen |
q |
Quit application |
- TypeScript: Type-safe development.
- Ink: React-based framework for building interactive CLIs.
- React: Component-based UI architecture.
- undici: Modern, high-performance HTTP client for Node.js.