$ lsof -i :3000
Every local port.
One keystroke away.
peekport lives in your menu bar and shows what is listening on localhost: the project, how it was started, and for how long. Open it, copy the URL or stop it, including the npm run dev behind it.
Download for free
macOS 15 and newer · Apple Silicon and Intel
Before
$ lsof -i :3000
COMMAND PID USER ... NAME
node 41233 you ... *:3000 (LISTEN)
$ kill 41233
$ lsof -i :3000
node 41250 you ... *:3000 (LISTEN)
# npm run dev started it again
With peekport
⌃⌥POpen peekport from any app
3000Type to filter
⌘⌫Stop next dev, and npm run dev with it
↩Confirm. Port 3000 is free.
Built for a Mac full of dev servers
Grouped by project
Ports sit under the folder they were started from, not in a list of PIDs.
Start commands, not "node"
next dev, vite, uvicorn main:app. Tell three servers in one project apart.
Docker, by name
Containers show their service and image, inside their compose project. Supabase stacks too.
Stops what restarts it
npm run dev, nodemon, turbo, or the whole compose project. One checkbox.
Down alerts
Watch a port and get notified when it stops listening.
Your editor, your terminal
⌘O opens the project in Cursor, VS Code or Zed. ⌘T in Warp, Ghostty, iTerm or Terminal.
- 16 MB
- of memory, all it needs
- 0%
- CPU while it sits idle
- 0
- accounts, trackers or network calls
- ⌃⌥P
- from any app, or pick your own
What’s on port 3000?
Press ⌃⌥P and find out.
Download for free