USB-C cables can be a mess. One cable charges at 5W, another does 100W and Thunderbolt 4, and they look identical in the drawer.
WhatCable sits in your menu bar and reads the cable data your Mac already has access to. Plug in a cable and it tells you in plain English what it can actually do: charging wattage, data speed, display support, Thunderbolt, etc.
Built in Swift/SwiftUI. Open source, free, no tracking.
Cool. Just want to chime in that I wanted to see how quickly GPT-5.5 can turn this into a KDE Plasma 6 Plasmoid. Took about 10 minutes and two dollars, and now I have a nice QML app showing the same information in my taskbar.
Just wanted to say this because I feel it's really crazy that I can just do this today...
I tried to contribute back adapter current Wattage display to stats, but I got my PR closed without comment. It is similar to this:
This is pretty nice, but why do a lot of Mac apps insist on living in the menu bar?
I love that this is a native mac app. Thanks for building this, and thanks for sharing.
can something like this be done for linux? maybe a wrapper for lsusb. I just found https://github.com/doug-gilbert/lsucpd which adds PD and more.
Doesn't work for me. Says "No USB-C ports detected", although I'm pretty sure my monitor is connected via USB-C, and the monitor also has a built-in USB hub where my USB keyboard is connected to.
I remember seeing a recent analysis where the vast majority of cables from Amazon misreported their capabilities. Is this tool going to be able to catch those, or blindly report what the chip advertises?
Thanks for creating this. I'm blind so the $16 USB tester off amazon to sort through my drawer of cables is not an option. This will stop me from needing to buy a sbc just so I have something running Linux to test cables.
Pretty cool. What I don't understand is why both my USB@1 and USB@2 show the same connected devices. I'd expect to only see the respective devices. USB@1 is my USB-hub monitor, the other one is connected to my phone. Both show keyboard, etc. plus my phone as connected devices.
Good stuff, but it's telling me that my USB-C Thunderbolt cable has been plugged in upside down but the connector handled this. I was not aware that you can plug in something into USB-C upside down!
I would like to ask an LLM to rewrite it as Python CLI script. Is it even possible, or some Swift-only functionality is necessary?
P.S. Some time ago I learnt through HN of a one-line command in macOS which revealed the power (Wattage) of the connected charger. Can't find it now, but it was very useful.
14 Inch 2021 MBPro / M1 Pro chip / Sonoma 14.5
WhatCable says "No USB-C Ports Detected".
System info clearly shows my iPhone attached to USB 3.1 Bus.
I am definitely gonna contribute or fork to create an open leaderboard of cable brands and quality :D
Great project. It would be even better if it supported platforms other than Mac.
oh my god, this is going to change my life if it works.
Cool ! Would love a brew installation as well
Tangential, but LLT recently came out with their own lineup of USB-C cables guaranteed to be up to spec. And they have the main specs printed on each cable end, so you know what you grab.
That should be mandatory.
I like the idea and thanks for sharing, but I do think folks who vibe code or use Claude should take their time using, testing, and improving app before rushing to share. This was pushed/deved like 2 hours ago
The 'plugged upside down' is weird for a USB-cable. Especially as that doesn't work. I tried plugging it 'the other way around' and it showed the same 'upside down' warning
Nice!
[dead]
I get that the connectors are identical but I find it odd that people find it so challenging. Thunderbolt is the thick and short cable. If it's not thick it's not gonna work well and if it's over a metre it's not gonna work well. cf my pile of thin long "basic" usb c cables.
Props to @sleepingNomad here, who has done 16 releases in the last 7 hours, incorporating feedback from HN on the fly!
* Don't like menubar apps? you you can run it as a normal app
* Don't like GUIs? Now you can run it on the command line
Just look at that Changelog:
https://github.com/darrylmorley/whatcable/releases?page=2