Port 8000 (Django, Python)
Port 8000 is the default of the Django development server (manage.py runserver) and of Python’s built-in web server (python -m http.server). IANA has it registered for an unrelated service (irdmi).
- Service
- Django, Python
- Protocol
- TCP
- IANA registry
- Assigned to a different service: irdmi (iRDMI), TCP/UDP. The use described here is not registered.
- Commonly used by
Check if a port is open on your IP
We only check the address you are visiting from, one TCP port at a time. You cannot enter someone else’s address: this is not a port scanner.
Is it safe to open port 8000?
Both servers are for development only and serve whatever folder they run in. Keep them on localhost; if 8000 must be reachable, put a real web server with TLS in front.
“Port 8000 is already in use”: how to fix it
The error means another program is already listening on port 8000. Find its process ID (PID), then stop that program or start yours on a different port.
Windows (Command Prompt or PowerShell as administrator)
netstat -ano | findstr :8000taskkill /PID <PID> /FmacOS
lsof -nP -iTCP:8000 -sTCP:LISTENkill <PID>Linux
sudo ss -ltnp | grep :8000sudo lsof -i :8000sudo kill <PID>Replace <PID> with the number from the last column (Windows) or the PID column (macOS, Linux).
Port 8000 vs 8080
Neither is special in itself: both are high ports any user may open. 8080 is registered as HTTP Alternate and is the default for Tomcat and Jenkins; 8000 is what Django and Python’s http.server pick. Choose either for local development; in production, put the app behind a web server on 443.
Port 8080 (HTTP alternate)Why a port can look closed when your server is running
Most home networks sit behind a router doing NAT: the router owns the public address, and your computer has a private one such as 192.168.1.10. A connection from the internet reaches the router and stops there unless you add a port forwarding rule to your computer.
Many mobile and some home providers go further and use carrier-grade NAT (CGNAT): several customers share one public address, and your router itself gets an address from 100.64.0.0/10. Then no rule on your side can open a port; ask the provider for a public IP or use a tunnel or VPN service.
Even with forwarding in place, the firewall on the computer (Windows Defender Firewall, ufw, firewalld) must allow the port, and the program must listen on all interfaces (0.0.0.0), not only on 127.0.0.1.
UDP cannot be checked this way: a UDP service usually stays silent to packets it does not understand, so “no answer” means nothing. This check uses TCP only.
Frequently asked questions
What is port 8000 used for?
Port 8000 is the default of the Django development server (manage.py runserver) and of Python’s built-in web server (python -m http.server). IANA has it registered for an unrelated service (irdmi).
Is port 8000 TCP or UDP?
Port 8000 uses TCP. This use is not registered with IANA.
Is it safe to open port 8000?
Both servers are for development only and serve whatever folder they run in. Keep them on localhost; if 8000 must be reachable, put a real web server with TLS in front.
How do I free port 8000 if it is already in use?
Find the process: on Windows run netstat -ano | findstr :8000 and stop it with taskkill /PID <pid> /F; on macOS or Linux run lsof -i :8000 and stop it with kill <pid>.