418 I’m a Teapot: the joke that became a reserved code
418 I’m a Teapot is an April Fools’ joke from RFC 2324; it isn’t standard HTTP, and RFC 9110 reserves the number so it stays unused.
418 I’m a Teapot is the web’s most famous joke. It comes from an April Fools’ RFC about controlling coffee pots over the internet, and it has never been part of standard HTTP, yet it shows up in real servers, libraries and firewalls.
Where it comes from
RFC 2324, the Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0), was published on 1 April 1998. It says any attempt to brew coffee with a teapot should result in the error “418 I’m a teapot,” and that the response body “MAY be short and stout.” A 2014 follow-up, RFC 7168, extended the protocol to tea.
The joke spread far enough that the number became unusable for anything else. RFC 9110, section 15.5.19 lists 418 as “(Unused)” and keeps it reserved in the IANA registry, so no real meaning can be assigned to it for now.
Where you’ll see it
- Easter eggs and developer humor pages.
- Libraries: Go’s
net/httphasStatusTeapot, Python’shttp.HTTPStatushasIM_A_TEAPOT, and Node.js lists it inhttp.STATUS_CODES. - Some sites and bot filters use it as a tongue-in-cheek “go away” for scrapers or requests they consider abusive.
SEO impact
To a crawler, 418 is simply a 4xx error. Google handles every 4xx other than 429 the same way, per its status code documentation: the URL isn’t indexed, and it’s removed if it was. If a bot filter answers Googlebot with 418, your pages disappear from search just as they would with a 403.
For real blocking, use codes that say what you mean: 403 for access you refuse, 429 for rate limits, and robots.txt to ask well-behaved crawlers to stay out.
How to check
If a URL returns 418 unexpectedly, run it through the HTTP status checker and review your firewall or bot-management rules for a teapot response.
HTTP/1.1 418 I'm a teapot
Content-Type: text/plain; charset=utf-8
Short and stout. Frequently asked questions
Is 418 I’m a Teapot a real HTTP status code?
Not in standard HTTP. It was defined as a joke in RFC 2324, and RFC 9110 now reserves the number as unused so it won’t be given a real meaning for the time being.
Should I use 418 on my website?
Only for a deliberate easter egg page. For blocking clients, use 403, and for rate limits use 429, so browsers, crawlers and monitoring tools understand the response.
Does Google penalize a 418 response?
There’s no penalty, but Google treats 418 like any other 4xx: the URL isn’t indexed. If your firewall sends it to Googlebot, those pages drop out of search.