Port 3000: What's Using It and Is It Safe to Kill?
Port 3000 is the default for Node, React, and Rails dev servers. Here's what listens on it, whether it's safe to close, and how to free it on macOS.
Port 3000 is the default port for a long list of development servers. If something on your Mac is using it, that something is almost always a local web app you started.
What typically listens on port 3000
- Node.js apps: Express and many other Node setups default to 3000.
- Create React App: The React dev server starts on 3000.
- Ruby on Rails:
rails serverdefaults to 3000. - Next.js and others: A wide range of JavaScript frameworks pick 3000 out of the box.
It’s in the registered range (1024-49151), so any app can bind it without admin rights.
Is it safe to kill?
Yes. A process on 3000 is something running on your own machine, not a macOS system service. Killing it frees the port and stops that server. Just confirm it isn’t a server you still need.
Is it suspicious?
On a development machine, no. Seeing 3000 in use is routine. It’s worth a look only if you don’t recognize the owning process and never run web servers. The command below shows the name.
How to find and free port 3000 on macOS
lsof -i :3000
To free it:
kill -9 $(lsof -ti :3000)
For the full walkthrough of the EADDRINUSE error, see Port 3000 already in use on Mac. Portie shows port 3000 with the app that owns it in its live list, and the $8.99 unlock lets you kill it from the row without Terminal.