What is PortKiller?
PortKiller is a cross-platform port management tool for developers. It auto-discovers every listening TCP port, then terminates the process holding it with one click, choosing between a graceful and a force kill. Beyond plain ports it manages `kubectl port-forward` sessions with auto-reconnect, and shows and manages active Cloudflare Tunnel connections. It runs on macOS (menu bar) and Windows (system tray) with a native UI on each. It is free and open source under the MIT licence.
Verified product facts
- Type
- port managerEditorially reviewed
- Platform
- macOS
- Pricing
- Open sourceDeveloper-stated
- Open source
- Yes
- Developer
- 葛 姜Developer-stated
- Relationship to Nuanyue
- Third-party product — not published by NuanyueEditorially reviewed
- Licence
- MIT
- Current version
- 3.3.3Developer-stated
- Official website
- github.com/productdevbook/port-killer
Last updated . Facts marked developer-stated come from the developer and are not independently confirmed; editorially reviewed marks a Nuanyue judgement.
Key features
What PortKiller does at a glance.
Auto-discovers all listening TCP ports
One-click process termination
With graceful and force kill
Create and manage kubectl port-forward sessions
With auto-reconnect
View and manage active Cloudflare Tunnel connections
Search and filter
By port number or process name
Smart categorisation
Web server, database, development, system
What you can use PortKiller for
- Finding which process is holding port 3000 and stopping it
- Keeping a kubectl port-forward alive across a connection drop
Who is PortKiller for?
- Developers who run local servers and lose ports to processes they cannot name
- Anyone who works with Kubernetes port-forwards and wants them visible
Who is PortKiller not for?
- Users who want to inspect packets or traffic — PortKiller manages ports, not what moves through them
Strengths and trade-offs
What PortKiller does well, and what to weigh before choosing it. Points marked developer-stated come from the developer’s own material and have not been independently confirmed.
Strengths
- Free and open source under the MIT licence, with no account and no paid tier.
- Manages kubectl port-forward sessions with auto-reconnect on connection loss, which plain `kubectl` does not do.
- Shows and manages active Cloudflare Tunnel connections, so a tunnel is visible rather than invisible in a terminal.
- Auto-discovers every listening TCP port and categorises them — web server, database, development, system — rather than listing raw output.
Trade-offs
- The README states macOS 15.0 or later, while the Mac App Store build reports macOS 26.2 as its minimum — the two disagree, so the version that applies depends on which build you install.Editorially reviewed
- It manages ports, not traffic — inspecting what actually moves over them needs a proxy such as Proxyman.Editorially reviewed
- Force kill is available alongside graceful termination, so an impatient click can terminate a process that would have exited cleanly.Editorially reviewed
What it does
PortKiller finds what is holding a port and stops it. The mechanism is unremarkable — auto-discover every listening TCP port, then choose graceful or force termination with one click — but the framing is the point: the unit of work is the port, not the process, so you start from the number in your error message rather than from a process name.
Around that it adds the things that make a port list usable day to day: search and filter by port or process name, favourites for the ports you check often, watched ports with notifications, and categorisation into web server, database, development and system so a long list reads in groups.
Where it fits
The two features that go past what a terminal gives you are Kubernetes port
forwards and Cloudflare tunnels. kubectl port-forward sessions can be created
and managed inside the app, and PortKiller reconnects them automatically when the
connection drops — which is the failure that sends people back to the terminal to
re-run the command. Cloudflare Tunnel connections are listed and manageable too,
so a tunnel stops being something invisible that may or may not still be up.
It runs on macOS 15.0 or later with a menu bar integration, and on Windows 10 or later with a system tray app, each with a native UI. Linux is not listed.
One thing it does not do: inspect traffic. If you need to see what is actually moving over the connection, you want a proxy such as Proxyman alongside it.
Questions about PortKiller
How do I find what is using a port?
PortKiller auto-discovers all listening TCP ports, and you can search or filter by port number or process name.
Does it support Kubernetes port-forwarding?
Yes. You can create and manage kubectl port-forward sessions, and it reconnects automatically when the connection drops.
Which platforms does PortKiller support?
macOS 15.0 or later, with a menu bar integration, and Windows 10 or later with a system tray app. Linux is not listed.
How do I install PortKiller?
With Homebrew: brew install --cask productdevbook/tap/portkiller, or download the .dmg from GitHub Releases.
Alternatives to PortKiller
Apps that could replace this one — the same job, a different trade-off.
Bye AppQuit
A minimal menu bar app to quickly view and kill running processes.
Both stop running processes from the menu bar. Bye AppQuit lists whatever apps you quit; PortKiller finds the process by the port it is holding.
Works well with
Not a replacement — apps commonly used alongside this one.

Vorssaint
Open-source menu bar toolkit for per-app volume, system monitoring, window control, clipboard history, keeping awake, and app cleanup.
Vorssaint offers menu-bar system monitoring and window control; PortKiller covers the specific job of finding what holds a port.
Proxyman
Native macOS HTTP debugging proxy with HTTPS decryption.
PortKiller manages which ports are open and which forwards are running; Proxyman inspects the traffic that moves through them.
Links
Sources
Facts on this page are checked against the sources below. Last updated .


