Convert PDF, Images & Office Documents to DOCX with OCR — Local, Private, No Upload
100% Local · Privacy-First · No Document Uploads
DocFlow is a zero-code, fully local document conversion tool that batch-converts PDF, images, and Office documents into editable DOCX files. It features OCR text recognition (RapidOCR), AI image description (Qwen-VL), and table restoration — all running locally with no document ever leaving your machine.
| Feature | Description |
|---|---|
| Multi-format Input | PDF, DOCX, XLS, XLSX, JPG, PNG, GIF, BMP, WebP, TIFF |
| Batch Processing | Drag & drop multiple files, track progress per file |
| OCR Text Recognition | Powered by RapidOCR — extracts text from images, scans, and PPT screenshots; supports Chinese-English mixed text |
| AI Image Description | Enhanced mode uses Qwen-VL local multimodal model to generate semantic descriptions for images |
| Table Restoration | Converts image-based tables into editable DOCX tables |
| Bilingual UI | Chinese / English one-click switch |
| 100% Local & Private | No internet required, no document uploads — your data stays on your machine |
| DocFlow | Online Converters | Adobe Acrobat | |
|---|---|---|---|
| Privacy | ✅ 100% local, no upload | ❌ Files uploaded to server | |
| OCR | ✅ Built-in (RapidOCR) | ✅ Yes | |
| AI Image Description | ✅ Qwen-VL | ❌ No | ❌ No |
| Batch Conversion | ✅ Free | ✅ Paid | |
| Cost | ✅ Free & Open Source | ❌ Expensive | |
| No Account Needed | ✅ | ❌ Sign-up required | ❌ Subscription |
- OS: Windows 10 or later
- Python: 3.10 – 3.13 (Download, check "Add Python to PATH")
- Enhanced mode (optional): NVIDIA GPU with 10GB+ VRAM
Option A — One-click install (recommended):
Double-click install.bat and wait for dependencies to finish.
Option B — Manual install:
# Create virtual environment (recommended)
python -m venv .venv
.venv\Scripts\activate
# Install dependencies
pip install -r requirements.txtDouble-click run.bat (or run run.ps1 in PowerShell). Your browser will open at http://localhost:7860 automatically.
| Mode | Features | Hardware |
|---|---|---|
| Standard Mode | Preserve original images + OCR text recognition | Any computer |
| Enhanced Mode | Adds AI image description (Qwen-VL) | NVIDIA GPU, 10GB+ VRAM |
- Add files — Click or drag files into the upload area
- Select mode — Standard (any PC) or Enhanced (requires NVIDIA GPU)
- Set output path — Click "Browse" to choose output folder
- Start conversion — Click "Convert" and watch real-time progress
- View results — Click "Open" to jump to the output folder
DocFlow/
├── app.py # Flask backend main application
├── run.bat # Windows launcher
├── run.ps1 # PowerShell launcher
├── install.bat # One-click installer
├── requirements.txt # Python dependencies
├── LICENSE # MIT License
├── README.md # English docs
├── README.zh-CN.md # Chinese docs
├── assets/ # Icons & images
├── core/ # Core conversion modules
│ ├── converter.py # Main converter (batch & single)
│ ├── parser.py # Document parsing (PDF/DOCX/XLSX)
│ ├── ocr_engine.py # OCR engine (RapidOCR)
│ ├── image_describer.py # AI image description (Qwen-VL)
│ └── docx_builder.py # DOCX generator
├── utils/ # Utilities
│ ├── helpers.py # Helper functions
│ └── i18n.py # Internationalization
└── web/
└── index.html # Frontend UI
| Component | Technology |
|---|---|
| Backend | Flask 3.x |
| Frontend | Vanilla HTML / CSS / JS |
| PDF Parsing | PyMuPDF (fitz) |
| OCR | RapidOCR (ONNX Runtime) |
| AI Description | Qwen-VL-Chat-Int4 (via ModelScope) |
| DOCX Generation | python-docx |
| XLSX Parsing | openpyxl |
Q: Why can't .doc files be converted?
A: python-docx does not support the legacy .doc format. Please save as .docx in Word first.
Q: Enhanced mode says unavailable — what should I do?
A: Enhanced mode requires an NVIDIA GPU with 10GB+ VRAM. Switch to Standard mode, which works on any computer.
Q: Where are the converted files?
A: By default in the output/ folder. You can change the output path in the UI and click "Open" to access it directly.
Q: Does it support macOS / Linux?
A: Currently Windows only. The core code is cross-platform, but the launcher scripts (.bat/.ps1) and system calls need adaptation. PRs welcome!
Q: Is it really 100% offline?
A: Yes. Standard mode needs no internet at all. Enhanced mode downloads the Qwen-VL model once (on first run), after which it runs fully offline.
Contributions are welcome! Feel free to:
- 🐛 Report bugs or suggest features
- 🔀 Submit a Pull Request
- ⭐ Star the project if you find it useful
- 📢 Share it with others who might benefit
MIT License — free for personal and commercial use.
If DocFlow helps you, consider giving it a ⭐ — it helps others discover it too!