# curlie

> A curl frontend that combines curl's features with HTTPie's user-friendly interface and syntax

Stars: 3.7k · Language: Go · License: MIT · Categories: Network

- Repository: https://github.com/rs/curlie
- Website: https://rs.github.io/curlie
- Page: https://www.trmn.sh/tools/curlie

## Install

- Homebrew: `brew install curlie`
- Go: `go install github.com/rs/curlie@latest`
- Scoop: `scoop install curlie`

## Overview

Curlie is a command-line HTTP client that acts as a frontend to curl, combining curl's comprehensive feature set with HTTPie's simplified syntax and formatting. It maintains all of curl's functionality while providing HTTPie-style syntax sugar for common operations like setting headers and sending JSON data. The tool processes requests through curl under the hood, ensuring compatibility with all curl options and performance characteristics.

Unlike HTTPie, curlie writes headers to stderr instead of stdout and performs all formatting on-the-fly without buffering, making it suitable for debugging streamed data. The tool supports interactive pretty-printed JSON output and includes a --curl option to display the underlying curl command being executed. This approach allows users to benefit from HTTPie's ergonomic interface while retaining access to curl's advanced features and reliability.

Curlie targets developers and system administrators who need HTTP client functionality but want a more user-friendly interface than raw curl without sacrificing features. It's particularly useful for API testing, debugging HTTP requests, and scenarios where both ease of use and advanced curl capabilities are required.

### Installation

```bash
# via Homebrew
brew install curlie
```

```bash
# via Go
go install github.com/rs/curlie@latest
```

```bash
# via Scoop
scoop install curlie
```

![Simple GET request example](https://media.trmn.sh/cached/3586b508bc3b44b1db935130f8139cacb90104c9714805253db3bbbbc4b065d3.png)

![Custom PUT request with headers and JSON data example](https://media.trmn.sh/cached/01658efeccc5869023c7996dbd3d7b521b9e73b08da0c1813e58ab3ec5d27068.png)

## Alternatives

- [devzat](https://www.trmn.sh/tools/devzat.md): SSH server that creates a chat room instead of shell access, enabling cross-platform terminal chat (Go, 4.1k stars)
- [tldx](https://www.trmn.sh/tools/tldx.md): CLI tool for brainstorming and checking domain name availability with keyword permutations and TLD presets (Go, 1.9k stars)
- [bombardier](https://www.trmn.sh/tools/bombardier.md): HTTP(S) benchmarking tool written in Go that uses fasthttp by default, with optional net/http for HTTP/2, and reports latency, requests/sec and throughput. (Go, 6.8k stars)
- [lssh](https://www.trmn.sh/tools/lssh.md): TUI-based SSH client for managing multiple servers with parallel commands and local bashrc forwarding (Go, 328 stars)
- [wego](https://www.trmn.sh/tools/wego.md): Terminal weather client showing 1–7 day forecasts from several backends, rendered as an ASCII-art table, emoji, markdown, or JSON. (Go, 8.6k stars)

## Guides

- [Modern Replacements for curl](https://www.trmn.sh/replace/curl): Replace curl with xh, HTTPie, curlie or Posting: HTTPie-style request syntax, formatted output, and a TUI option for saved requests.
- [Best HTTP Clients for the Terminal](https://www.trmn.sh/best/http-clients): Compare HTTPie, xh, curlie and Posting: CLI and TUI HTTP clients for testing REST APIs from the terminal.

---

Canonical: https://www.trmn.sh/tools/curlie
