cURL to Code Converter
Convert cURL commands into code for 15+ programming languages instantly. Perfect for developers who need to translate API requests from cURL format into their preferred programming language.
Search and filter every HTTP status code from 1xx to 5xx with a plain-language explanation of what it means and when it is used — free and in your browser.
The HTTP Status Codes Reference is a free, searchable list of every standard HTTP response code, from 100 Continue to 511 Network Authentication Required. Each entry pairs the number and official name with a plain-language explanation of what the code means and when a server sends it, so you can decode any response in seconds. The full data set is bundled into the page, so search and category filtering happen instantly in your browser with nothing sent to a server.
An HTTP status code is a three-digit number a server returns with every response to tell the client how the request went. The first digit sorts the code into one of five classes: 1xx informational, 2xx success, 3xx redirection, 4xx client error, and 5xx server error. That single digit is the fastest way to triage a response — a 2xx means it worked, a 4xx means the request was wrong, and a 5xx means the server broke.
404 or a keyword like not found or teapot into the search box to filter instantly.auth.100 Continue or the WebSocket handshake 101 Switching Protocols.200 OK, 201 Created, and 204 No Content are the everyday ones.301 Moved Permanently or 302 Found.404), missing credentials (401), no permission (403), or rate limiting (429).500 Internal Server Error, 502 Bad Gateway, and 503 Service Unavailable.When you are debugging an API or a website, the status code is the first clue, but the number alone rarely tells the whole story. Knowing that 401 Unauthorized actually means "unauthenticated" or that 403 Forbidden will not be fixed by logging in again saves real time. This reference is handy right beside the tools you already use to inspect requests: reach for a URL Parser to break down the endpoint that returned the code, or paste a request into the cURL to Code Converter to reproduce it in your language of choice and watch the status change as you tweak headers.
A handful of codes account for most of what you see day to day. 200 OK is the default success, 301 and 308 are the permanent redirects that preserve SEO ranking, and 304 Not Modified keeps caches efficient. On the error side, 400, 401, 403, 404, and 429 cover the vast majority of client problems, while 500, 502, 503, and 504 cover the server side. If a response depends on the User-Agent, matching the code against the client that sent it — decoded with a User Agent Parser — can reveal why a bot gets a 403 while a browser gets a 200.
Redirects trip people up more than any other class. Use 301 or 308 for permanent moves and 302 or 307 for temporary ones; the difference between the newer pair and the older pair is that 307 and 308 guarantee the HTTP method does not change, so a POST stays a POST. For the classic Post/Redirect/Get flow after a form submission, 303 See Other is the correct choice. When you are validating patterns in log files full of these codes, a Regex Tester & Explainer makes it easy to match, say, every 5xx line at once.
Status codes are one signal among many when you diagnose why a request behaves unexpectedly. When a 5xx or a stubborn redirect turns out to be a routing or DNS problem rather than an application bug, a DNS Lookup helps confirm the host is resolving to the server you expect. Treat the status code as the headline and these companion tools as the supporting detail.
HTTP status codes are grouped by their first digit: 1xx is informational, 2xx is success, 3xx is redirection, 4xx is a client error, and 5xx is a server error. The first digit alone tells you whether a request worked, was redirected, was wrong, or hit a server failure.
A 401 Unauthorized means authentication is missing or has failed, so providing valid credentials can fix it. A 403 Forbidden means the server understood who you are but refuses the request, so you lack permission and sending credentials again will not help.
Use a 301 Moved Permanently when a resource has moved for good, such as a site migration, because search engines transfer ranking to the new URL. Use a 302 Found for a temporary move where the original URL should still be used in the future.
A 500 is a generic catch-all indicating the server hit an unexpected condition, often an unhandled exception or bug in server-side code. It does not point to a specific cause, so you usually need to check server logs to find the underlying error.
Code 418 I'm a Teapot comes from an April Fools joke, RFC 2324, where a teapot refuses to brew coffee. It is not a standard error but is implemented by some servers and frameworks and is sometimes used playfully to reject requests.
No. The entire list of status codes is bundled into the page, and all searching and filtering happens in your browser with JavaScript. Nothing you type is transmitted to a server or stored anywhere.