100 Continue — The server has received the request headers and the client should proceed to send the request body.
101 Switching Protocols — The server is switching protocols as requested by the client.
102 Processing — The server has received and is processing the request, but no response is available yet.
103 Early Hints — Used to return some response headers before final HTTP message.
2xx Success
200 OK — The request has succeeded. The meaning depends on the HTTP method used.
201 Created — The request has been fulfilled and a new resource has been created.
202 Accepted — The request has been accepted for processing, but the processing has not been completed.
203 Non-Authoritative Information — The returned metadata is not from the origin server but from a local or third-party copy.
204 No Content — The server successfully processed the request but is not returning any content.
205 Reset Content — The server successfully processed the request and asks the client to reset the document view.
206 Partial Content — The server is delivering only part of the resource due to a range header sent by the client.
207 Multi-Status — The message body contains multiple status codes for multiple independent operations.
226 IM Used — The server has fulfilled a GET request and the response is a representation of applied instance-manipulations.
3xx Redirection
300 Multiple Choices — The request has more than one possible response.
301 Moved Permanently — The URL of the requested resource has been changed permanently. SEO: transfers link juice.
302 Found — The URI of requested resource has been changed temporarily.
303 See Other — The response can be found under another URI using a GET method.
304 Not Modified — The resource has not been modified since the version specified by the request headers.
307 Temporary Redirect — The request should be repeated with another URI, but future requests should still use the original URI.
308 Permanent Redirect — The resource is now permanently located at another URI.
4xx Client Error
400 Bad Request — The server cannot process the request due to a client error. Common cause: malformed JSON, missing required fields.
401 Unauthorized — The client must authenticate itself to get the requested response.
402 Payment Required — Reserved for future use. Sometimes used by APIs to indicate subscription needed.
403 Forbidden — The client does not have access rights to the content. Unlike 401, the client identity is known.
404 Not Found — The server cannot find the requested resource. The URL is not recognized.
405 Method Not Allowed — The request method is known but not supported by the target resource.
408 Request Timeout — The server timed out waiting for the request.
409 Conflict — The request conflicts with the current state of the server.
410 Gone — The content has been permanently deleted from server, with no forwarding address.
413 Payload Too Large — The request entity is larger than limits defined by server.
415 Unsupported Media Type — The media format of the requested data is not supported by the server.
418 I'm a Teapot — The server refuses to brew coffee because it is, permanently, a teapot. (RFC 2324)
422 Unprocessable Entity — The request was well-formed but could not be followed due to semantic errors.
429 Too Many Requests — The user has sent too many requests in a given amount of time (rate limiting).
451 Unavailable For Legal Reasons — The resource is unavailable due to legal demands.
5xx Server Error
500 Internal Server Error — The server has encountered a situation it does not know how to handle.
501 Not Implemented — The request method is not supported by the server.
502 Bad Gateway — The server acting as a gateway got an invalid response from the upstream server.
503 Service Unavailable — The server is not ready to handle the request. Common causes: maintenance or overload.
504 Gateway Timeout — The server acting as a gateway did not get a response in time from the upstream server.
About HTTP Status Codes
Search and browse every HTTP status code with clear descriptions and real-world use cases. Organized by category — 1xx through 5xx — for quick reference.
Complete reference covering all 1xx through 5xx status codes
Search by code number or keyword instantly
Click any code to expand its full description
Real-world use cases explained for each code
Clarifies common confusions like 401 vs 403
Everything runs in your browser — your data never leaves your device.
Browse status codes by category or search by number/keyword
Click any code to expand its full description
Learn about common use cases for each status code
Frequently Asked Questions
What are the HTTP status code categories?
1xx = Informational, 2xx = Success (200 OK), 3xx = Redirection (301 Moved, 304 Not Modified), 4xx = Client Error (404 Not Found, 403 Forbidden), 5xx = Server Error (500 Internal Server Error, 503 Unavailable).
What is the difference between 401 and 403?
401 Unauthorized means "not authenticated" — the server doesn't know who you are (missing or invalid credentials). 403 Forbidden means "not authorized" — the server knows who you are but you don't have permission.
What is the difference between 301 and 302 redirects?
301 is a permanent redirect — search engines transfer SEO value to the new URL. 302 is temporary — search engines keep indexing the original URL. Use 301 for domain changes and URL restructuring.
What does a 429 status code mean?
429 Too Many Requests means you've hit a rate limit. The server is throttling your requests. Check the Retry-After header for when to try again. Common with APIs and login pages.