A modern, fast, and feature-rich graphical interface for 7-Zip on Linux, with all the advanced features that you are used to, and more.
Requires no external dependencies other than a 7-Zip backend binary.
7zz=> 7-Zip for Linux7zzs=> Statically linked 7-Zip for Linux (bundled alongside 7GL)p7zip=> Legacy community build (often pre-installed on Linux distributions)
⭐ Please leave a star if you find 7GL useful! ⭐
Note from Developer:
- The tool is actively tested for my personal use and works pretty nice. However, it is early in active development. If you find any issues, please let me know via GitHub Issues.
- Although released under Softorage (which receives fewer visits than you might think), it's maintained by me in my personal free time. Thank you for your support!
- Sponsors
- Screenshots
- Features
- Usage
- Building from Source
- FAQ
- Credits
- Other Tools
- What is Softorage?
- License
A huge Thank You to everyone who supports us with 'Softorage Open Source Supporter' package!
This project is made possible by our amazing backers! View the complete list in SUPPORTERS.md.
| View | Screenshot |
|---|---|
| Explorer | ![]() |
| Clipboard | ![]() |
| Compress | ![]() |
| Extract | ![]() |
| Checksum | ![]() |
| Operations History | ![]() |
| Console Output | ![]() |
- Full Compression & Extraction Support:
- Packing / Unpacking:
.7z,.xz,.bz2,.gz,.tar,.zip,.wim - Unpacking Only:
.apfs,.ar,.arj,.cab,.chm,.cpio,.cramfs,.dmg,.ext,.fat,.gpt,.hfs,.ihex,.iso,.lzh,.lzma,.mbr,.msi,.nsis,.ntfs,.qcow2,.rar,.rpm,.squashfs,.udf,.uefi,.vdi,.vhd,.vhdx,.vmdk,.xar,.z
- Packing / Unpacking:
- Embedded File Explorer:
- Standard file management and directory navigation
- Explore archive contents directly like folders
- Nested Archive Exploration: Deep-browse nested archives (e.g. ZIP inside a ZIP) with high responsiveness and RAM caching (
tmpfs) - Copy/cut/paste from disk-to-archive, archive-to-disk, and archive-to-archive
- Custom, system-independent descriptive clipboard
- Security & Compression Customization:
- AES-256 password protection & header/filename encryption
- Full tuning for Compression Method, Level, Dictionary Size, Word Size, Solid Block Size, and CPU Threads
- Update modes (Add/Replace, Freshen, Synchronize)
- Self-Extracting (SFX) executables (
.exe) - Volume splitting and shared file compression
- Guidance and description for various options
- Live Terminal Logging & History Tracking:
- Real-time output stream log and process signal controls (Pause/Resume via
SIGSTOP/SIGCONT)
- Real-time output stream log and process signal controls (Pause/Resume via
- Download
7z-GUI-Linuxfor your CPU architecture from the official releases. - Extract the downloaded archive.
-
Portable Mode (No Installation):
- Inside the extracted folder, right-click
7z-GUI-Linux$\rightarrow$ Properties$\rightarrow$ Permissions$\rightarrow$ enable Allow executing file as program (or runchmod +x 7z-GUI-Linux). - Double-click
7z-GUI-Linuxto launch.
- Inside the extracted folder, right-click
-
Installed Mode:
- Installing in user space (without
sudo) is recommended. System-wide installation withsudois also supported. -
Install: Run
install.sh(ensure executable permissions are set). -
Update: Run
update.sh(ensure executable permissions are set). -
Uninstall: Run
uninstall.sh(ensure executable permissions are set).
- Installing in user space (without
Troubleshooting / Crash Reports:
If you encounter a crash or unexpected exit, please launch the debug build from a terminal (./7z-GUI-Linux) and reproduce the issue. Include the console output when opening a report on GitHub Issues.
Inside 7GL's Explorer tab:
- Copy the file(s) or folder(s) you wish to add.
- Open the target archive.
- Press Paste into the active archive view.
- Go
v1.26+ - Configured SSH key for GitHub access
# Clone the repository
git clone git@github.com:Softorage/7z-GUI-Linux.git
cd 7z-GUI-Linux
# Build binary executable
go build -o 7z-GUI-Linux .7z-GUI-Linux/
├── main.go # Minimal entry point (app initialization, lifecycle)
├── FyneApp.toml # Fyne application build configuration
├── go.mod
├── go.sum
├── README.md
│
├── assets/ # Embedded resources (logos, icons, SVGs)
│ └── embedded.go # static resource byte declarations
│
└── internal/ # Private application packages (enforces Go boundaries)
│
├── version/ # Version
│ └── version.go # Version
│
├── domain/ # Domain models, constants & shared data structures
│ ├── operation.go # Operation status, log models, history structures
│ ├── explorer.go # File/archive entry models, conflict action enums
│ └── config.go # User preferences structure (RAM limits, update toggles)
│
├── sys/ # System, Memory, & File System Low-Level Utilities
│ ├── fs.go # Recursive file operations, unique path generators
│ ├── memory.go # Linux RAM/tmpfs inspection & temp workspace allocation
│ └── updater.go # GitHub API integration & semver version parser
│
├── engine/ # 7-Zip CLI Integration & Process Execution
│ ├── detector.go # Binary path lookup (7zz, 7zzs, 7z, local ./7zzs)
│ ├── args.go # DRY 7-zip CLI argument builder
│ ├── parser.go # Archive SLT output & checksum log stream parser
│ ├── runner.go # Subprocess execution, SIGSTOP/SIGCONT signals, terminal log handler
│ └── archive.go # Multi-stage tarball streaming pipes & password tests
│
├── app/ # Central State Management & Business Core
│ ├── state.go # Thread-safe global app state, progress, & execution locks
│ ├── clipboard.go # Virtual and disk clipboard management
│ └── favorites.go # User bookmarks management
│
└── ui/ # Presentation Layer (Fyne v2.7.3)
├── app.go # Main layout constructor, sidebar assembly, info bar
├── sidebar.go # Branding, navigation list, external link buttons
│
├── components/ # Reusable UI Modals and Widget Helpers
│ ├── conflicts.go # File conflict & type mismatch dialogs
│ ├── password.go # Encryption password prompt modal
│ └── updater.go # Release update dialog
│
└── tabs/ # Isolated tab views
├── checksum.go # Checksum tab layout & event handlers
├── compress.go # Compression tab form & preview
├── explorer.go # File Explorer browser, tab manager & toolbar
├── extract.go # Archive extraction tab & batch queue
└── status.go # Real-time operation progress, history list & console log
When contributing or modifying code, run standard Go quality checks:
# Format source files
go fmt ./...
# Auto-update imports and format the code
# `goimports` updates the import statements for you and formats the code.
# -w writes the changes to the files.
# . runs it on the current directory and subdirectories.
goimports -w .
# Check for common mistakes like unreachable code, printf format mismatches, and shadowed variables with `go vet`.
# You can also run `golangci-lint run` for a comprehensive check. It is a "meta-linter" that runs go vet, staticcheck, and dozens of other tools simultaneously.
go vet ./...
# Run unit test suite across internal packages
go test ./...
# Remove unused dependencies and adds missing ones to your go.mod and go.sum files
go mod tidy- Do you know how to code? Do you use AI to develop this project? Is this vibe-coded?
- Yes. I think, I may kinda know how to code. I am fairly confident that I understand the code I maintain (I keep forgetting though). Sometimes, there do appear parts of code (often via LLMs) that work and I don't quite understand how (and I have to ask to understand). But hey, that was the case even in StackOverflow days. I guess I'm dumb, just not enough to constantly keep messing the code. (-> Sanmay)
- Yeah. I use LLMs mostly to discuss alternative implementations. I copy parts of code when discussing, and the LLM never has
write accessto files in the repo. Yes, I read the code. If you find any issues, please report them. Will try to fix them as soon as possible. - That's anyone's judgement.
Looking for a throttlestop alternative for your Intel CPU on Linux? Check out our other open-source tool: undervolt-go. It comes with all the risks of a system level utility, though.
Softorage is a software discovery platform built on user trust and safety. Rather than hosting binary mirrors (which introduces security and package manipulation risks), Softorage directs users directly to verified official developer channels.
This project is licensed under the GNU General Public License v3.0. See the LICENSE.txt file for details.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.









