The simplest way to define an HTTP request
Section titled “The simplest way to define an HTTP request”### Get all usersGET https://api.example.com/usersAccept: application/json
### Create a new userPOST https://api.example.com/usersContent-Type: application/json
{ "name": "Jane Doe", "email": "jane@example.com"}That's it. A plain text file. No SDK, no GUI, no config files. Save it as .http, open it in your editor, and run it.
Why .http files?
Section titled “Why .http files?”- Readable. HTTP requests described in HTTP syntax. No abstraction layer.
- Shareable. Commit them to your repo. Review them in PRs. Run them in CI.
- Portable. Supported by VS Code, JetBrains IDEs, Neovim, Visual Studio, and CLI tools.
- Composable. Variables, environments, response chaining, and scripting — when you need them.
The ecosystem at a glance
Section titled “The ecosystem at a glance”| Feature | VS Code | JetBrains | httpyac | VS 2022 | kulala |
|---|---|---|---|---|---|
| Request line (METHOD URL [HTTP-version]) | |||||
| Method defaults to GET when omitted | |||||
| Multi-line URLs via indentation Continuation lines beginning with whitespace are concatenated to the URL. | |||||
| HTTP/2 version VS Code REST Client does not document HTTP/2 support. | |||||
| HTTP/2 (Prior Knowledge) Direct HTTP/2 without upgrade negotiation. | |||||
| HTTP/3 version Unique to Visual Studio 2022. | |||||
| Request separator (###) | |||||
| Line comments (#) | |||||
| Line comments (//) | |||||
| Block comments (/* */) Unique to httpyac. | |||||
| Text after ### as request title | |||||
| Request headers (Name: Value) | |||||
| Multi-line header values via indentation | |||||
| Spread headers (...variableName) Injects all key-value pairs from an object variable as headers. | |||||
| Request body after blank line | |||||
| URL-encoded form body with & prefixes |
Explore the full compatibility reference for detailed feature-by-feature comparison across all clients.
Get started
Section titled “Get started”Pick your editor and start sending requests in minutes:
VS Code REST Client
IDE ExtensionThe originator of the .http file format (circa 2017). VS Code extension with ~6K GitHub stars. Supports HTTP requests, variables, environments, and response viewing with rich editor integration.
JetBrains HTTP Client
IDE ExtensionBuilt into all JetBrains IDEs. The most feature-rich IDE implementation, with the only semi-formal spec attempt. Also available as a standalone CLI (ijhttp).
httpyac
IDE ExtensionThe most interoperable implementation. CLI tool and VS Code extension that supports both JetBrains and REST Client syntax while adding its own extensions. Bridges the gap between ecosystems.
Visual Studio 2022
IDE ExtensionBuilt-in since v17.6, significantly enhanced in v17.8+. Adopted JetBrains env format with Microsoft extensions including Azure Key Vault secrets providers.
See all clients and tools.