Every open port, named, in one menu bar click.

PortBar watches every listening TCP port on your Mac in real time, names the service behind it, and lets you pin, inspect, or kill it without opening a terminal.

Free. Requires macOS 26 or later. Runs entirely on your Mac.

PortBar

Listening for new connections…

5 listening
Next.js
Vite
Postgres
Docker
Redis
Storybook
Filter ports or processes

PINNED

Vite

Port 5173

PID 8841

ACTIVE PORTS

Postgres

Port 5432

PID 2210

Redis

Port 6379

PID 2298

Docker

Port 2375

PID 1904

Storybook

Port 6006

PID 9012

Updated every 2 seconds

82

services recognized

Node, Vite, Postgres, Docker, Next.js, and more

0.75–10s

scan interval

set your own refresh rate in Settings

8

curated packs

frontend, backend, data, infra, and more

0

background daemons

built on lsof and ps, nothing else installed

Your laptop is running more servers than you can name.

A frontend on 3000, an API on 8000, Postgres on 5432, Redis somewhere behind it, a Docker daemon you forgot was running. Six months into a project, half your terminal tabs exist just to remember what is listening where.

Then EADDRINUSE hits, and you are back to typing lsof -i :3000, squinting at a PID, and hoping kill -9 does not take down something you needed.

PortBar keeps that answer one click away, all the time, without a single terminal command.

Everything you’d want from a port monitor, built into the menu bar.

Every listening port, live

PortBar scans every open TCP listener on your Mac on a schedule you control, from 0.75 seconds up to 10, and shows exactly what started and what stopped.

Knows what's running

Every listener is matched against 82 built-in services by process, launch command, and port range, then grouped into 8 packs you can turn on by role.

Pin what you care about

Pinned ports stay at the top of the list even when they are offline, so a service you check daily never gets buried under background noise.

Every detail, one hover away

Hold on a listener to see its PID, bind address, parent process, and uptime, then jump straight to its working directory in Finder or your terminal.

Stop a runaway process tree

Terminate a listener and every child process it spawned in one click. PortBar sends SIGTERM first and escalates to SIGKILL only if it refuses to quit.

Notified the moment things change

Turn on native macOS notifications per service group, so you know the instant a database comes online or a dev server crashes in the background.

A local log of everything that ran

Start and stop events are saved to ~/.portbar/history.json with 7, 30, 90-day, or forever retention, so you can trace back what was running and when.

Make the catalog yours

Edit any built-in service or add your own by port range, process name, or launch command pattern, and pick the accent color the whole menu takes on.

No daemons, no kernel extensions. Just the same tools you’d reach for yourself, automated.

01

Scan

Every 0.75 to 10 seconds, PortBar runs lsof in the background to list every socket currently in LISTEN state.

02

Enrich

Each PID is cross-referenced with ps for its parent process and uptime, and with lsof again for its working directory.

03

Match

The port, process name, and launch command are checked against the 82-service catalog to attach a name, icon, and color.

04

Surface

The menu bar count and dropdown update instantly, and a notification fires if you subscribed to that service.

82 services, recognized the moment they start listening.

Every entry ships with its own ports, process rules, icon, and color. Turn on a whole pack for your role, or enable services one at a time.

Frontend web

Web frameworks, bundlers, and component labs
ViteNext.jsSvelteKitNuxtAngularStorybookAstroRemixGatsbyVue CLISolidStartQwik City

Backend APIs

Application frameworks and API servers
Node serverDjangoGraphQLFlaskFastAPILaravelRailsSpring Boot.NETPhoenixExpressNestJSHonoAdonisJSKtorVaporGin

CMS & platforms

Headless CMS, backend platforms, and GraphQL consoles
AppwritePocketBaseStrapiDirectusPayloadHasuraSupabase

Data & queues

Databases, search, caches, and message brokers
PostgresRedisMySQLMongoDBMariaDBElasticsearchRabbitMQKafkaZookeeperNATSMemcachedMinIOCouchDBClickHouseNeo4jInfluxDBMeilisearchTypesensePulsar

Infrastructure & proxy

Containers, proxies, service mesh, and local cloud
DockerTraefikCaddyNGINXKeycloakConsulVaultLocalStackDaprEnvoyFirebase emulators

Observability & workflows

Metrics, tracing, mail catchers, and workflows
PrometheusGrafanaJaegerOpenTelemetryMailpitMailHogSentryTemporal

Mobile

React Native, Expo, Flutter, and Capacitor
React NativeExpoFlutter DevToolsCapacitor

Dev utilities

Proxies, mock APIs, and browser test reports
BrowserSyncJSON ServerngrokPlaywright report

What’s running on your machine stays on your machine.

PortBar reads process data with lsof and ps, the same tools you already trust from a terminal.

Activity history is written to ~/.portbar/history.json, a plain file on your disk.

There is no account, no server, and nothing about your ports or processes ever leaves your Mac.

Put every open port in your menu bar.

Free to download, nothing to configure to get started. Turn on the services you use and PortBar handles the rest.

Requires macOS 26 or later · Free, no account needed