Home / Localhost / XAMPP Apache not starting

XAMPP Apache will not start (port 80 or 443 in use)

Why Apache stops right after starting in XAMPP, and how to change its port or free port 80.

Two programs try to use port 80, but only one can, so Apache will not start

When Apache stops right after you start it in XAMPP, another program is almost always using port 80 or 443. You can free the port or move Apache to port 8080.

How to fix it

  1. In the XAMPP Control Panel, click Logs next to Apache. A line like “Port 80 in use by …” names the cause.
  2. Check the port with the tool below. Programs that often use port 80: IIS, the World Wide Web Publishing Service, another Apache, SQL Server Reporting Services. Port 443: VMware Workstation.
  3. Either stop that program, or change XAMPP: click Config, then Service and Port Settings, and set the main port to 8080 and SSL to 4433.
  4. Restart Apache and open http://localhost:8080.

Find what is using port 80

Run these in a terminal on your computer. Nothing is sent to this site.

Related problems and fixes

MySQL shuts down unexpectedly
Another MySQL service (for example MySQL80) already uses port 3306. Stop it in Services, or change the port in XAMPP.
Installed in Program Files
Windows permissions cause problems. Reinstall XAMPP in C:\xampp.
After changing the port nothing opens
Add the port to every address, such as localhost:8080/phpmyadmin.

Questions about XAMPP Apache not starting

Why does Apache stop right after starting in XAMPP?
Another program uses port 80 or 443. The Apache log in XAMPP names it.
How do I change the Apache port in XAMPP?
Open Config, then Service and Port Settings, set the main port to 8080, and open localhost:8080.

Updated 2026-10-02

Config generators for this

Related pages