Privacy-first, local-only batch file converter — no uploads, no accounts, no telemetry. All conversion happens on your machine.
Drop files in. Pick output formats per file. Convert. That's it.
ZConvert handles images, documents, and data formats with built-in metadata stripping — useful for removing GPS/EXIF data before sharing photos, or sanitising documents before sending them externally.
- Batch conversion — drop multiple files, assign different output formats to each
- Per-file output targets — each file can produce multiple output formats simultaneously
- Per-file output directory — save each file's output to a different location if needed
- Metadata stripping — strips EXIF/GPS/timestamps from images and PDF metadata from documents
- Preset system — save reusable format + quality + strip combinations
- Format auto-detection — magic-byte detection, not just extension guessing
- Conversion history — searchable log of past jobs
- Fully offline — zero network calls, no cloud dependency
- Cross-platform — Windows, macOS, Linux
| Source | Output |
|---|---|
| JPEG | PNG, WebP, AVIF, TIFF, BMP |
| PNG | JPEG, WebP, AVIF, TIFF, BMP |
| WebP | JPEG, PNG, AVIF, TIFF |
| AVIF | JPEG, PNG, WebP, TIFF |
| TIFF | JPEG, PNG, WebP, AVIF, BMP |
| BMP | JPEG, PNG, WebP, TIFF |
| SVG | PNG, JPEG, WebP |
| HEIC | JPEG, PNG, WebP, TIFF |
| RAW (NEF, CR2, DNG, ARW) | JPEG, PNG, TIFF |
| Source | Output |
|---|---|
| Markdown | HTML, TXT, DOCX, PDF |
| HTML | Markdown, DOCX, PDF, TXT |
| DOCX | PDF, ODT, HTML, TXT |
| ODT | PDF, DOCX, HTML |
| EPUB | PDF, DOCX, HTML |
| DOCX, ODT, HTML, TXT | |
| XLSX / XLS | CSV, JSON |
| TXT | HTML, Markdown, DOCX |
| Source | Output |
|---|---|
| CSV | JSON |
| JSON | CSV |
| Layer | Technology |
|---|---|
| UI | React 19, TypeScript, Tailwind CSS v4, Motion |
| State | Zustand |
| Shell | Tauri v2 (Rust core) |
| Image | image, ravif, libheif-rs, rawler, resvg |
| Documents | Pandoc (sidecar), LibreOffice headless (sidecar) |
| Metadata | little_exif, lopdf |
| Data | calamine, csv, serde_json |
| Async | Tokio, Rayon |
- Node.js 18+
- pnpm 8+
- Rust (stable toolchain)
- Tauri CLI prerequisites for your OS
pnpm installPandoc and LibreOffice headless are bundled as platform-specific sidecars. Download them with:
pnpm fetch-sidecarsThis downloads pinned builds for all target triples into src-tauri/binaries/ and verifies SHA-256 checksums.
pnpm tauri devpnpm tauri buildProduces platform installers in src-tauri/target/release/bundle/:
- Windows — NSIS
.exeinstaller - macOS —
.dmg - Linux —
.AppImage,.deb
ZConvert/
├── src/ # React UI
│ ├── components/ # UI components
│ ├── store/jobStore.ts # Zustand state
│ ├── ipc/ # Typed Tauri IPC wrappers
│ ├── lib/formats.ts # Format catalog + compatibility map
│ └── types/conversion.ts # Shared types (mirrors Rust structs)
├── src-tauri/
│ ├── binaries/ # Pandoc + LibreOffice sidecars (per platform)
│ ├── icons/ # App icons (all sizes)
│ └── src/
│ ├── commands.rs # Tauri command surface
│ ├── detect.rs # Magic-byte format detection
│ ├── converters/ # Per-format conversion pipelines
│ │ ├── image.rs
│ │ ├── document.rs
│ │ ├── data.rs
│ │ └── metadata.rs
│ └── sidecar.rs # Pandoc / soffice invocation
└── scripts/
└── fetch-sidecars.ts # Sidecar download + verify script
ZConvert makes no network requests. There is no telemetry, no update check, no analytics. Sidecar binaries run locally with no outbound access. You can verify this with a firewall or network monitor while running conversions.
GNU General Public License v3.0 — see LICENSE for details.
TheHolyOneZ
- GitHub: github.com/TheHolyOneZ
- Projects: zsync.eu
- Repository: github.com/TheHolyOneZ/ZConvert
- Website / Download: zsync.eu/zconvert

