Skip to content
SPECIFICTION
Get listed

xh

github.com

Free plan Open source WindowsmacOSLinuxAndroid

What it is

xh is a free command-line tool for sending HTTP requests, with a focus on improved performance. It uses HTTPie's request-item syntax for setting headers, request bodies, and query strings. It supports JSON and form data, multipart requests, raw data, and request bodies read from standard input or a file. Responses can be pretty-printed, limited to headers or body output, and saved or downloaded to a file. Authentication options include basic, bearer, and digest. The README lists HTTP/2 support, while the current Cargo manifest has an optional HTTP/3 feature. The --curl flag translates a request into a curl command. Security options include TLS version selection, certificate verification settings, and client-side certificates. 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 and has a free plan priced at free. It can use HTTPie compatibility mode when invoked as http or https, or when XH_HTTPIE_COMPAT_MODE is set. The README notes that some HTTPie features are not implemented, there is no plugin system, and its documentation is worse than HTTPie's.

Spec sheet

What it does
xh is a fast command-line HTTP client that reimplements much of HTTPie’s design in Rust.Read 15 Oct 2026 · github.com
Purpose
xh is a friendly, fast tool for sending HTTP requests, with a focus on improved performance.Read 7 Oct 2026 · github.com
Free plan
YesRead 20 Sep 2026 · github.com
Integrations
xh can translate a request into a curl command with its --curl flag.Read 7 Oct 2026 · github.com
Support
The GitHub repository provides issues and discussions of the project through its issue tracker.Read 7 Oct 2026 · github.com
License
The project is distributed under the MIT License.Read 7 Oct 2026 · github.com
API and SDKs
xh is a standalone command-line API client; the project documents no language SDK or embeddable public API.Read 15 Oct 2026 · github.com
Authentication
Basic, bearer and digest authentication are supported, along with .netrc credentials.Read 15 Oct 2026 · github.com
Build requirement
Building from Cargo requires Rust 1.85 or later.Read 15 Oct 2026 · github.com
Compatibility
xh can run in HTTPie compatibility mode when invoked as http or https, or when XH_HTTPIE_COMPAT_MODE is set.Read 7 Oct 2026 · github.com
Curl conversion
The --curl option prints an equivalent curl command instead of sending the request.Read 15 Oct 2026 · man.archlinux.org
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.Read 15 Oct 2026 · packages.debian.org
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.Read 15 Oct 2026 · github.com
Downloads
The client can save response bodies to files and resume interrupted downloads.Read 15 Oct 2026 · clis.dev
Extensibility
The README states that xh has no plugin system.Read 15 Oct 2026 · github.com
Form and multipart data
xh can submit URL-encoded form fields or force multipart/form-data requests, including file uploads.Read 15 Oct 2026 · github.com
HTTP versions
The command supports HTTP/1.0, HTTP/1.1, HTTP/2, HTTP/2 prior knowledge and experimental HTTP/3 modes.Read 15 Oct 2026 · github.com
HTTPie compatibility
The tool accepts HTTPie-style request-item syntax for headers, query parameters, JSON fields, forms and file uploads.Read 15 Oct 2026 · github.com
Independent package availability
Homebrew provides xh 0.26.2 bottles for Apple Silicon, Intel macOS and Linux ARM64 or x86_64.Read 15 Oct 2026 · formulae.brew.sh
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.Read 15 Oct 2026 · archlinux.org
Installation
The project provides prebuilt binaries for Linux, macOS, and Windows, plus package-manager installation instructions for those and Android.Read 7 Oct 2026 · github.com
Installation platforms
Official installation instructions cover Linux, macOS, Windows, Android through Termux or root managers, FreeBSD, NetBSD and multiple package managers.Read 15 Oct 2026 · github.com
JSON requests
Command-line data defaults to a JSON object, with literal JSON values supported through the := syntax.Read 15 Oct 2026 · man.archlinux.org
Licence
The software is released under the MIT License with permission to use, modify, distribute and sell copies.Read 15 Oct 2026 · github.com
Limit: header encoding
The FAQ explains that non-ASCII HTTP header values may display as ISO-8859-1 text with an additional UTF-8 interpretation, and servers may receive the mangled form.Read 15 Oct 2026 · github.com
Limit: incomplete parity
The project says that not all HTTPie features are implemented.Read 15 Oct 2026 · github.com
Limit: maturity
The README characterizes xh as generally less mature than the older, well-tested HTTPie project.Read 15 Oct 2026 · github.com
Limit: output determinism
CLIs.dev notes that output formatting changes between TTY and non-TTY use, so scripts should pin formatting and stdin flags.Read 15 Oct 2026 · clis.dev
Limit: session secret storage
CLIs.dev cautions that session files persist cookies and authentication material on disk.Read 15 Oct 2026 · clis.dev
Limit: structured output
CLIs.dev reports that xh lacks a dedicated structured-output mode, which limits machine-readable automation.Read 15 Oct 2026 · clis.dev
Limitations
The README says not all HTTPie features are implemented, xh has no plugin system, and its documentation is worse than HTTPie's.Read 7 Oct 2026 · github.com
Maker identity
The GitHub account identifies the maintainer as Mohamed Daahir and lists London, United Kingdom as his location.Read 15 Oct 2026 · github.com
Offline construction
Offline mode builds a request without transmitting it.Read 15 Oct 2026 · clis.dev
Praise: focused workflow
CLIs.dev highlights one-binary request construction, response inspection, downloads, sessions and curl translation for shell workflows.Read 15 Oct 2026 · clis.dev
Praise: portability
X-CMD lists Windows, macOS, Linux, FreeBSD and Android support as a cross-platform advantage.Read 15 Oct 2026 · x-cmd.com
Praise: speed
X-CMD describes xh as significantly faster than HTTPie and reports tests averaging about 30% faster response time.Read 15 Oct 2026 · x-cmd.com
Project scale
The public repository shows about 8.1 thousand stars, 149 forks and 35 open issues.Read 15 Oct 2026 · github.com
Protocols
The README lists HTTP/2 support, and the current Cargo manifest has an optional HTTP/3 feature.Read 7 Oct 2026 · github.com
Recent release changes
Version 0.26.1 added XML pretty-printing and experimental RFC 9421 HTTP message signatures, while version 0.26.2 fixed empty-username authentication and concatenated zstd decoding.Read 15 Oct 2026 · github.com
Release status
The latest listed release is version 0.26.2, released July 26, 2026.Read 15 Oct 2026 · github.com
Request bodies
It supports JSON and form data, multipart requests, raw data, and bodies read from standard input or a file.Read 7 Oct 2026 · github.com
Request syntax
xh uses HTTPie's request-item syntax to set headers, request bodies, and query strings.Read 7 Oct 2026 · github.com
Response output
It can pretty-print responses, select headers or body output, and save or download responses to a file.Read 7 Oct 2026 · github.com
Response presentation
Responses can be colorized, syntax-highlighted and pretty-printed, with options to show headers, body or metadata separately.Read 15 Oct 2026 · rustutils.com
Security controls
Options include TLS version selection, certificate verification configuration, and client-side certificates.Read 7 Oct 2026 · github.com
Security maintenance
The changelog records a January 2025 upgrade of ruzstd to address RustSec advisory RUSTSEC-2024-0400 and a July 2024 fix preventing directory traversal in server-supplied filenames.Read 15 Oct 2026 · github.com
Sessions
Named session files persist cookies and headers so repeated API calls can reuse state.Read 15 Oct 2026 · clis.dev
Shell completions
The program can generate completion scripts for Bash, Elvish, Fish, Nushell, PowerShell and Zsh.Read 15 Oct 2026 · man.archlinux.org
TLS controls
xh supports certificate verification controls, custom certificates, TLS-version selection and optional native TLS.Read 15 Oct 2026 · github.com
Unix sockets
xh can connect through a Unix-domain socket.Read 15 Oct 2026 · github.com

Plans and prices

xh Free Open-source command-line HTTP client Read 7 Oct 2026 · github.com

Every xh plan and price →

Strong points and limits

Strong points

  • Supports JSON, form, multipart, and raw request bodies.
  • Offers basic, bearer, and digest authentication.
  • Can save responses or translate requests to curl.
  • Prebuilt binaries cover Linux, macOS, and Windows.

Limits

  • Not all HTTPie features are implemented.
  • There is no plugin system.
  • Project documentation is worse than HTTPie's.

Who it suits

xh suits command-line users who want to construct HTTP requests and inspect or save responses. Its compatibility mode may be useful to users invoking it as http or https.

Verdict

xh offers a broad set of request, response, and authentication options as a free command-line client. Users who depend on HTTPie features or plugins should account for its stated limitations.

Where Specifiction places it

Alternatives to xhAll alternatives →