🫖
418
I'm a Teapot
!
?

Example HTTP Response

HTTP Response
HTTP/1.1 418 I'm a teapot
Content-Type: message/teapot

I'm a little teapot, short and stout...
Common Causes
  • Server is literally a teapot
  • Easter egg response
  • Developer having fun
Technical Details

What does this mean?

I'm a teapot, short and stout! This is a real HTTP code that exists because engineers have a sense of humor.

Technical Definition

The server refuses the attempt to brew coffee with a teapot. An April Fools' joke from 1998.

RFC Says

"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."

Plain English:

418 was an April Fools' joke from 1998 about the Hyper Text Coffee Pot Control Protocol. It means 'I'm a teapot, not a coffee pot!' While it's not a real status code for production use, it's beloved by developers and sometimes used as an easter egg or for testing purposes.

Common Misinterpretation

Don't use 418 in production APIs unless you're being intentionally whimsical. Some frameworks and tools actually support it because of its cult status, but it's not part of the official HTTP specification - it's from RFC 2324, an April Fools' RFC.

Code Snippets

Ready-to-use code for returning this HTTP status in your application:

Node.js
// Express.js
app.get('/example', (req, res) => {
  res.status(418).json({
    error: 'I'm a Teapot',
    message: 'Your error message here'
  });
});

// Native HTTP
const http = require('http');

http.createServer((req, res) => {
  res.writeHead(418, { 'Content-Type': 'application/json' });
  res.end(JSON.stringify({
    error: 'I'm a Teapot',
    message: 'Your error message here'
  }));
}).listen(3000);