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
- An uncaught exception or fatal error in application code (PHP, Node, Python…).
- A syntax error in
.htaccessor server config. - Wrong file permissions on scripts.
- Database connection failures or exhausted memory limits.
How to fix it
For site owners
- Read the error log first (web server log, PHP error log, app logs).
- Undo the last deployment or config change if the error started right after it.
- Never show stack traces to visitors; log them privately.
For visitors & developers
- Reload after a minute; the issue is on the server side.
- If it keeps happening, report it to the site owner with the time and URL.
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
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 codesFrequently 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.