418 I'm a teapot

The HTTP 418 I'm a teapot status code is a client error returned by the server to indicate a teapot has been asked to brew coffee.

Usage

The 418 I'm a teapot error message was designed as one of the IETF April Fools' jokes. The RFC states any teapot asked to brew coffee responds with this message. Specifically, the resulting message body is described as short and stout.

Although this status code is not used in production, many HTTP libraries support the code. An effort to remove this status code so the number is available for official use was met with resistance and led to the Save 418 initiative. The message and status code remain.

Status code reservation

The HTTP specification reserves status code 418 as "(Unused)" to avoid conflicts with widespread HTCPCP implementations.

SEO impact

Search engines like Google will not index a URL with a 418 I'm a teapot response status. URLs previously indexed will be removed from search results.

Example

The client requests coffee to be brewed, but the teapot objects.

Request

BREW coffee HTTP/1.1
Host: www.example.re
Content-Type: message/coffeepot
Content-Length: 5

start

Response

HTTP/1.1 418 I'm a teapot
Content-Type: text/html
Content-Length: 146

<html>
  <head>
    <title>Beverage not supported</title>
  </head>
  <body>
   <p>This is a teapot. Coffee is not supported.</p>
  </body>
</html>

Code references

.NET

StatusCodes.Status418ImATeapot

Rust

http::StatusCode::IM_A_TEAPOT

Go

http.StatusTeapot

Symfony

Response::HTTP_I_AM_A_TEAPOT

Python3.9+

http.HTTPStatus.IM_A_TEAPOT

Angular

@angular/common/http/HttpStatusCode.ImATeapot

Takeaway

The 418 I'm a teapot status code is a client error designed as an April Fools' joke. The code is unlikely to appear in production systems.

See also

Last updated: March 11, 2026