macOS menu bar diagnostics for USB-C

Know what your USB-C cable can really do.

WhatCable explains cable speed, charging limits, e-marker data, and connected devices in plain English. Name a cable and it tracks how the cable actually performs over time, so you can spot the one that has started misbehaving. No more guessing why a cable charges slow or refuses to drive your display.

Or unlock advanced diagnostics with WhatCable Pro

Open source, Pro optional Apple Silicon, macOS 14+ Signed and notarised Available in 19 languages
WhatCable menu bar popover showing two USB-C ports. One has no e-marker yet so WhatCable offers an Add this cable action. The other is carrying both data and DisplayPort video to a 100W charger over a named Anker Thunderbolt cable that WhatCable is tracking, with a Display Diagnostics note that the video is going through a HDMI adapter holding the display below its top mode.

As featured in

Lifehacker MakeUseOf Adafruit Boing Boing

Every USB-C cable looks the same. They are not.

Your drawer is full of identical-looking cables. Some charge at full speed, some crawl. Some carry video, some can barely handle a mouse. The connector tells you nothing. And the cable that worked last month might be the one that has started misbehaving today.

USB 2.0
480 Mbps, 60W

Charges slowly, no video output. Fine for a keyboard, terrible for an external display or fast storage.

USB4
40 Gbps, 100W

Fast data, good charging. Handles most displays and external SSDs without issues.

Thunderbolt 4
40 Gbps, 240W

Full speed data, maximum charging, dual 4K displays. The cable your dock needs but you cannot tell by looking.

Plain answers for cables that all look the same.

WhatCable reads the USB-C and USB Power Delivery details macOS already exposes, then turns them into useful labels, charging diagnostics, and port-by-port device context.

Charging bottlenecks

See whether the cable, charger, or Mac is limiting the current charge rate, with the negotiated power profile highlighted.

Mid-session fault warnings

If a cable develops trouble while it is plugged in (an overcurrent or the connection dropping and reconnecting), a banner appears on the port. Catches faults that only show up under load.

Data-speed bottlenecks

A plain-English verdict on what is limiting the link: the Mac port, the cable, or the device, so you know whether a faster cable would actually help.

Display bottlenecks

When a monitor is connected, see whether the link is carrying its full resolution and refresh, or falling short, and whether an adapter, the cable, or the selected mode is the limit.

Cable e-marker data

Decode cable speed, current rating, vendor identity, and USB PD capability flags from marked USB-C cables.

Active transports

Identify USB 2, USB 3, USB4, Thunderbolt, and DisplayPort paths under the physical port where they are connected.

Engineer mode

Option-click or enable raw details to reveal the underlying IOKit properties when you need the registry-level facts.

Device identity

Match storage, hubs, docks, and peripherals back to the port they are using, including the negotiated USB speed.

Built for macOS

A focused menu bar app on Apple Silicon Macs. No helper daemon, no private API, no background uploads.

Speaks your language

Fully translated into 19 languages, the diagnostic verdicts included, so you read what your cable is doing in your own language. Follows your Mac, or pick one in Settings.

See what your cables are doing right now.

The free app tells you what your cable can do and, in plain English, where the bottleneck is. Pro shows you the full picture: live power flowing through each port, real-time PD contracts, the full negotiation breakdown of every connection, port health over time, and the raw VDO fingerprints behind every cable.

15 advanced features, £9.99 one-time, works on up to 2 Macs.

Unlock Pro

The same diagnostic engine in your terminal.

The bundled CLI gives you quick snapshots, structured JSON for scripts, and watch mode when you are swapping cables during testing.

  • Readable summaries for quick cable checks.
  • Pipe JSON into jq for repeatable diagnostics.
  • Live updates as ports connect and disconnect with --watch.
  • Full-screen live dashboard of ports, power, and Thunderbolt with --dashboard (Pro).
$ whatcable

USB-C Port 1
  ✓ Charging well at 96W
  Cable: 5A, 100W, USB4 40 Gbps
  Charger: 5V / 9V / 15V / 20V PDOs

USB-C Port 2
  ! Cable is limiting charging speed
  Cable: 3A, 60W, USB 2.0
  Device: External SSD, USB 10 Gbps

Spot cables that don't add up.

WhatCable checks the e-marker data against the USB Power Delivery spec. When something looks unusual, an orange card appears with the details. It is not a guarantee the cable is fake, but it tells you where to look.

  • Vendor ID checked against the USB-IF published list.
  • Speed and current fields validated against PD spec ranges.
  • Reserved bit patterns and zero-value metadata flagged.
Cable trust flags
  • Vendor ID is 0x0000 (not registered with USB-IF)
  • Cable latency field uses a reserved value
  • Claims 5A current but reports USB 2.0 speed

Cables seen by WhatCable users.

Every cable reported through the app gets added to a public, searchable database. Check if your cable has been seen before, or browse what others are using.

USB4 80 GbpsCalDigit TB5 cable240W, passive
USB4 40 GbpsUGREEN Revodok Max 213100W, passive
USB 2.0Anker 333 nylon100W, passive
USB 3.2 Gen 2Monoprice Essentials100W, passive
USB4 40 GbpsCalDigit TS4 bundled100W, passive
Browse all cables

Make it yours.

WhatCable stays out of the way until you need it. A few settings let you control how it runs and what it shows.

Notifications

Get alerts when cables connect or disconnect.

Dock mode

Run as a regular window instead of a menu bar icon.

Launch at login

Start automatically so it is ready when you plug in.

Hide empty ports

Only show ports with something plugged in.

Need more? Pro goes deeper.

The free app covers cable identity, charging info, device detection, and a plain-English verdict on what is limiting each link. Pro adds Cable history so a named cable's performance is recorded over time, Negotiation Diagnostics with Mac port, cable, and device side by side and the weak link called out, Display Diagnostics showing whether the link is carrying your monitor's full resolution and refresh, plus live power metering, PD contract inspection, port health counters, a full-screen terminal dashboard, and more. All from IOKit, no extra software needed.

£9.99 one-time. Works on up to 2 Macs.

Cable historyAdd a cable, give it a name, and WhatCable records how it performs over time, with a verdict per cable.
Negotiation DiagnosticsMac port, cable, and device support side by side, with the weak link highlighted.
Display DiagnosticsWhether the link is carrying your monitor's full resolution and refresh, or falling short.
Live power meteringWatts, amps, and voltage per port, updating every 2 seconds.
Port health countersLifetime resets, shorts, errors, and FET failures per port.
DP Alt Mode and EDIDLane count, link rate, and full monitor identity over USB-C.
PD contract inspectorFull PDO list, active voltage/current, and mismatch flags.
Terminal dashboardLive full-screen view of ports, power, and Thunderbolt with --dashboard.

Common questions.

Does it work on Intel Macs?

No. Intel Macs use Titan Ridge Thunderbolt controllers that don't expose USB-PD state or cable e-marker data through any public macOS API. WhatCable needs Apple Silicon (M1 or later) to read this information.

Is it really free?

Yes. The WhatCable app is free and open source under the MIT licence. No ads, no tracking. WhatCable Pro (£9.99, optional) adds advanced diagnostics for power users. See what's included.

What does WhatCable Pro add?

Pro unlocks 15 advanced features including cable history (named cables with a recorded timeline), live power metering, Negotiation and Display Diagnostics, port health counters, PD contract inspection, and raw VDO identity. One-time £9.99, no subscription, works on up to 2 Macs. See full features and comparison.

Does it phone home or collect data?

No. There are no analytics, no telemetry, and no network requests. The app reads local IOKit data and nothing else. Check the source on GitHub if you want to verify.

Why does my cable show no e-marker data?

Two reasons. Either the cable has no e-marker chip (cheap USB 2.0 cables and many cables rated at 3A or below don't have one), or it has a chip but macOS hasn't read it. macOS only asks a cable to identify itself when the connection needs it: a charge drawing more than 3A (a 5A cable on a high-wattage charger), or a Thunderbolt / USB4 link. Plug a marked cable into a low-power charger or a plain data connection and macOS may never query it, so there's nothing for WhatCable to show. To force the read, connect the cable to a high-wattage charger or a Thunderbolt device.

Can it tell me if a cable is fake?

Not definitively. The trust signals feature flags values that look unusual against the USB-PD spec, like a zero vendor ID or reserved bit patterns. A flag means "worth checking," not "definitely counterfeit."

What languages is WhatCable available in?

19, and the diagnostic verdicts are translated too, not just the menus: Armenian, Brazilian Portuguese, Dutch, English, French, German, Hindi, Italian, Japanese, Korean, Latvian, Norwegian, Polish, Russian, Simplified Chinese, Spanish, Traditional Chinese, Turkish, and Ukrainian. WhatCable follows your Mac's language by default, or you can pick one in Settings. Translations are community-refinable, so if something reads oddly in your language, open an issue and we'll fix it.

Pick the install that fits how you work.

Menu bar app, command-line tool, or both. Signed, notarised, and universal. Requires macOS 14 or later on Apple Silicon.

Recommended: Homebrew

Menu bar app plus the whatcable CLI on your PATH.

brew install --cask darrylmorley/whatcable/whatcable
CLI only

Just the whatcable command, no menu bar app. Same signed binary, useful for terminal-only setups and scripts.

brew install darrylmorley/whatcable/whatcable-cli
Direct download

Grab the latest .zip from GitHub Releases. The release page also has a CLI-only zip. Drag WhatCable.app into Applications.

Get the latest release