OpenWrt lets you remove software packages to save storage and memory, but some removals will break your router
OpenWrt is a Linux operating system you can install on certain routers to replace the manufacturer's firmware. It comes with many packages — individual programs and libraries — pre-installed. You can remove packages you do not use to free up space on your router's storage and RAM, which can improve performance on older hardware.
The catch: removing the wrong package will make your router stop working or lose internet access. Some packages are dependencies — other packages need them to run. If you remove a dependency, the packages that depend on it fail silently or crash. You need to know which packages are safe to remove and which ones your router actually needs.
Key Takeaways
- You can remove packages through the OpenWrt web interface (LuCI) under System > Software, or through SSH using the opkg command.
- Safe packages to remove are usually language packs, optional themes, and extra utilities you do not use — check the package description first.
- Never remove packages that start with "kmod-" (kernel modules), "libc", "libuci", or "mtd" unless you understand what they do, because these are often dependencies.
- Before removing anything, write down the package name and version so you can reinstall it if your router stops working.
- The safest approach is to remove only packages you installed yourself, not packages that came pre-installed with OpenWrt.
How to see what packages are installed on your router
Open the OpenWrt web interface (usually at 192.168.1.1 in your browser) and log in. Go to System > Software > Installed Packages. You will see a list of every package on your router, with a brief description of what each one does.
If you prefer the command line, connect to your router via SSH and run opkg list-installed. This shows the same list in text form. Each line shows the package name and version number. You can also run opkg info [package-name] to see what a specific package does and what other packages depend on it.
Packages that are usually safe to remove
Language packs and localization files are safe to remove if you only use English. Look for packages with names like luci-i18n-base-zh or luci-i18n-firewall-fr — the language code at the end tells you which language it is. Removing these saves a small amount of space and does not affect how your router works.
Optional themes for the web interface can be removed if you are happy with the default theme. Packages like luci-theme-material or luci-theme-openwrt are purely visual — removing one just means you see a different theme when you log in next time.
Extra utilities and tools you do not use are usually safe to remove, but check the description first. For example, tcpdump is a packet capture tool that uses storage space but most home users never need it. nano is a text editor — if you do not edit files on your router via SSH, you can remove it. Always check whether other packages depend on it before you remove it.
Packages you should never remove
Do not remove any package whose name starts with kmod-. These are kernel modules — they are the bridge between the Linux kernel and your router's hardware. Removing a kernel module can make your router unable to use WiFi, Ethernet, USB, or storage. If you remove the wrong one, your router may not boot at all.
Never remove packages that start with libc, libuci, libcrypto, or mtd. These are core libraries that almost every other package depends on. Removing one will cause a cascade of failures. Similarly, do not remove opkg itself — that is the package manager, and without it you cannot install or remove anything.
Do not remove firewall, dnsmasq, or odhcpd unless you have replaced them with something else. Firewall handles your router's security rules. Dnsmasq provides DNS and DHCP — without it, devices on your network cannot get IP addresses or resolve domain names. Odhcpd handles IPv6. Removing any of these will break your network.
How to remove a package safely
In the web interface, go to System > Software > Installed Packages. Find the package you want to remove, and click the X button next to it. OpenWrt will show you a list of packages that depend on the one you are removing. If that list is empty or contains only packages you also want to remove, you can proceed. If it contains packages you need, do not remove it.
Via SSH, run opkg remove [package-name]. OpenWrt will tell you if other packages depend on it. If it says "Package [name] is depended upon by:", do not remove it unless you also remove those packages first.
Before you remove anything, write down the exact package name and version. If your router stops working, you can reinstall it by running opkg install [package-name]=[version] or by using the web interface to reinstall from the available packages list.
What to do if you remove the wrong package
If your router loses internet access or stops responding after removing a package, you can usually fix it by reinstalling the package. If you can still access the web interface, go to System > Software > Available Packages and search for the package name. Click Install.
If you cannot access the web interface, connect to your router via SSH (if you can still reach it on your local network) and run opkg install [package-name]. If you cannot reach your router at all, you will need to factory reset it and reconfigure it from scratch. This is why writing down what you removed is important — you can then remove it again after the reset.
How much space you will actually save
Most individual packages are small — between 10 kilobytes and a few megabytes. Removing a language pack might free up 50 kilobytes. Removing an unused theme might free up 200 kilobytes. On a modern router with 128 MB of storage, this is not much. On an older router with 8 MB of storage, every kilobyte counts.
If you are running out of space, focus on removing packages you installed yourself first. Check System > Software > Available Packages and look for packages you added that you no longer use. These are safer to remove than pre-installed packages, because you know exactly what they do and whether anything depends on them.
Frequently Asked Questions
Can I remove packages to make my router faster?
Removing unused packages frees up RAM, which can help on very old routers with limited memory. On modern routers, the speed difference is usually not noticeable. Removing packages is more useful for saving storage space than for improving performance.
What if I do not know what a package does?
Search for the package name online along with "OpenWrt" — the OpenWrt wiki and forum usually have descriptions. You can also click on the package name in the web interface to see its description. If you are not sure, do not remove it. It is easier to leave it installed than to fix a broken router.
Can I remove packages and then reinstall them later?
Yes. As long as your router still has internet access and storage space, you can reinstall any package you removed. Go to System > Software > Available Packages and search for the package name. If your router is offline, you will need to restore internet access first or use SSH to reinstall from the command line.
Do I need to reboot my router after removing a package?
Usually not. Most packages can be removed without a reboot. However, if you remove a package that is currently running (like a service or daemon), you may need to reboot for the change to take full effect. The web interface will tell you if a reboot is needed.
What packages come pre-installed and should I leave alone?
Packages that come pre-installed with OpenWrt are there because your router needs them. These include kernel modules, core libraries, the firewall, DNS, and DHCP. If you did not install it yourself, assume it is needed unless you have read documentation saying otherwise.