HTTPError.net

The fastest way to diagnose, understand, and fix any HTTP status code

500 Internal Server Error

Fault: Server
TL;DR

Generic server error when no specific error code is appropriate.

The server encountered an unexpected condition that prevented it from fulfilling the request.

What This Error Means

The server encountered an unexpected condition that prevented it from fulfilling the request.

Generic server error when no specific error code is appropriate.

Common Causes

How to Fix It (For Visitors)

How to Fix It (For Developers/Admins)

Code Examples

Here's how to return a 500 status code in various programming languages:

Python (Flask)

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/endpoint')
def endpoint():
    return jsonify({"message": "Internal Server Error"}), 500

Node.js (Express)

const express = require('express');
const app = express();

app.get('/endpoint', (req, res) => {
    res.status(500).json({ message: 'Internal Server Error' });
});

PHP

<?php
http_response_code(500);
header('Content-Type: application/json');
echo json_encode(['message' => 'Internal Server Error']);
?>

Go

package main

import (
    "encoding/json"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("Content-Type", "application/json")
    w.WriteHeader(500)
    json.NewEncoder(w).Encode(map[string]string{
        "message": "Internal Server Error",
    })
}

Java (Spring Boot)

@GetMapping("/endpoint")
public ResponseEntity<Map<String, String>> endpoint() {
    Map<String, String> response = new HashMap<>();
    response.put("message", "Internal Server Error");
    return ResponseEntity.status(500).body(response);
}

Ruby (Sinatra)

get '/endpoint' do
    status 500
    json message: 'Internal Server Error'
end

Browser Compatibility

Browser Support Notes
Chrome✓ Full SupportAll versions
Firefox✓ Full SupportAll versions
Safari✓ Full SupportAll versions
Edge✓ Full SupportAll versions

Official Specification

This status code is defined in RFC 7231 Section 6.6.1.

View on IANA HTTP Status Code Registry →