What gets removed and what stays

OpenWrt is a Linux operating system you can install on a router to replace the manufacturer's software. When you do, you inherit a full operating system with packages — individual programs — that the developers included by default. Some of those packages are essential to the router's basic function. Others are optional tools that consume storage space and memory without doing anything you need.

The key distinction: you can remove packages that add features you don't use, but you cannot remove the core networking stack without breaking the router entirely. The networking stack is the set of programs that actually move data between your devices and the internet. Everything else — web interfaces, extra security tools, media servers, programming languages — is removable if you understand what each one does.

What you can safely remove depends on what you want the router to do. A router that only needs to pass traffic can run on far fewer packages than one that needs to filter traffic, run a VPN, or host a local service.

Key Takeaways

  • The core networking packages — the kernel, libc, and the firewall — cannot be removed without breaking the router completely.
  • Optional packages like web interfaces, extra utilities, and development tools can be removed to free up storage and RAM, but you lose the ability to manage the router through that interface.
  • Removing packages is permanent until you reinstall them, so document what you remove in case you need to add something back later.
  • Some packages depend on others, so removing one may automatically remove packages that rely on it.
  • A minimal OpenWrt installation uses roughly 10 to 20 MB of storage; a full installation can use 50 MB or more depending on the router model.

Packages that handle networking and cannot be removed

The Linux kernel itself is the foundation — it manages hardware, memory, and the basic ability to send and receive data. You cannot remove it. Below that are the C library (libc) and other system libraries that every other program depends on. Removing these breaks everything.

The firewall package (usually uci-firewall or nftables) controls which traffic the router allows in and out. If you remove it, the router still passes traffic, but you lose the ability to block anything. The network configuration package (netifd) manages the actual network interfaces — the physical ports and wireless radios. Without it, the router cannot talk to anything.

These are not optional. If you see them in a package list, leave them alone.

Web interfaces and management tools you can remove

LuCI is the graphical web interface most OpenWrt users see when they type their router's IP address into a browser. It is not required for the router to function. If you are comfortable editing configuration files directly using SSH (a text-based connection to the router), you can remove LuCI and save roughly 5 to 10 MB of storage.

Removing LuCI means you lose the point-and-click interface. You will manage the router by logging in via SSH and editing files in /etc/config/ by hand. This is faster for experienced users and slower for everyone else. If you remove it and change your mind, you can reinstall it later.

Other management tools like uhttpd (the web server that runs LuCI) can also be removed if you do not need remote access to the router's interface. Some users remove these on routers they configure once and never touch again.

Utilities and extra programs that free up space

OpenWrt includes many small utility programs — text editors, compression tools, package managers, and diagnostic utilities. None of these are required for the router to work. Common ones to remove include nano or vi (text editors), gzip or bzip2 (compression), opkg (the package manager itself), and various diagnostic tools like tcpdump or iperf.

Removing these saves kilobytes to a few megabytes depending on what you cut. On a router with 16 MB of storage, this matters. On a router with 128 MB, it barely registers. The trade-off is that if you later need to diagnose a problem or install something new, you may need to reinstall the package manager or utilities.

A practical approach: remove only the utilities you are certain you will never use. Keep the package manager (opkg) unless your router is so constrained that every megabyte counts.

Development tools and languages you almost never need

Some OpenWrt builds include programming languages like Lua, Python, or Perl, along with compilers and development libraries. These are useful if you plan to write custom scripts or programs on the router itself. Most home users never do. Removing these can free up 10 to 30 MB depending on which ones are installed.

If you remove a programming language and later install a package that requires it, the package manager will automatically reinstall the language. So removing these is low-risk as long as you keep opkg installed.

Check what is actually on your router before removing anything. Log in via SSH and run opkg list-installed to see everything. Look for packages with names like python3, lua, perl, or gcc. If you do not recognize the name, search for it online before removing it.

Wireless and protocol packages that depend on your needs

OpenWrt can include support for multiple wireless standards, VPN protocols, and advanced networking features. Whether you can remove these depends on what your router actually does.

If your router only needs to broadcast WiFi and pass traffic, you can remove packages for protocols you do not use — for example, WireGuard or OpenVPN if you are not running a VPN server. You can remove support for older wireless standards if all your devices use modern WiFi 5 or WiFi 6.

The catch: removing a wireless package does not free up much space, and if you later want to use that feature, you have to reinstall it. Most users leave these alone unless storage is critically tight.

How to safely remove packages

Before removing anything, log into your router via SSH and run opkg list-installed to see what is actually there. Write down the package names you want to remove.

Then run opkg remove package-name for each one. The package manager will warn you if removing a package will break something else. Read those warnings carefully — if package A depends on package B, removing B will also remove A.

After removing packages, run opkg update and then opkg list-installed again to confirm they are gone. Reboot the router to make sure everything still works. If something breaks, you can reinstall packages with opkg install package-name.

Keep a text file listing what you removed. If you ever need to troubleshoot or restore the router, you will know what is missing.

What happens if you remove the wrong thing

If you remove a critical package, the router may stop responding to SSH or lose network connectivity entirely. This is not permanent. You can usually recover by connecting to the router via a serial cable (a physical connection to a debug port) or by doing a factory reset and starting over.

Most modern routers have a recovery mode that lets you reinstall OpenWrt from scratch if something goes wrong. Check your router model's documentation before you start removing packages, so you know how to recover if needed.

For this reason, removing packages is safest on a router you have already backed up or are willing to reconfigure from scratch. Do not experiment on a router that is actively serving your home network unless you are confident in what you are doing.

Frequently Asked Questions

Can I remove packages and then add them back later?

Yes. As long as you keep opkg (the package manager) installed, you can remove and reinstall packages whenever you want. The package manager downloads them from OpenWrt's repositories. If a repository goes offline, you may not be able to reinstall, but this is rare for stable releases.

Will removing packages make my router faster?

Slightly, but only if the packages were running in the background. Removing a web interface or development tools saves storage and RAM, which can help on very constrained routers. On modern routers with plenty of memory, the speed difference is not noticeable. The main benefit is freeing up storage space.

What is the smallest OpenWrt installation I can have?

A minimal installation that still functions as a router needs the kernel, libc, the firewall, network configuration, and the wireless drivers for your hardware. This typically uses 8 to 15 MB of storage. Anything smaller risks breaking core functionality. Most users keep at least opkg and a text editor, which brings the total to 15 to 25 MB.

If I remove LuCI, how do I manage the router?

You log in via SSH (using a program like PuTTY on Windows or the ssh command on Mac or Linux) and edit configuration files directly. The main configuration files are in /etc/config/. This is faster once you learn the syntax, but slower if you prefer clicking buttons. You can always reinstall LuCI later.

Do I need to remove packages to make room for custom scripts?

Not usually. Most routers have enough storage for both the default packages and custom scripts. Only remove packages if you are actually running out of space, which you can check by running df -h via SSH. If you have more than 50% free space, you do not need to remove anything.