# xh
> A friendly and fast tool for sending HTTP requests

## Summary
A fast HTTPie-compatible HTTP client written in Rust. Provides intuitive syntax for API requests with colorized output and significantly faster startup than HTTPie.

## Capabilities
- HTTPie-compatible command syntax
- Colorized and formatted HTTP responses
- Faster startup than HTTPie (Rust vs Python)
- Sessions, authentication, and download support

## When to Use
- Making HTTP requests with readable, colorized output
- Want HTTPie syntax but faster execution
- Testing REST APIs interactively

## When NOT to Use
- Need HTTPie plugins (xh doesn't support them)
- Scripting where curl is expected

## Usage Patterns
### GET request
```
xh https://api.example.com/users
```
Fetches and displays the response with syntax highlighting

### POST JSON data
```
xh POST https://api.example.com/users name=John age:=30
```
Sends JSON with string and numeric values

## Input / Output
- **stdout**: Formatted and colorized HTTP response

## Installation
- **homebrew**: `brew install xh`
- **cargo**: `cargo install xh`
- **pacman**: `sudo pacman -S xh`

## Related Tools
- [httpie](/tools/httpie) (alternative): xh is a Rust reimplementation of HTTPie; HTTPie is the original
- [curlie](/tools/curlie) (alternative): curlie wraps curl; xh has its own HTTP implementation

---
Source: https://littlescripts.sh/tools/xh
