English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español
ZipFlow is a desktop batch archive extractor built with Electron for Windows and macOS.
It is designed to solve two common workflow problems:
- Extract many archives in one run instead of opening them one by one
- Automatically try a saved password list for encrypted archives
The project is currently in a usable prototype stage, with working support for batch import, task queues, extraction settings, password attempts, and task status tracking.
- Batch add archives by drag and drop or native file picker
- Sequential task processing for stable desktop batch workflows
- Configurable overwrite behavior
overwrite: replace existing filesrename: auto-rename extracted filesskip: skip existing files
- Configurable extraction location
- Extract next to the archive
- Extract to a custom directory
- Configurable output folder mode
- No new folder
- Use archive name
- Use custom folder name
- Built-in password list management
- Automatically tries saved passwords one by one
- Visual task status tracking
- Queued
- Running
- Paused
- Completed
- Stopped
- Failed
- One-click open output directory
ZipFlow uses 7zip-bin and the bundled 7za executable. The current code supports these extensions:
7z, zip, rar, tar, gz, tgz, bz2, tbz2, xz, txz, zst, cab, iso, wim, arj, lzh
It also handles multi-part style extensions such as:
tar.gz, tar.bz2, tar.xz, tar.zst
If you plan to publish this on GitHub, adding 2 to 4 screenshots here will help a lot:
- Main window overview
- Extraction settings panel
- Password manager modal
- Running task progress view
Example:

- Node.js 18 or later
- npm
- Windows or macOS
npm installnpm startmacOS:
npm run pack:macWindows:
npm run pack:win- Launch the app and drag archives into the window, or click the file picker button.
- Choose overwrite behavior, output directory, and folder naming mode.
- If your archives may be encrypted, open the password manager and save a password list.
- Click
Start Allto run the queue. - Check each task's status, progress, errors, and output path in the task list.
- Electron for desktop app shell, IPC, native dialogs, and system integration
- Plain HTML, CSS, and JavaScript in the renderer for a lightweight UI
ExtractorServicein the main process for queue scheduling and extraction lifecycle management7zip-binas the extraction backend through7za- Persistent config stored in Electron
userDataaszipflow-config.json
src/
main/
archive-utils.js
config-store.js
extractor-service.js
main.js
preload.js
renderer/
app.js
index.html
styles.css
- Tasks are processed sequentially, not in parallel
- Pause behavior depends on suspending the underlying
7zaprocess - On some platforms, resume may restart extraction from the beginning if native process suspension is unavailable
- Auto update, code signing, app branding assets, and i18n are not finished yet
- There is no complete automated test suite yet
Useful next steps for an open source release:
- Add screenshots and demo GIFs
- Add a proper license
- Add
CHANGELOG.md - Add issue and pull request templates
- Add GitHub Actions build workflows
- Improve error reporting and exportable logs
- Add full internationalization support
Issues and pull requests are welcome.
Good areas to contribute first:
- Compatibility testing for more archive variations
- More robust cross-platform pause and resume behavior
- Batch task UX improvements
- Better UI polish and error feedback
No license has been added yet.
If you plan to open source this project, common choices are:
MITfor a simple permissive licenseApache-2.0for permissive use with an explicit patent grantGPL-3.0if you want stronger copyleft requirements
Until you decide, you can keep this section as:
TBD