HTTP 418 I'm a teapot

Quick answer

HTTP 418 I'm a teapot is a joke status code from RFC 2324, the 1998 April Fools' "Hyper Text Coffee Pot Control Protocol." It is not used in real APIs except as an Easter egg.

What HTTP 418 means

418 I'm a teapot comes from RFC 2324, a tongue-in-cheek specification for controlling coffee pots. The code means the server is a teapot and refuses to brew coffee. It has no legitimate use in production APIs, but developers occasionally return it as a playful Easter egg or placeholder.

Common causes

Example JSON error response

{
  "error": "I'm a teapot",
  "message": "The server refuses to brew coffee because it is, permanently, a teapot.",
  "status": 418
}

Raw HTTP response

HTTP/1.1 418 I'm a teapot
Content-Type: application/json

How to handle HTTP 418

The "Save 418" story

418 is the only joke status code with a fan campaign. Around 2017, some HTTP libraries and frameworks began removing their 418 definitions on the grounds that it wasn't a "real" code. The developer community pushed back with the "Save 418" movement — arguing the code was a beloved piece of internet culture worth preserving. The effort worked: RFC 7168 formally references the teapot, and 418 remains reserved by IANA specifically so no serious code can ever claim that number. It's now permanently the teapot's.

Where you'll actually see a 418

It's rare, but not mythical:

Because IANA keeps 418 reserved, you can safely use it as a recognizable internal sentinel — just never as a real part of an API contract.

Frequently Asked Questions

Is HTTP 418 a real status code?

It is real in the sense that it is defined in RFC 2324, but that RFC is an April Fools' joke. It is not part of the core HTTP standard and has no legitimate production use — it is an Easter egg.

Where does the 418 teapot code come from?

From RFC 2324, the "Hyper Text Coffee Pot Control Protocol," published as an April Fools' RFC in 1998. The code humorously means the server is a teapot and cannot brew coffee.

Should I use 418 in my API?

No, not for real functionality. It is fine as a deliberate Easter egg, but for actual error handling use the appropriate 4xx code such as 400, 403, or 404.

What was the "Save 418" movement?

Around 2017, some frameworks removed their 418 support for being a non-standard joke. The community campaigned to "Save 418" as a piece of internet culture. It succeeded — RFC 7168 references the teapot and IANA keeps 418 reserved, so no real status code can ever take that number.

Does Google really return a 418?

Yes — google.com/teapot returns HTTP 418 with an animated teapot graphic, one of the best-known Easter eggs on the web. It's a fun demonstration, not a functional endpoint.

Working with a JSON API response?

Format and inspect any response in your browser — nothing is uploaded.

JSON Formatter JSON Validator All HTTP Status Codes
About the author

Pasindu Ishan is a software developer based in Sri Lanka. He builds privacy-first developer tools at JSON Dev Tools.