⌨ DEVELOPER · REFERENCE

HTTP Status Code Lookup

Type a code or a word (404, 5xx, timeout, cloudflare) to see what it means, what usually causes it and how to fix it. Every officially registered code is here, plus the unofficial ones you meet in real logs, each clearly labelled with where it comes from.

64 registered codes · 20 unofficial (nginx, Cloudflare, AWS) · Causes & fixes
Tip: open a code directly with a link such as …/http-status-code-lookup#503.Debugging a link instead? URL Parser →
Showing: 0
Registered: 64
Unofficial: 20
IANA registry (updated Sep 2025) · RFC 9110
◆ ABOUT THIS TOOL

How HTTP Status Codes Work

Three digits that sum up the server's answer.

Every HTTP response starts with a three-digit status code. The first digit is the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error (a problem with the request) and 5xx server error (the server failed). The other two digits say exactly what happened.

The codes are defined in RFC 9110 (HTTP Semantics, 2022) and other RFCs, and recorded in the IANA HTTP Status Code Registry. This lookup lists every registered code with the current official names; for example 413 is now Content Too Large and 422 is Unprocessable Content. Old names are listed too, so you can search for either.

Unofficial codes. Servers and CDNs add codes of their own: Cloudflare's 520–526 and 530, AWS load-balancer codes such as 460, nginx's 444 and 499, and Laravel's 419. They're marked Unofficial with the vendor's name. Some never reach the browser: nginx logs 494–497 but sends 400, and 444 and 499 send nothing at all.

Unknown codes. If a client gets a code it doesn't know, RFC 9110 says to treat it like the first code of its class: an unknown 299 is handled like 200, and an unknown 499 like 400. Type any three-digit number to see how it would be treated.

⌘ REFERENCE

The Five Classes

What the first digit tells you.

ClassMeaningMost commonWhose problem?
1xxInformational — the request is in progress101, 103Nobody — interim messages
2xxSuccess200, 201, 204—
3xxRedirection — go elsewhere or use your cache301, 302, 304, 307, 308—
4xxClient error — fix the request400, 401, 403, 404, 429The client (or the link)
5xxServer error — the server failed500, 502, 503, 504The server, proxy or CDN
◐ THREE STEPS

How to Use the HTTP Status Code Lookup

Get your result in under ten seconds.

1

Search

Type a code, a class such as 4xx, or a word like “timeout”.

2

Open a code

See the meaning, common causes, fixes, headers and SEO impact.

3

Share or copy

Copy “404 Not Found” or a direct link to the code.

✓ FEATURES

Why Use the HTTP Status Code Lookup on Developers Web Tools

Fast, accurate and private — built for developers.

✓

Official & current

Every IANA-registered code, with RFC 9110's current names and section links.

⚑

Clearly labelled

Unofficial nginx, Cloudflare, AWS and Laravel codes are marked with their source.

🛠

Causes & fixes

What usually triggers the common errors, and what to check first.

↪

Redirect details

Which redirects keep POST, which are cached, which Google treats as permanent.

🔗

Direct links

Link straight to a code, e.g. #502.

⚡

Instant

Works offline in your browser; no tracking of what you search.

FAQ

Frequently Asked Questions

401 Unauthorized means you aren't authenticated: no valid login or token was sent, so logging in may fix it. 403 Forbidden means the server knows who you are (or doesn't care) and still refuses, so logging in again won't help.

Use 301 (or 308) when a page has moved permanently. Google then shows the new URL. Use 302 (or 307) for temporary moves. 307 and 308 also guarantee that a POST stays a POST; 301 and 302 may turn it into a GET.

All three often come from a proxy or load balancer. 502: the server behind it sent a bad response or refused the connection. 503: the service is temporarily unavailable (overload or maintenance). 504: the server behind it didn't answer in time.

It started as an April Fools' joke (RFC 2324, 1998). It's not assigned to anything, but RFC 9110 reserves 418 because so many servers implement it as an Easter egg, so it will never get another meaning.

They're nginx-only codes. 499 means the client closed the connection before nginx answered, and 444 means nginx closed the connection on purpose without replying. In both cases nothing is sent, so the browser never sees the code.

Codes Cloudflare uses when it can't get a proper answer from your server (the origin). 521: the server refused the connection. 522: the connection timed out. 524: the server didn't respond within about 100 seconds. 525/526: TLS problems. Open each code for the fix.

Google indexes 200 pages, follows redirects (301/308 strongly move ranking signals, 302/307 weakly), drops pages that return 4xx, and slows crawling when it sees 5xx or 429. Use 503 with Retry-After for short maintenance, not 200 or 404.