ShichiZip tackles a familiar pain point for macOS users who want a 7-Zip experience that feels native on their platform. Unlike traditional 7-Zip ports or wrappers, it reinvents the UI in Swift and delegates archive processing to a core library compiled with Zig. This separation between the user interface and the performance-critical archive operations is an unusual architectural choice that enables clean integration with macOS features and multi-variant builds.
what ShichiZip does and how it’s built
ShichiZip is a native macOS archive manager that replicates the 7-Zip File Manager experience but extends it with macOS-specific enhancements. Its primary goal is to offer compatibility with the 7-Zip archive formats while providing a user experience tailored to macOS conventions.
The archive handling core is derived from the upstream 7-Zip library, but instead of using C or C++ for this component, ShichiZip compiles it with Zig. This choice is notable because Zig is a newer systems programming language that supports cross-compilation and offers fine-grained control over the build process. The project compiles both the archive library and the self-extracting (SFX) modules using Zig, which allows producing optimized binaries for multiple architectures.
The UI layer and application logic are written entirely in Swift, targeting macOS using modern native frameworks. The project uses XcodeGen for project generation and xcodebuild for creating the final app binary. The Swift layer handles user interactions, window management, and macOS-specific integrations.
ShichiZip supports two main variants of the core archive library: a mainline version and a fork with Zstandard compression support. Both variants are built to support cross-architecture binaries for Apple Silicon (arm64) and Intel (x86_64) Macs. This universal support is critical for macOS apps in the current transition period.
Beyond replicating 7-Zip’s core functionality, ShichiZip adds several macOS-centric features. These include Quick Look preview integration, enabling users to preview archive contents directly in Finder. It also implements smart extraction features that automatically select appropriate extraction destinations and strip duplicate folders, which improves the user experience by reducing manual cleanup steps.
Another important enhancement is the handling of resource forks, which are unique metadata elements on macOS filesystems. Properly managing resource forks ensures that extracted files retain their macOS-specific metadata and behave correctly in the system.
Localization is handled by accepting upstream 7-Zip language files, supplemented by a dedicated localization layer for macOS-specific strings. This approach helps maintain consistency with 7-Zip while supporting native macOS UI text.
the architectural choice of Zig for the archive core
The most distinctive technical decision in ShichiZip is the use of Zig for compiling the archive core rather than sticking to the original C or C++ codebase. Zig provides a modern, minimalistic alternative to C with explicit control over cross-compilation and build steps. This makes it easier to produce optimized, multi-architecture builds and to manage build configurations for different variants (such as the mainline and Zstandard forks).
Separating the archive core into a Zig-compiled library and the UI into a Swift app creates a clean boundary between performance-sensitive code and the user interface. This separation is helpful because it allows each part to evolve independently and take advantage of the best tools for the job — Swift for macOS UI, Zig for efficient native code.
However, this approach also introduces some complexity. Building the project requires managing two distinct build systems: Zig for the core library and Xcode for the Swift app. The developer experience involves coordinating these tools, which may add overhead compared to a single unified build process.
The choice of Zig also means the project depends on a less common language and toolchain in the Apple ecosystem, potentially raising the learning curve for contributors unfamiliar with Zig. On the other hand, the benefits include modern language safety features and the ability to generate small, efficient binaries.
Cross-architecture support is a practical advantage of using Zig. The ability to build both arm64 and x86_64 binaries from the same codebase is essential for macOS apps targeting users on both Intel and Apple Silicon machines during this transitional era.
explore the project
The ShichiZip repository is structured to separate concerns clearly. The core archive logic and SFX modules live in the Zig build system, while the Swift app code and UI resources are managed via Xcode projects generated by XcodeGen.
Documentation and localization files are included to assist in extending language support and understanding macOS-specific adaptations.
Since the project does not provide explicit quickstart commands in the README or analysis, a good way to explore it is to start with the README file, which outlines the architecture and dependencies. From there, diving into the source directories reveals the Swift UI code and the Zig core library with its build scripts.
Understanding the build flow requires familiarity with both Zig’s build system and Xcode’s build process, as the final app binary is produced by combining these components.
verdict
ShichiZip is a solid option for macOS users and developers who want a native 7-Zip experience that integrates well with macOS features like Quick Look and resource fork management. Its architecture clearly separates the UI from the archive core, which is an unusual but effective approach that trades build complexity for modularity and cross-architecture flexibility.
The use of Zig for the core library is both a strength and a potential barrier: it enables modern, optimized builds but requires contributors to be comfortable with Zig tooling alongside Swift and Xcode.
This project is relevant for developers interested in native macOS app development, archive format compatibility, and multi-architecture builds. It may be less suitable for those looking for a straightforward single-language codebase or a project with more extensive documentation on build and deployment.
Overall, ShichiZip offers a thoughtful blend of performance, user experience, and platform integration, with clear tradeoffs that reflect deliberate architectural choices rather than accidental complexity.
→ GitHub Repo: idawnlight/ShichiZip ⭐ 732 · Swift