LocalConvert

A fully local, offline, all-in-one file format converter with a modern desktop GUI. No cloud uploads, no external APIs — every conversion runs using tools installed on your own computer. This project is fully vibe coded.

Overview

LocalConvert wraps battle-tested open-source conversion tools behind a single clean desktop GUI. Rather than remembering which tool converts which format, you open LocalConvert, pick your file and target format, and it figures out the right backend. No uploads, no cloud processing, no file size limits.

Supported Formats

Documents · Spreadsheets · Ebooks · Images · Video · Audio · PDF (with OCR)

The application detects the input format and routes the conversion to the appropriate backend tool:

  • Documents & Spreadsheets: LibreOffice (headless) for DOCX, ODT, XLSX, ODS, and more
  • Ebooks: Calibre for EPUB, MOBI, AZW3, and other ebook formats
  • Markdown & HTML: Pandoc for structured document conversion
  • Video & Audio: FFmpeg for all media formats
  • PDF with OCR: Tesseract for extracting text from scanned documents
  • Images: Pillow and FFmpeg for JPEG, PNG, WebP, and more

Implementation

Built in Python 3.10+ with a desktop GUI. A single setup script creates a Python virtual environment and installs all required system tools. Available on Linux, macOS, and Windows.

Docker option available for zero host dependencies: all system tools (LibreOffice, Pandoc, Calibre, FFmpeg, Tesseract) are bundled inside the container. Output files land in ./output/.

Technologies

Python LibreOffice Pandoc Calibre FFmpeg Tesseract Docker PySide6 vibe coded

Interesting Details

  • 41 tests passed — the codebase has solid test coverage
  • Single setup script: ./setup.sh handles venv creation and system tool installation in one step
  • Cross-platform: works on Linux, macOS, and Windows (PowerShell setup script for Windows)
  • Docker mode with noVNC: access the GUI from a browser on headless or remote machines (port 6080)
  • Output directory is configurable via environment variable