tools / port reference / node.js dev server (default)
port 3000 · Node.js dev server (default)

Port 3000 — Node.js / dev tools

Port 3000 is the de-facto default for Node.js dev servers (Next.js, Express, Create React App, Vite preview). Hit a 'port already in use' error? Something's bound to it. Free it before retrying.

beginner Node.js dev server (default)

Find the process + connect / kill

# macOS / Linux
lsof -i :3000           # show pid + command
ss -ltnp | grep :3000   # alternate, Linux
portcheck 3000          # voiddo's portcheck — same info, friendlier

# Kill the process
kill -9 $(lsof -t -i :3000)

# Or change YOUR app's port:
PORT=3001 npm start

Typical services on this port

Alternatives

Common alternatives if 3000 is taken: 3001, 3002, 4000, 8000, 8080. Most dev tools accept `--port` flag or PORT env var.

Common pitfalls

InputResult
Killing port 3000 sometimes kills your IDE's plugin server (some VSCode extensions use 3000). Check `lsof -i :3000` BEFORE killing.
On macOS, `lsof` may need sudo for privileged ports. For 3000+, normal user works.
Docker port-mapping: `docker run -p 3000:3000` binds the HOST's 3000. If a host process is on 3000, container fails to start.

Edge cases & caveats

Common use cases

See what's bound to your local ports
portcheck shows pid, command, user, address — faster than netstat, simpler than ss. Linux + macOS, zero dependencies, MIT-licensed.
Open portcheck  

Related

PostgreSQL · Alternate HTTP / proxies / Tomcat · Cheatsheet of common dev ports · MySQL / MariaDB · ↗ dev server health-check cadence