cURL to HTTPie
Convert cURL commands to HTTPie syntax — the human-friendly HTTP client.
About cURL to HTTPie
Convert cURL commands to HTTPie syntax instantly. HTTPie is a human-friendly command-line HTTP client that makes API calls easier to read and write. Paste any cURL command and this tool will parse the method (-X), headers (-H), request body (-d / --data-raw), and user credentials (-u), then emit the equivalent HTTPie invocation — ready to paste straight into your terminal. Choose between single-line outputs or formatted multi-line scripts for Bash or PowerShell.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Converting a long curl command into HTTPie's shorter syntax.
- Producing a readable command for documentation or a README.
- Reproducing a request with less quoting than curl needs.
- Getting the JSON body syntax right for a nested payload.
- Comparing the two forms of the same request.
Frequently Asked Questions
- What makes HTTPie's syntax different?
- Three operators replace most curl flags: ':' sets a header (Accept:application/json), '=' sets a JSON string field, and ':=' sets a raw JSON value (count:=42, active:=true). No quoting a JSON blob by hand.
- How do I send query parameters?
- The '==' operator: http GET example.com search==term. This URL-encodes the value for you, unlike appending to the URL string as you would with curl.
- Does it default to JSON?
- Yes — HTTPie sets Content-Type and Accept to application/json automatically, which is the opposite of curl's form-encoded default for -d. Use --form for multipart or form-urlencoded bodies.
- How do I see the request that was sent?
- -v prints both request and response, and --print=HBhb selects exactly which parts. Responses are colourised and pretty-printed by default when attached to a terminal, and plain when piped.
- What is the equivalent of curl -k and -L?
- --verify=no disables certificate verification, and --follow follows redirects. Note HTTPie does NOT follow redirects by default, matching bare curl rather than a browser.
- How do sessions work?
- `--session=name` persists cookies and auth to a named file in your config directory, so subsequent calls to the same host reuse them. It is the closest thing to curl's `-c`/`-b` cookie jar, with the state keyed by host rather than by file path.
- How do I download a file?
- `--download` streams to a file, picking the name from `Content-Disposition` or the URL, and shows progress — the equivalent of curl's `-O`. It also supports `--continue` to resume a partial transfer.
- Can I build a request without sending it?
- Yes — `--offline` prints exactly what would go over the wire and exits. It is the fastest way to check that your header and body syntax produced what you intended before pointing it at a live endpoint.
Common errors and gotchas
- Using `=` for a raw JSON value where `:=` is needed, which sends a string instead of a number or a boolean.
- Assuming HTTPie sends the same default headers as curl, when it adds a JSON accept header.
- Forgetting HTTPie writes to stdout with colour, which breaks piping unless you disable it.
- Expecting `-d` to work, since HTTPie uses a different flag vocabulary entirely.
- Assuming HTTPie is installed, when curl is present almost everywhere and HTTPie is not.
Related Developer Utilities tools
RegExp Tester
Test regular expressions and inspect matches locally.
Regex Visualizer
Visual regex pattern diagram with live match highlighting and capture group annotations.
Subnet Calculator
Compute CIDR subnets, usable hosts, and network ranges.
Cron Parser
Translate cron syntax into plain English.
URL Parser
Break a URL into protocol, host, path, and query parts.
HTML Previewer
Paste HTML and see it rendered live in a safe, sandboxed preview.
HTTP Status Code Reference
Search and look up every HTTP status code and its meaning.
MIME Type Lookup
Find the MIME type for a file extension, or the extensions for a MIME type.