HTTP 500 Internal Server Error
What a 500 Internal Server Error response means, why it happens, and the fastest ways to fix it.
The generic "something broke on the server" response — an unhandled exception, a crashed handler, or a misconfiguration the server won't detail publicly.
- Unhandled exception in application code.
- Bad deployment, missing environment variable, broken dependency.
- Database errors bubbling up unhandled.
- Check the server/application logs — the real error is there, never in the response.
- Reproduce with the exact failing payload in staging.
- Add error tracking (Sentry-style) so 500s carry stack traces you can act on.
Notes
HTTP status codes are defined in RFC 9110 (which replaced RFC 7231). The first digit is the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error.
Same class: 501 · 502 · 503 · 504 · 505 · 507
All codes: HTTP status code reference
Frequently asked questions
What does HTTP 500 mean?
HTTP 500 Internal Server Error: The generic "something broke on the server" response — an unhandled exception, a crashed handler, or a misconfiguration the server won't detail publicly.
How do I fix a 500 error?
Check the server/application logs — the real error is there, never in the response. Reproduce with the exact failing payload in staging. Add error tracking (Sentry-style) so 500s carry stack traces you can act on.
Is a 500 my fault or the server's?
500 is a server error — something on the server side (or between the proxy and the app) failed.