What Is a 418 Status Code?

Any attempt to brew coffee with a teapot should result in the error code “418 I’m a teapot”. The resulting entity body MAY be short and stout.

This status code is a reference to the Hyper Text Coffee Pot Control Protocol, which was released in 1998 as an April Fools’ joke.

Although this status code started as a joke, websites can technically use it as a response. Some sites use 418s for requests they don’t want to handle, such as automated queries. Use of 418 is rare and is not usually considered best practice.

Reading through the Hyper Text Coffee Pot Control Protocol can be entertaining, however.

418 CODE REFERENCES

Go HTTP Status Constant http.StatusTeapot

Symfony HTTP Status Constant Response::HTTP_I_AM_A_TEAPOT

.NET StatusCodes.Status418ImATeapot

Rust http::StatusCode::IM_A_TEAPOT

Python3.5+ http.HTTPStatus.IM_A_TEAPOT

Angular @angular/common/http/HttpStatusCode.ImATeapot

418 status code example

Here is an example request and response for a 418 status code:

Request

GET /coffee HTTP/1.1
Host: example.com

Response

HTTP/1.1 418 I'm a teapot
Date: Wed, 16 Mar 2023 12:00:00 GMT
Connection: close
Content-Type: text/html

<!DOCTYPE html>
<html>
<head>
<title>I'm a teapot</title>
</head>
<body>
<h1>I'm a teapot</h1>
<p>This server is a teapot, and it cannot brew coffee.</p>
</body>
</html>

The 418 status code is a humorous code that indicates the server is a teapot and cannot brew coffee. It is not meant to be used seriously and is not expected to have a real impact on the client or SEO.

Who created the 418 status code?

The 418 status code was created by April King, who was a member of the Internet Engineering Task Force (IETF) at the time. She proposed it as part of an April Fools’ Day joke in 1998.

Additional resources


Return to List of HTTP Status Codes

TO TOP