TXT · Text & Data tools

cURL Command Builder and Parser

cURL command
Add a request URL to complete the command.

Shareable link

Settings are written to the URL as you change them. Nothing differs from the defaults yet.

Build a cURL request

Set the HTTP method and request URL first. Query parameters, headers, body data, and authentication live in separate field groups, so a long request does not collapse into one unbroken form. The generated command updates after every edit.

Query parameters are appended before a URL fragment and encoded as URL components. Headers become separate --header arguments. Basic credentials use --user, bearer tokens use --oauth2-bearer, and API keys can be placed in either a header or the query string. Everything else in the request is written to the page URL so it can be reloaded or shared, but the password, bearer token, and API key value stay out of it and clear on reload.

Request bodies

JSON and raw text use --data-raw, which prevents cURL from treating an initial @ as a filename. JSON requests receive a Content-Type: application/json header unless that header already exists.

URL-encoded fields become individual --data-urlencode arguments. This keeps the field names visible and leaves character encoding to cURL. Multipart fields use --form; mark a row as a file to write its value as an @path reference. Binary mode uses --data-binary @path for bytes read from a local file.

Adding a body changes a default GET request to POST. The method remains editable afterward, including for APIs that accept a body with PUT, PATCH, DELETE, or another method.

Parse an existing command

Paste a cURL command into Parse mode to inspect its request structure before editing it. The parser reads short and long forms such as -H and --header, attached short values such as -XPOST, --option=value syntax, quoted strings, and multiline shell continuations.

The parsed summary shows the method, URL, part counts, authentication mode, and transfer flags. Select Edit in builder to load the result into the request form and generate a normalized command.

Unsupported flags are not silently discarded. They are listed as warnings and carried into the Extra cURL arguments field. Check those arguments before running the rebuilt command, especially when the original uses certificates, custom DNS resolution, retry rules, or shell variables.

Shell output

Bash and zsh output uses POSIX single-quote escaping and backslash line continuations. PowerShell output uses curl.exe, PowerShell single-quote escaping, and backtick continuations. Turn off multiline output when a single command line is easier to paste into a script or CI setting.

Shell variables, command substitution, process substitution, and values assembled by another command are not evaluated. The parser reads the command text, not the state of the shell that created it.

Transfer controls

The Options group covers redirects, compressed responses, response headers, TLS verification, and verbose diagnostics. Limits & Output covers request and connection timeouts, proxy routing, and output files. Less common cURL flags can be added directly under Extra cURL arguments without crowding the main request form.

Frequently Asked Questions

Build mode accepts an HTTP method, URL, query parameters, headers, body, authentication, and transfer options. Parse mode accepts single-line or multiline cURL commands and maps recognized arguments back into those fields.

JSON, raw text, URL-encoded fields, multipart fields and file references, and binary file references. JSON is checked before the command is copied, but invalid JSON can still be sent exactly as entered.

Yes. The parser handles quoted arguments plus backslash and backtick line continuations. It preserves options it does not recognize in the Extra cURL arguments field so they remain visible when the request is loaded into the builder.

No. It produces and inspects command text. Run the copied command in a terminal when you are ready to make the request.

Writing curl.exe selects the cURL executable explicitly and avoids shell aliases that may interpret the same command name differently.

No. The method, URL, query parameters, headers, body, and transfer options are written to the URL so a built request can be reloaded or shared. Basic auth credentials, bearer tokens, and API key values stay in memory only and are cleared on reload.

Explore Our Tools

Browse all tools