Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Event Lead Capture Software
  3. xh

xh

What it is

xh is a free command-line tool for sending HTTP requests, with a focus on performance. It uses HTTPie's request-item syntax to set headers, bodies, and query strings. Request bodies can use JSON, form data, multipart content, or raw data, and can be read from standard input or a file. For responses, xh can format output for readability, show selected headers or the body, and save or download results to a file. Authentication options include basic, bearer, and digest methods. The README lists HTTP/2 support, and the current Cargo manifest includes an optional HTTP/3 feature. A --curl option converts a request into a curl command. The tool also offers TLS version selection, certificate verification configuration, and client-side certificates. It can use HTTPie compatibility mode when invoked as http or https, or when XH_HTTPIE_COMPAT_MODE is set. Prebuilt binaries are provided for Linux, macOS, and Windows, with package-manager installation instructions for those systems and Android. xh is distributed under the MIT License. Its README notes that it does not implement every HTTPie feature, has no plugin system, and has less extensive documentation than HTTPie.

For and against

For

  • Supports JSON, form, multipart, and raw request bodies.
  • Offers basic, bearer, and digest authentication.
  • Can save or download response output.
  • Provides prebuilt binaries for Linux, macOS, and Windows.
  • Distributed under the MIT License.

Against

  • Not all HTTPie features are implemented.
  • There is no plugin system.
  • The README says its documentation is worse than HTTPie's.

The verdict

xh covers common HTTP request and response workflows from the command line, with several authentication and TLS controls. The stated feature gaps, lack of plugins, and documentation limitation are worth considering before choosing it.

Who it suits

xh suits command-line users who want to send HTTP requests and control request bodies, authentication, or response output. Its compatibility mode may also suit users working with HTTPie-style commands.

Plans and prices

xh

Free

Open-source command-line HTTP client

Every plan, in full

On the record

API and SDKs
xh is a standalone command-line API client; the project documents no language SDK or embeddable public API.github.com · read 15 Oct 2026
Authentication
Basic, bearer and digest authentication are supported, along with .netrc credentials.github.com · read 15 Oct 2026
Build requirement
Building from Cargo requires Rust 1.85 or later.github.com · read 15 Oct 2026
Compatibility
xh can run in HTTPie compatibility mode when invoked as http or https, or when XH_HTTPIE_COMPAT_MODE is set.github.com · read 7 Oct 2026
Curl conversion
The --curl option prints an equivalent curl command instead of sending the request.man.archlinux.org · read 15 Oct 2026
Debian availability
Debian trixie carries xh 0.24.0-1 in its utils section and describes it as an ergonomic HTTPie-inspired frontend focused on performance.packages.debian.org · read 15 Oct 2026
Documentation
Documentation consists of a README, FAQ, generated/manual pages, examples and a changelog, and the project itself describes its documentation as worse than HTTPie’s.github.com · read 15 Oct 2026
Downloads
The client can save response bodies to files and resume interrupted downloads.clis.dev · read 15 Oct 2026
Extensibility
The README states that xh has no plugin system.github.com · read 15 Oct 2026
Form and multipart data
xh can submit URL-encoded form fields or force multipart/form-data requests, including file uploads.github.com · read 15 Oct 2026
HTTPie compatibility
The tool accepts HTTPie-style request-item syntax for headers, query parameters, JSON fields, forms and file uploads.github.com · read 15 Oct 2026
HTTP versions
The command supports HTTP/1.0, HTTP/1.1, HTTP/2, HTTP/2 prior knowledge and experimental HTTP/3 modes.github.com · read 15 Oct 2026
Independent package availability
Homebrew provides xh 0.26.2 bottles for Apple Silicon, Intel macOS and Linux ARM64 or x86_64.formulae.brew.sh · read 15 Oct 2026
Independent package metadata
Arch Linux packages xh 0.26.2-1 for x86_64 under the MIT license, with a 3.1 MB package and 9.6 MB installed size.archlinux.org · read 15 Oct 2026
Installation
The project provides prebuilt binaries for Linux, macOS, and Windows, plus package-manager installation instructions for those and Android.github.com · read 7 Oct 2026
Installation platforms
Official installation instructions cover Linux, macOS, Windows, Android through Termux or root managers, FreeBSD, NetBSD and multiple package managers.github.com · read 15 Oct 2026
Integrations
xh can translate a request into a curl command with its --curl flag.github.com · read 7 Oct 2026
JSON requests
Command-line data defaults to a JSON object, with literal JSON values supported through the := syntax.man.archlinux.org · read 15 Oct 2026

The review

xh is a free command-line HTTP client built for sending requests and inspecting responses. It suits developers who prefer terminal workflows and HTTPie-style request syntax. Its common request, authentication and TLS controls make it capable for routine API work, though its feature gaps and weaker documentation limit it as a full HTTPie replacement.

Overview

xh focuses on performance while keeping a compact syntax for setting headers, bodies and query strings. That makes it a practical fit for developers who want to build and inspect requests without leaving the command line. It is MIT-licensed and offers prebuilt binaries for Linux, macOS and Windows, with package-manager instructions also covering Android.

HTTPie compatibility mode can help users preserve familiar invocation patterns: xh enables it when called as http or https, or when XH_HTTPIE_COMPAT_MODE is set. Compatibility has limits, however. The project does not implement every HTTPie feature, offers no plugin system and has less complete documentation.

Key features

Request bodies can be JSON, form data, multipart or raw data, and can be read from standard input or a file. This range supports quick manual API calls as well as requests assembled in shell workflows. Responses can be pretty-printed, narrowed to headers or body, and saved or downloaded to a file, giving users control over whether they inspect output in the terminal or retain it.

Basic, bearer and digest authentication cover several common access patterns. TLS options include version selection, certificate-verification configuration and client-side certificates, which matter when a service requires specific connection or certificate settings. The README describes HTTP/2 support, and the Cargo manifest has an optional HTTP/3 feature.

The --curl flag translates a request into a curl command. That is useful when a request needs to be carried into a workflow built around curl. It does not make up for missing HTTPie features or plugins.

Pricing

xh is free: its open-source plan costs nothing. There is no paid plan described. The free offering is the full stated option, so cost is not a barrier to trying it; the practical trade-off is accepting the project's feature and documentation limits.

Platforms

xh supports Android, Linux, macOS and Windows. Prebuilt binaries are provided for Linux, macOS and Windows, and package-manager installation instructions cover those platforms and Android. This gives terminal users on those systems a route to install it, though the stated binary availability does not extend to Android.

Who it's for

xh is best suited to developers who make HTTP requests from a terminal, want HTTPie-style syntax, and need common body formats, response handling or authentication options without a software cost. Its TLS controls also make it a reasonable choice when requests need client certificates or configurable certificate verification.

Users who depend on a complete HTTPie feature set, extensions, or more thorough guidance should be cautious about switching. The compatibility mode offers a familiar entry point, but does not remove those limitations.

Pros and cons

  • Pros: Broad request-body support, including multipart and input from files or standard input, suits both direct calls and shell-based workflows.
  • Pros: Response selection and file saving help when output needs to be narrowed or retained.
  • Pros: Basic, bearer and digest authentication plus TLS controls cover common credential and certificate needs.
  • Pros: Free, MIT-licensed distribution and support for four platforms make it accessible across common development environments.
  • Cons: Missing HTTPie features can interrupt workflows that rely on behavior xh has not implemented.
  • Cons: No plugin system rules out extending xh through plugins.
  • Cons: Documentation that is weaker than HTTPie's may make less familiar workflows harder to learn.

Alternatives

For a broader directory of command-line and other API request tools, browse API clients. xh is the more specific fit when a free terminal client with HTTPie-style syntax and the stated request controls meets the need.

The alternatives supplied alongside xh focus on learning record stores rather than HTTP requests. Choose Cluelabs LRS, itslearning, GrassBlade LRS, Instancy Learning Record Store, Veracity Learning, ADL Open Source LRS, Jupiter or Mosra when you are evaluating a learning record store instead. The Learning Record Store Software directory can help compare that category; Event Lead Capture Software and Exhibitor Management Software cover other software categories.

Verdict

Choose xh if you want a free command-line HTTP client with HTTPie-style request construction, useful response controls and several authentication and TLS options. Look elsewhere if your work depends on HTTPie's full feature set, plugins or stronger documentation.

Alternatives to xh

Every alternative, ranked