cURL
Turn difficult-to-read cURL commands into understandable API requests.
Format cURL →DEVELOPER TOOL
Format and troubleshoot JSON, YAML, XML, CSV, SQL, cURL and shell commands from one developer-friendly tool.
Automatically detect your input, pretty-print it, validate it, and use AI to repair or explain problems when needed.
DocuFormat is not open to the public yet. Get updates.
Input
{ "name":"DocuFormat","active":true }Output Detected: JSON ✓
{ "name": "DocuFormat", "active": true}HOW IT WORKS
Paste JSON, YAML, XML, CSV, SQL, cURL or a shell command.
Deterministic · localDocuFormat automatically determines what type of input you’re working with.
Deterministic · localPretty-print the content and identify syntax problems using deterministic parsers.
Deterministic · localWhen the input is malformed, use AI-assisted repair to produce a corrected version.
AI · only when you askUnderstand what went wrong, what changed, or what the input does.
AI · only when you askFORMATS
Turn difficult-to-read cURL commands into understandable API requests.
Format cURL →Pretty-print, minify, validate and repair JSON.
Format JSON →Clean up YAML and identify indentation and syntax problems.
Format YAML →Pretty-print XML and identify malformed tags and nesting.
Format XML →Inspect, format and validate CSV with structured table previews.
Format CSV →Format SQL queries and use AI to explain or help repair problematic SQL.
Format SQL →Convert long shell commands between readable multi-line and terminal-friendly single-line formats.
Format Shell Commands →SHELL / BASH
Long commands are great for terminals but terrible for documentation. Multi-line commands are easier to read but can be frustrating to copy and paste. DocuFormat lets you switch between them instantly.
Single LineMulti Line
docker run --rm --name myapp -p 8080:8080 -e APP_ENV=production -e LOG_LEVEL=info mycompany/myapp:latest
docker run \ --rm \ --name myapp \ -p 8080:8080 \ -e APP_ENV=production \ -e LOG_LEVEL=info \ mycompany/myapp:latest
Designed for everyday developer commands such as Docker, kubectl, AWS CLI, Git, npm, Maven, Java, SSH, grep, find and cURL. DocuFormat formats them; it never executes them.
When quotes, escaping or continuations are broken, optional AI Fix can propose a corrected command. You click it; you review it.
Fix a Shell Command →Explain describes a command’s arguments, options, pipes and redirects, and makes destructive operations obvious. It never runs the command.
Explain a Command →cURL is a shell command too. DocuFormat can also pull out the method, URL, headers, body and authentication.
Format cURL →AI FIX
Traditional formatters work when the input is already valid. DocuFormat should help when it isn’t.
{ name: "Steve" active: true,}
{ "name": "Steve", "active": true}
DocuFormat doesn’t just tell you something is broken. It can help you fix it.
AI Fix never runs on its own. You click it, confirm that your content will go to an AI provider, review the suggestion, and only then choose to use it. How AI Fix works → · Fix My Input →
ARCHITECTURE
Formatting should not require an LLM. Validation should not require an LLM. Format detection should not require an LLM. DocuFormat uses deterministic tools for routine operations and AI only where reasoning adds value.
Runs in your browser. Same input, same output.
Runs only when you click it.
cURL
Stop decoding long cURL commands by eye.
curl -X POST https://api.example.com/users \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"Steve","active":true}'
POST https://api.example.com/users
{ "name": "Steve", "active": true}
PRIVACY
Developer input often includes tokens, hostnames and customer data, and shell commands can carry passwords, auth headers and environment variables too. So the routine work (parsing, validating, formatting and detecting) happens locally, and AI only sees content after you choose an AI feature.
Used with care: when you do use AI, your content passes through DocuFormat’s server to an AI provider, so remove secrets first. Read the details →
Paste your input and see what DocuFormat makes of it, as soon as it opens.