For OpenWRT routers

Your router, untangled.

A modern, friendly web interface for OpenWRT. The power of LuCI — without the maze. Built for the whole household, with every advanced knob still one click away.

~75 KB UIOffline-first, zero cloudRuns alongside LuCIAuto-rollback safetyGPL-2.0
UnTangled Network Map — your router, internet and devices at a glance

Why people switch

OpenWRT is the best router firmware there is. Its stock interface was built for engineers. UnTangled keeps all the power and makes it feel like a product.

🧭

Made for everyone

A visual Network Map and plain-language toggles for the family. A ⌘K command palette and “Advanced details” for you. One UI, no compromise.

🛟

Impossible to lock yourself out

Risky changes — Wi-Fi, WAN, firewall — apply with an auto-rollback timer. If a change would cut you off, the router quietly reverts it.

🪶

Tiny, fast, private

The whole UI is ~75 KB gzipped — LuCI is megabytes. System fonts, no CDNs, no telemetry, no cloud account. Your router never needs the internet to serve it.

❓

Help where you need it

A ? beside every setting explains it in a sentence. No jargon walls, no wiki tab-hopping.

📶

Mesh Wi-Fi, the easy way

One Wi-Fi name across routers with seamless roaming (802.11r/k/v via dawn) — set up like a consumer mesh system, running on open firmware.

🧩

Extensible

A runtime plugin system lets packages add whole screens without rebuilding the core. Mesh Wi-Fi itself ships as a plugin.

Install in 60 seconds

Add the signed UnTangled feed once, then install and upgrade with your router’s own package manager.

  1. Check your OpenWRT version — LuCI → Status → Overview (or cat /etc/openwrt_release). 23.05 / 24.10 → use the opkg tab; SNAPSHOT → the apk tab. In doubt, you’re on stable.
  2. Run the matching commands on the router — over SSH, or paste them into LuCI → System → Custom Commands.
  3. Open http://<router-ip>/untangled/ and sign in with your router’s admin account (same login as LuCI).

Stable OpenWRT — 23.05 / 24.10 (opkg)

# trust the signing key, add the feed (once)
wget -O /tmp/untangled.pub https://bidhata.github.io/untangled/keys/untangled.pub
opkg-key add /tmp/untangled.pub
echo 'src/gz untangled https://bidhata.github.io/untangled/stable' \
  >> /etc/opkg/customfeeds.conf
# install
opkg update && opkg install untangled-full

OpenWRT snapshot (apk)

# trust the signing key, add the feed (once)
wget -O /etc/apk/keys/untangled.pem https://bidhata.github.io/untangled/keys/untangled.pem
echo 'https://bidhata.github.io/untangled/snapshot/packages.adb' \
  > /etc/apk/repositories.d/untangled.list
# install
apk update && apk add untangled-full

Then open http://<router-ip>/untangled/ and sign in with your router’s admin account. LuCI keeps working untouched — UnTangled lives at its own path. Prefer a file? Grab the .ipk/.apk from Releases. Choose untangled (minimal), untangled-full (HTTPS, Wi-Fi scan, firmware, Wake-on-LAN) or add untangled-mesh.

Just want everything? Install untangled-full. And don’t be surprised that its download is tiny (~1 KB) while untangled is ~90 KB — the core package holds the actual interface, and untangled-full is just a short list that tells the router to install the core plus the extras. Small file, full install. On the Releases page: use the .ipk files for stable OpenWRT (23.05 / 24.10) and the .apk files only for snapshot; the long names are required by the package manager, so don’t rename them.

Take the tour

Every screen below is real UI. Or skip the screenshots and click through the live demo — no router required.

Devices screen
Devices. Reserve a fixed IP, block a device’s internet, or wake it on LAN — one click each.
Mesh Wi-Fi screen
Mesh Wi-Fi. One network name across routers, seamless roaming, join with a code.
Parental Controls
Parental Controls. Per-device internet schedules by the week.
Wireless settings
Wireless. SSID, security and channels up front; power, fast roaming and WMM under Advanced.
QoS / Smart Queue
QoS. Kill bufferbloat so calls and gaming stay smooth.
Usage History
Usage History. Daily and monthly internet use, per device.
VPN (dark theme)
VPN. WireGuard & OpenVPN, server and client. Shown in the dark theme.
Command palette
⌘K command palette. Jump to any page, device or action in a keystroke.

UnTangled vs. LuCI

Honest comparison. LuCI is excellent and complete — UnTangled is the friendlier front door. Keep both.

UnTangledLuCI
Built for non-technical usersYes — task-based, plain language, per-field helpEngineer-oriented
Visual Network Map & device cardsYesNo
Mesh Wi-Fi setupGuided, consumer-mesh styleManual, per-package
Lock-out protection on risky changesAuto-rollback timerApply-with-rollback (manual)
UI size~75 KB gzippedSeveral MB
Feature completeness & maturityBeta — growing fastMature, exhaustive
Coexist on the same routerYes — UnTangled runs at /untangled/ and never modifies LuCI

Beta — help us make it bulletproof

UnTangled is written to documented OpenWRT UCI/ubus/fw4 interfaces and every release is installed and exercised in real OpenWRT containers (23.05 and snapshot) before it ships — but it has not yet been validated on many physical routers. If you run it, tell us what you see; a ⭐ on GitHub helps more people find it.