HTTP 500

HTTP 500 Internal Server Error — Meaning, Causes & How to Fix

A generic error message; the server encountered an unexpected condition.

Code
500
Name
Internal Server Error
Class
5xx Server Error
Specification
RFC 9110 §15.6.1
Cacheable by default
Only with explicit Cache-Control / Expires

What HTTP 500 means

500 Internal Server Error is the catch-all for an unexpected failure on the server. It tells you something broke, not what — the real cause is in the server or application error log.

Common causes

How to fix it

For site owners

For visitors & developers

SEO impact

Googlebot slows down crawling when it sees 5xx errors, and URLs that keep returning 500 are eventually dropped from the index. Short outages are tolerated; fix persistent 500s quickly.

Example 500 response

HTTP/1.1 500 Internal Server Error
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

Related status codes

502 · Bad Gateway503 · Service Unavailable504 · Gateway Timeout501 · Not Implemented505 · HTTP Version Not Supported

Check or look up another code

Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.

Open HTTP Status Codes tool →All status codes

Frequently asked questions

What does HTTP 500 mean?

HTTP 500 Internal Server Error is a 5xx Server Error status code. A generic error message; the server encountered an unexpected condition.

How do I find the cause of a 500 error?

Check the server’s error log at the exact time of the request. In PHP, the error log usually names the file and line that failed.

Is a 500 error my fault as a visitor?

No. It is a server-side failure; there is nothing wrong with your browser or connection.

Which specification defines 500?

It is defined in RFC 9110 §15.6.1.

Is a 500 response cacheable?

Not by default. A 500 response is only stored by caches when it carries explicit freshness information such as Cache-Control: max-age or Expires.

More PAYATE tools