Open-source project
WirelessAlien/ZipXtract avatar
WirelessAlien/ZipXtract

ZipXtract: An Open Source Android Archive Manager for Every Format

A fully open source app to extract rar, zip, tar, bz2, gz, 7z, xz, jar and z etc (encrypted .zip & .7z supported)

1,178 stars52 forksKotlinGPL-3.0

At a glance

What is it?
ZipXtract is a fully open source Android application that extracts and creates archives in a long list of formats, including RAR5, password protected and multi-volume 7z, split ZIP and package formats such as DEB, RPM, ISO and CAB. It asks for no internet permission and processes every file on the device.
Who is it for?
ZipXtract fits an Android user who moves archives between devices, who receives split or password protected files, and who does not want a file manager that needs a network connection to unpack something. It is a poor fit if you need to handle archives on a desktop, since this is an Android application, and a poor fit if you need a format that is not on the list, since the extraction support is explicit rather than open ended.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 11 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

An Archive Manager That Never Touches the Network

ZipXtract is described as a fully open-source Android application designed for comprehensive archive management, and it allows you to extract and create a wide variety of archive files directly on your device.

The privacy position is the part that stands out from the feature list. The application does not require internet permission, ensuring your files are processed locally on your device, and there is a separate privacy policy page for the details.

That is a meaningful constraint to have designed in rather than bolted on. An archive manager is by nature a program that touches arbitrary files, and one that can also reach the network is a program that can report on them. Removing the internet permission removes that whole category of concern, and it also means the app works on a device with no connectivity at all, which is where archive tools tend to be used, on a plane or on a device in a restricted network.

The other side of that choice is that there is no cloud fallback and no remote extraction service, which is exactly the point.

The Format List Is the Product

The extraction capabilities are listed in full, and the list is long enough that it is the clearest statement of what the app is for.

It covers RAR, including RAR5 and multi-volume archives, ZIP including password-protected and split archives, 7z including password-protected and multi-volume, and then TAR, GZ, BZ2, XZ, ZST, ISO, CAB, DEB, RPM, DMG, WIM, CHM, LZ4, Brotli, Lzip, JAR, and many more.

Two sub-cases are worth pulling out of that list. The package formats, DEB, RPM, CAB, DMG and WIM, are the ones that make the app useful beyond ordinary archiving, because a DEB or a CAB is something a phone user receives without ever having asked for a zip. And the compression algorithms, LZ4, Brotli and Lzip, are the ones that turn up inside containers produced by other tools rather than being a format the user chose by name.

The topics attached to the repository list the underlying libraries by name, with apache-commons-compress, zip4j and unrar among them, which is a hint about how the format coverage is achieved: a set of libraries rather than one universal decompressor.

Encrypted, Multi-Volume and Split Archives

Three capabilities are called out separately, and they are the three that most tools get wrong.

Encrypted archives are handled for password-protected ZIP and 7z files, which covers the case that matters in practice, which is a zip someone sent you with a password in the message body.

Multi-volume archives are extracted for RAR and 7z, and the multi-volume RAR and 7z cases are the ones where a naive implementation quietly produces a corrupt file because it treated part two as a separate archive.

Split archives add support for extracting split ZIP files, and split archives are the third case, common with archives split for transfer or for size limits.

The creation side has the same three dimensions. You can create ZIP, 7z and TAR archives with multiple types of compression, you can secure archives with password protection for ZIP and 7z formats, and you can create split ZIP archives for easier sharing of large files.

So the round trip is covered. A file that arrives split and encrypted can be extracted, and the result can be re-split and re-encrypted for someone else, with the same tool.

Where the Files Land When You Extract

The usage tips in the README are short and they answer the questions that decide whether an archive app is pleasant or irritating.

Files opened with ZipXtract through the Android Open With and Share menu are, by default, extracted to Internal Storage/ZipXtract/, and you can customise that path in the app settings. When you archive or extract from within the app, the default output location is the parent directory of the source files, and that can also be changed in the app settings.

So there are three sensible behaviours in one design. An archive arriving from a share sheet goes to a fixed folder the app owns, because there is no natural parent directory for a file that came from somewhere else. An archive you opened from the file manager is extracted next to itself, because that is where the user expects the result. And both are overridable.

Selection is done by long pressing on files and folders, or by tapping their icons, to select them for archiving or other operations, and the extraction options are reached by clicking an archive to open the extraction menu, where you choose the extraction path and settings.

Permissions That Changed With the Android Versions

The permission list is short and is split by the Android version, which tells you the app has been maintained across the storage model change.

For Android 10 and below, ZipXtract requires the read and write storage permission. For Android 11 and above, it requires the manage external storage permission. Those are the two eras of Android storage access, and an archive tool cannot work around either, because it has to read the archive and write the extracted files somewhere the user can reach them.

Manage external storage is the one that gives an application broad reach over shared storage, so it is worth understanding what a tool like this is asking for and why. Here the answer is in the app's design: it does what it says with the files and nothing else, it has no network permission at all, and there is a privacy policy page describing the position in more detail.

The absence of the internet permission is what makes the storage request defensible. A program that can read your whole shared storage and cannot send it anywhere is a different proposition from one that can do both.

Two Sources, Ten Translations and a Contribution Path

ZipXtract is distributed in two places, and the table of sources makes the distinction clear.

The GitHub releases page and the IzzyOnDroid build are both the Full Version, which includes all features with RAR and 7z support. There is no partial build listed, so the interesting difference is not the version but the store.

The README is translated into ten languages, Arabic, Bulgarian, German, Bahasa Indonesia, Korean, Russian, Tamil, Turkish, Ukrainian and Simplified Chinese, and the translation work is coordinated on Weblate with a status widget in the README. That is a lot of translation effort for an app, which says something about who uses it.

The contribution path is the standard fork, branch, commit, push and pull request sequence, and the commands are given:

bash
git checkout -b feature/YourAmazingFeature
git commit -m 'Add some AmazingFeature'
git push origin feature/YourAmazingFeature

The project also asks for bug reports and feature requests on the GitHub issues page, and handles inquiries the same way.

The Project Layout and the Release Cadence

The repository is a standard Gradle Android project, with the app/ module holding the Kotlin code, build.gradle at the root alongside settings.gradle and gradle.properties, the gradle wrapper in both its Unix and Windows forms, a fastlane/ directory for release automation, a docs/ directory holding the translated READMEs, and an .idea/ directory checked in for the IDE configuration.

The primary language is recorded as Kotlin, and the project uses the standard wrapper, so a clone is built with the gradlew script rather than with a system Gradle install.

The release history is quick and recent. The versions are v7.1.1 from 2026-07-07, v7.1 from 2026-01-16 and v7.0 from 2025-12-28, so the project crossed a major version in late 2025 and has shipped patch releases since.

The licence is the GNU General Public License v3.0, with the LICENSE file in the repository, and the funding routes are Liberapay, ko-fi and PayPal. The one acknowledgement worth repeating is the app icon, the Solar Icons vector from SVG Repo in CC Attribution License, which is the correct way to credit an icon set and a reminder that a fully open source app still depends on the licensing of its assets.

Editorial conclusion

ZipXtract fits an Android user who moves archives between devices, who receives split or password protected files, and who does not want a file manager that needs a network connection to unpack something. It is a poor fit if you need to handle archives on a desktop, since this is an Android application, and a poor fit if you need a format that is not on the list, since the extraction support is explicit rather than open ended. Before installing, check which build you take, because the GitHub and IzzyOnDroid listings are the full version with RAR and 7z support, and read the permissions section, since Android 11 and above need Manage External Storage rather than the older read and write storage permission. The app is GPL-3.0 licensed, the newest release is v7.1.1 from 2026-07-07, and the last push was on 2026-10-11.

Frequently asked questions

Which archive formats can ZipXtract extract?

RAR including RAR5 and multi-volume, ZIP including password-protected and split archives, 7z including password-protected and multi-volume, TAR, GZ, BZ2, XZ, ZST, ISO, CAB, DEB, RPM, DMG, WIM, CHM, LZ4, Brotli, Lzip, JAR and many more.

Does ZipXtract need internet access?

No. The application does not require internet permission, which ensures your files are processed locally on your device. The permissions it does need are read and write storage on Android 10 and below, and manage external storage on Android 11 and above.

Where does ZipXtract put extracted files?

Files opened through the Android Open With and Share menu are extracted by default to Internal Storage/ZipXtract/, and files extracted from within the app go to the parent directory of the source files. Both paths can be changed in the app settings.

Can ZipXtract create encrypted or split archives?

Yes. You can create ZIP, 7z and TAR archives with multiple types of compression, add password protection to ZIP and 7z archives, and create split ZIP archives for easier sharing of large files.

How do I install ZipXtract?

From the GitHub releases page or from IzzyOnDroid, and both are the full version with RAR and 7z support. The project is licensed under the GNU General Public License v3.0, the newest release is v7.1.1 from 2026-07-07, and the README is translated into ten languages with translation work coordinated on Weblate.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. WirelessAlien/ZipXtract on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/wirelessalien-zipxtract.svg)](https://hysenlabs.com/projects/wirelessalien-zipxtract)

Was this useful?