URL Parser
Break any URL into its scheme, host, port, path, query parameters and fragment.
A tiny, honest API client: send real requests from your browser and copy the equivalent cURL, fetch, PHP or Python code.
No. Everything runs with your browser's own fetch() call - there is no proxy, so the request goes straight from your browser to the URL you type, exactly as if any other page on the internet had called fetch() from JavaScript. The target site sees your browser as the caller, not this site's server.
Browsers deliberately hide the exact reason a fetch() call fails from page JavaScript, so this tool can only make an educated guess rather than state a cause for certain. By far the most common reason is CORS: the target server did not explicitly opt in to being called from a browser page on a different origin. It can also mean the server is unreachable, the URL is wrong, or a browser extension intervened. Open your browser's DevTools Console for the real underlying reason.
A cross-origin response only exposes to page JavaScript the headers the server explicitly listed via Access-Control-Expose-Headers - this is a real browser security restriction, not a bug in this tool. The same request made with curl, or to a same-origin URL, would show the server's full header set.
Not yet. Form Data rows are plain text key/value pairs typed by hand, so a multipart submission is built from those strings rather than from a file picker - there is currently no way to attach a real file's bytes. For genuine file uploads, use curl or a desktop client.
Break any URL into its scheme, host, port, path, query parameters and fragment.
Paste response headers to check them against common security and caching best practices.
Look up any HTTP status code and what it actually means.
Your input is saved in this browser so a refresh does not lose it. Tools handling credentials are never saved.