First, what a .http file is
A .http file (or .rest — same format, different extension) is a plain-text list of HTTP requests: a method, a URL, optional headers and a body, with ### lines separating multiple requests. Any editor can open it; to send the requests you need a client that understands the format.
### Get a user
GET https://api.example.com/users/1
Accept: application/json
New to the format? Read the full .http file format guide first.
The fastest way: double-click it (Karve)
Karve is a native Windows app that registers as the handler for .http and .rest files. Once it's installed, running a request file works the way Windows users expect:
- Double-click the file in File Explorer — it opens in Karve in a tab.
- Press the Run button on the request's method line.
- Read the response next to your file — JSON tree, raw body, and headers.
No project to create, no workspace to configure, no extension to install, no account to sign into. It also works the other way: drag a file — or a whole folder of request files — onto the Karve window, and every request you send is saved to a searchable history.
Good to know
Karve is a one-time purchase with a 15-day free trial from the Microsoft Store — no subscription, no account, and your files never leave your disk.
In VS Code: the REST Client extension
If you live in VS Code, install the REST Client extension (by Huachao Mao) from the marketplace. Open the .http file and click the small Send Request link that appears above each request; the response opens in a split pane. It's free and it's where this file format originally came from.
The trade-off is that everything happens inside an editor session: you need VS Code open, the extension installed on every machine, and the response view is another editor tab rather than a dedicated viewer.
In Visual Studio 2022
Visual Studio 2022 (17.8 or later, with the ASP.NET and web development workload) has a built-in .http editor. Open the file inside a solution and click Send Request above a request. It's aimed at ASP.NET Core projects — the file is expected to live in a project, which makes it less handy for ad-hoc files from arbitrary repos.
In JetBrains IDEs
IntelliJ IDEA Ultimate, Rider, WebStorm, and the other paid JetBrains IDEs ship the HTTP Client plugin: open a .http file and press the green run icon in the gutter. Powerful if you already pay for the IDE; heavyweight if you'd be launching a full IDE just to send a request.
From the command line (scripts & CI)
For automation, httpyac is the most complete CLI runner — npm install -g httpyac, then httpyac send requests.http --all. It's the right tool for CI pipelines and cron jobs, not for interactive day-to-day work: responses print to the terminal.
Which should you use?
| You want to… | Use |
|---|---|
| Double-click any .http/.rest file and run it, no setup | Karve |
| Run requests without leaving your editor while coding | VS Code REST Client / JetBrains HTTP Client |
| Test an ASP.NET Core project's own .http file | Visual Studio 2022 |
| Run request files in CI or scripts | httpyac (CLI) |
They're not mutually exclusive — the same file works in all of them, unchanged. That portability is the whole point of the format.
Common questions
What program opens a .http file on Windows?
Any text editor can open one — it's plain text. To send the requests, use a client that understands the format: Karve (double-click, native app), the VS Code REST Client extension, Visual Studio 2022, or a JetBrains IDE.
Can I run a .http file without Visual Studio or VS Code?
Yes — that's exactly what Karve is for: a native Windows app with no IDE, project, or extension required. For headless use, CLI runners like httpyac work from any terminal.
Is a .rest file the same as a .http file?
Yes. .rest is an alternate extension for the identical format, and Karve treats it as a full alias — both open with a double-click.