Iwd vs Networkmanager
iwd is Intel's lean, modern Wi-Fi daemon; NetworkManager is the all-purpose connection manager. Which one belongs on your machine depends on whether you run a desktop or a router-grade box.
The short answer
Networkmanager over Iwd for most cases. NetworkManager handles Wi-Fi, Ethernet, VPN, mobile broadband, and bridges with one daemon and first-class GNOME/KDE/nmcli integration.
- Pick Iwd if run a minimal or embedded system, only need Wi-Fi, and want fast roaming, built-in supplicant, and a tiny footprint with zero wpa_supplicant baggage
- Pick Networkmanager if run a laptop or desktop and need VPNs, Ethernet, mobile broadband, captive portals, and GUI integration handled by one tool that just works
- Also consider: The best combo: NetworkManager with the iwd backend (wifi.backend=iwd). You get NM's breadth and iwd's superior Wi-Fi stack.
— Nice Pick, opinionated tool recommendations
Scope and ambition
These tools are not competing for the same job, and pretending otherwise is how people end up disappointed. iwd is a Wi-Fi daemon, full stop. Intel built it to replace the wpa_supplicant tar pit with a single, self-contained supplicant that does authentication, roaming, and key management natively. NetworkManager is a connection orchestrator: Wi-Fi, wired, VPN, WireGuard, mobile broadband, Bluetooth tethering, bonds, bridges, and VLANs all under one D-Bus roof. If your entire networking life is one Wi-Fi card, iwd is elegant overkill done right. The moment you plug in an Ethernet cable or fire up a corporate VPN, iwd shrugs and you go hunting for another daemon. NetworkManager already had the answer before you asked. Breadth wins the default slot; specialization wins the niche. Know which one you actually live in before you pick.
Footprint and dependencies
This is iwd's home turf and it wins decisively. iwd depends on essentially nothing but the kernel's crypto and a modern wireless stack — no wpa_supplicant, no GLib sprawl, no ModemManager hanging off the side. It boots fast, idles light, and its config is plain INI files you can actually read. NetworkManager, by contrast, drags in a small civilization: D-Bus, polkit, often ModemManager and nmcli/nmtui, plugins for every connection type. On a beefy laptop none of that matters and you'll never notice. On a router, an embedded board, or a memory-pinched VM, NetworkManager feels like wearing a tuxedo to change a tire. If you measure success in RSS and dependency count, iwd is the clean pick and NetworkManager looks bloated. Most desktops do not measure success that way, which is exactly why this advantage stays niche.
Wi-Fi quality and roaming
Here is the uncomfortable truth: iwd is the better Wi-Fi stack. Its native roaming is faster and smarter than the wpa_supplicant path NetworkManager defaults to, it handles WPA3 and PMF cleanly, and reconnection after sleep is markedly more reliable on many Intel and modern chipsets. People who chased flaky-Wi-Fi bugs for years often find iwd quietly fixes them. NetworkManager's own Wi-Fi handling is fine but inherits supplicant quirks and slower BSS transitions. The killer move the internet under-advertises: NetworkManager can use iwd as its backend. Set wifi.backend=iwd and you keep every feature NetworkManager offers while swapping the radio brain for the better one. That hybrid is the genuinely correct setup for a power user. Standalone iwd wins raw radio performance; NetworkManager-plus-iwd wins everything, which is why the standalone Wi-Fi edge rarely justifies giving up the rest.
Tooling and ecosystem
NetworkManager owns the ecosystem and it is not close. nmcli is one of the best CLIs in Linux networking — scriptable, discoverable, with sane tab completion — and nmtui covers the no-GUI middle ground. GNOME and KDE applets, Cockpit, captive-portal handling, and per-connection VPN profiles all assume NetworkManager is present. Distributions ship it as the default and document around it. iwd gives you iwctl, which is competent and pleasant for Wi-Fi, plus a clean D-Bus API — but the surrounding tooling is thin and you'll be writing your own glue for anything fancy. Documentation is sparser and the community smaller. If you value being on the well-trodden path where every guide already applies to you, NetworkManager is home. iwd asks you to be comfortable reading source and config docs. For most users that friction alone settles it.
Quick Comparison
| Factor | Iwd | Networkmanager |
|---|---|---|
| Scope (what it manages) | Wi-Fi only | Wi-Fi, Ethernet, VPN, mobile, bridges |
| Footprint / dependencies | Tiny, no wpa_supplicant | Heavier: D-Bus, polkit, plugins |
| Wi-Fi roaming quality | Native, fast, reliable | Good, supplicant-bound by default |
| CLI / GUI tooling | iwctl only | nmcli, nmtui, desktop applets |
| Ecosystem & distro default | Niche, sparse docs | Default everywhere, well documented |
The Verdict
Use Iwd if: You run a minimal or embedded system, only need Wi-Fi, and want fast roaming, built-in supplicant, and a tiny footprint with zero wpa_supplicant baggage.
Use Networkmanager if: You run a laptop or desktop and need VPNs, Ethernet, mobile broadband, captive portals, and GUI integration handled by one tool that just works.
Consider: The best combo: NetworkManager with the iwd backend (wifi.backend=iwd). You get NM's breadth and iwd's superior Wi-Fi stack.
Iwd vs Networkmanager: FAQ
Is Iwd or Networkmanager better?
Networkmanager is the Nice Pick. NetworkManager handles Wi-Fi, Ethernet, VPN, mobile broadband, and bridges with one daemon and first-class GNOME/KDE/nmcli integration. iwd is better at exactly one job — Wi-Fi — and most people need more than one job done. For the broad case, NetworkManager wins on coverage and ecosystem.
When should you use Iwd?
You run a minimal or embedded system, only need Wi-Fi, and want fast roaming, built-in supplicant, and a tiny footprint with zero wpa_supplicant baggage.
When should you use Networkmanager?
You run a laptop or desktop and need VPNs, Ethernet, mobile broadband, captive portals, and GUI integration handled by one tool that just works.
What's the main difference between Iwd and Networkmanager?
iwd is Intel's lean, modern Wi-Fi daemon; NetworkManager is the all-purpose connection manager. Which one belongs on your machine depends on whether you run a desktop or a router-grade box.
How do Iwd and Networkmanager compare on scope (what it manages)?
Iwd: Wi-Fi only. Networkmanager: Wi-Fi, Ethernet, VPN, mobile, bridges. Networkmanager wins here.
Are there alternatives to consider beyond Iwd and Networkmanager?
The best combo: NetworkManager with the iwd backend (wifi.backend=iwd). You get NM's breadth and iwd's superior Wi-Fi stack.
NetworkManager handles Wi-Fi, Ethernet, VPN, mobile broadband, and bridges with one daemon and first-class GNOME/KDE/nmcli integration. iwd is better at exactly one job — Wi-Fi — and most people need more than one job done. For the broad case, NetworkManager wins on coverage and ecosystem.
Related Comparisons
Disagree? nice@nicepick.dev