cURL Command Builder
Build cURL commands for Bash, PowerShell or Windows Command Prompt with method, URL, query parameters, headers, JSON, form or raw bodies and authentication. Includes an HTTP request preview — nothing is ever sent.
Build cURL commands for Bash, PowerShell or Windows Command Prompt with method, URL, query parameters, headers, JSON, form or raw bodies and authentication. Includes an HTTP request preview — nothing is ever sent.
cURL Command Builder turns a request description into a ready-to-review curl command. Choose the method, enter an http or https URL, add query parameters and headers, pick a JSON, form URL-encoded or raw text body, and set Basic, Bearer token or API-key header authentication, plus optional redirects and a timeout. The command is quoted for Bash, PowerShell (using curl.exe) or Windows Command Prompt, and an equivalent HTTP request preview shows what would be sent.
The builder only writes text: it never sends the request, runs the command or contacts the URL. JSON bodies are validated, form fields are URL-encoded, and header names, values and URLs are checked so line breaks and control characters cannot inject extra headers. Passwords, tokens and keys are marked as secrets, hidden by default, and replaced with placeholders in the command unless you choose to include them — remember that commands containing credentials can end up in shell history and process lists.
No. It only generates text. No request is made to the URL and the command is never run.
Password, token and API-key fields are masked, with a Show/Hide button. Unless you tick “Include secret values”, the command and preview use placeholders such as <TOKEN>. Secrets are never written to browser storage or the console.
In Windows PowerShell, curl can be an alias for Invoke-WebRequest. curl.exe runs the real curl program. The output targets PowerShell 7.3 or later; Windows PowerShell 5.1 can strip double quotes from arguments, so pass JSON from a file there.
Command Prompt cannot pass values containing line breaks, and it may expand %NAME% sequences that match environment variables. The builder escapes quotes and special characters, but check commands containing % before running them.
Fields are encoded as application/x-www-form-urlencoded, with spaces as + and special characters percent-encoded, and sent with --data-raw.
URLs that are not http or https or that contain spaces, header names with invalid characters, header values with line breaks or control characters, invalid JSON bodies, and bodies on HEAD requests.
No. It reflects what you entered. Servers differ, and you should review and test commands yourself, preferably without real credentials first.
No. Everything is processed in your browser on your device. Nothing is uploaded, no request is sent, and inputs and results are not saved in browser storage. Reset clears them from the page.