301 Redirect Generator
Generate redirect rules for Apache, nginx, Netlify, Vercel and Cloudflare from a mapping.
Look up what any HTTP status code means and when to use it.
| A page moved permanently | 301 |
|---|---|
| A page moved temporarily | 302 |
| A page was deleted and is not coming back | 410 |
| A page does not exist | 404 |
| The site is down for maintenance | 503 with Retry-After |
| The visitor must sign in | 401 |
| The visitor is signed in but not allowed | 403 |
| The visitor sent too many requests | 429 with Retry-After |
| A form was submitted and created something | 201 |
| Something was deleted successfully, with no body | 204 |
This is a reference, not a checker. A page in your browser cannot request another domain, so checking a live URL needs your browser's network panel or a command-line request.
This is a searchable reference for HTTP status codes, covering the full set with a plain explanation of each: what it means, when a server should return it, how browsers and caches treat it, and what it signals to a search engine.
Search accepts a number or a description, so typing 404 and typing not found both get you there, as does typing redirect to see the whole 3xx family. Each entry includes the practical notes that specifications leave out, such as the fact that 302 does not pass ranking signals the way 301 does, that 410 tells a crawler a page is gone deliberately while 404 leaves it uncertain, and that 503 with a Retry-After header is the correct response during maintenance.
One thing this is not. It cannot check the status of a live URL, because browsers block pages from requesting other domains. Checking a real URL needs a server, a command-line request, or your browser's own network panel, and this page explains how to read what you find there.
The http status code reference is used by writers, developers, students, marketers and anyone else who needs the job done once without installing software. Common cases include:
Because a page in your browser cannot request another domain, which browsers block for security. Any online checker that does this runs it on their server. To check a URL yourself, use your browser's network panel or a command-line request.
301 says the move is permanent, so browsers and caches remember it and search engines transfer the old address's signals to the new one. 302 says it is temporary, so the original keeps its signals. Using 302 for a permanent migration is a common and costly mistake.
410 means gone deliberately and permanently, and crawlers drop the page faster. 404 means not found, which could be temporary. Use 410 when you know the page is never coming back, and 404 otherwise.
503 with a Retry-After header. It tells crawlers the outage is temporary and to come back later. Returning 200 with a maintenance page, or a redirect to one, risks having your real content replaced in the index.
It is defined, in an April Fools specification from 1998 about coffee pots, and a number of servers implement it as a joke. It has no legitimate use and is included here because people look it up.
Too many requests: you have hit a rate limit. A well-behaved server includes a Retry-After header saying how long to wait, and a well-behaved client honours it.
If the http status code reference is not quite what you need, these other free tools solve closely related problems.
Generate redirect rules for Apache, nginx, Netlify, Vercel and Cloudflare from a mapping.
Look up MIME types by extension, or find which extensions use a type.
Parse any user agent string, or inspect your own browser's.
Generate .htaccess rules for redirects, caching, compression and security headers.
Build security header configuration for Apache, nginx, Netlify or Vercel.