Skip to content

Clients & Tools Overview

The .http file format is supported by at least 15 actively maintained tools. This page catalogs every known implementation.

VS Code REST Client

IDE Extension

The 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.

VS Code TypeScript

JetBrains HTTP Client

IDE Extension

Built into all JetBrains IDEs. The most feature-rich IDE implementation, with the only semi-formal spec attempt. Also available as a standalone CLI (ijhttp).

IntelliJ IDEA, WebStorm, GoLand, PyCharm, Rider Kotlin/Java

httpyac

IDE Extension

The 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.

VS Code, CLI TypeScript/Node.js

Visual Studio 2022

IDE Extension

Built-in since v17.6, significantly enhanced in v17.8+. Adopted JetBrains env format with Microsoft extensions including Azure Key Vault secrets providers.

Visual Studio 2022 C#

kulala.nvim

Neovim Plugin

Neovim plugin targeting 100% IntelliJ compatibility. Includes kulala-fmt formatter, kulala-ls language server, and a CLI with GitHub Action support.

Neovim Lua

rest.nvim

Neovim Plugin

Neovim plugin using tree-sitter for parsing. Revived after being archived.

Neovim Lua

JetBrains ijhttp CLI

CLI Tool

Official CLI for running .http files from CI/CD pipelines. Available as Docker image (jetbrains/intellij-http-client). Requires JDK 21+.

CLI (JDK 21+) Kotlin/Java

httpyac CLI

CLI Tool

npm install -g httpyac. Supports --json, --junit output, --bail, --repeat with parallel mode.

CLI (Node.js) TypeScript/Node.js

httprunner

CLI Tool

Rust-based CLI/TUI/GUI supporting both JetBrains and REST Client syntax, http-client.env.json, and HTML/Markdown report generation.

CLI, TUI, GUI Rust

Kulala CLI

CLI Tool

CLI companion to kulala.nvim. GitHub Action available for CI pipelines.

CLI (requires Neovim + curl) Lua

httprun

CLI Tool

CLI targeting VS Code REST Client compatibility. Supports batch execution of .http files with configurable timeouts and success codes.

CLI C#

dot-http

CLI Tool

Rust CLI with companion vim plugin.

CLI Rust

http-request-in-editor

Parser Library

JavaScript reference parser implementing the JetBrains spec using nearley grammar.

Node.js JavaScript

http-rest-file

Parser Library

Rust recursive descent parser/generator based on JetBrains syntax.

Rust Rust

tree-sitter-http

Parser Library

Tree-sitter grammar for incremental parsing of .http files. Used by Neovim plugins.

Any (tree-sitter) C/JavaScript

These tools are sometimes confused with .http file tools but use different formats:

  • Hurl (Orange OpenSource) uses .hurl files — a completely different syntax with [Captures], [Asserts], [Options] sections. Not compatible with .http format.
  • Microsoft HttpRepl is an interactive REPL, not a file format.
  • Bruno uses its own .bru file format.

The only semi-formal specification is JetBrains' "HTTP Request in Editor" spec at JetBrains/http-request-in-editor-spec. It defines a context-free grammar covering request lines, headers, bodies, file includes, multipart forms, response handlers, response references, and environment variable placeholders.

However, it has multiple TODO sections and does not cover: request naming, in-file variables (@var), dynamic variables, pre-request scripts, metadata tags, cookie handling, WebSocket/gRPC, GraphQL, import/run, or any other post-2018 features. No IETF RFC exists for this format.