A feature-rich GUI wrapper for MarkItDown
, built with PySide6. Easily convert files to markdown using drag & drop.
-
📂 File Management:
- Drag & Drop for batch processing
- File type filtering
- Recent files history
- Batch processing with pause/resume
-
🎨 User Interface:
- Dark/Light theme support
- Preview panel
- Progress tracking
- Keyboard shortcuts
-
⚙️ Advanced Options:
- Format customization (headers, tables)
- Auto-save and backup
- Enable plugins
- Document Intelligence API support
-
🛠️ Output Options:
- Save all in one file or separately
- Choose output directory
- Quick copy & paste
- Preview before saving
You can download the precompiled executable from the Releases or build it from source. For that just follow the instructions below.
- Python 3.10+
- create a venv
- Install dependencies (preferred via
uv
):
uv sync
or
pip install -r requirements.txt
uv run python -m markitdowngui.main
Ctrl+O
: Open FilesCtrl+S
: Save OutputCtrl+C
: Copy OutputCtrl+P
: Pause/ResumeCtrl+B
: Begin ConversionCtrl+L
: Clear ListCtrl+K
: Show ShortcutsEsc
: Cancel Conversion
First activate the development environment:
uv pip install -e .[dev]
Use PyInstaller
:
pyinstaller MarkItDown.spec --clean
Licensed under MIT.
Note: PySide6
uses LGPLv3, requiring dynamic linking.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository and create a new branch for your feature or bug fix.
- Set up the development environment:
- It is recommended to use a virtual environment.
- This project uses
uv
for package management. - To install all dependencies, including for development and testing, run:
uv pip install -e .[dev]
- Make your changes.
- Run the tests to ensure everything is working correctly:
pytest
- Submit a pull request with a clear description of your changes.
- MarkItDown (MIT License)
- PySide6 (LGPLv3 License)
- Lucide Icons (MIT License)