A lightweight PySide6 desktop application for converting documents, Markdown, text, HTML, PDFs, and images between commonly used formats.
The application is designed to be simple, local-first, offline-friendly, and dependency-conscious.
- Markdown conversion
- Plain-text conversion
- HTML conversion
- PDF text extraction
- Image-to-PDF conversion
- Pandoc-based document conversion
- Batch conversion
- Add individual files or folders
- Custom output folder
- Automatic
convertedoutput folder - Progress indicator
- Conversion log
- Windows and Linux friendly
- No WeasyPrint dependency
| Source | Target |
|---|---|
.md, .markdown |
.html |
.md, .markdown |
.txt |
.md, .markdown |
.pdf |
| Source | Target |
|---|---|
.txt |
.md |
.txt |
.html |
.txt |
.pdf |
| Source | Target |
|---|---|
.html, .htm |
.pdf |
.html, .htm |
.txt |
| Source | Target |
|---|---|
.pdf |
.txt |
Supported image formats include:
- PNG
- JPG / JPEG
- WebP
- BMP
- TIFF / TIF
When Pandoc is installed, the application can provide broader conversion support for formats such as:
- DOCX
- ODT
- RTF
- EPUB
- Markdown
- HTML
- TXT
Actual Pandoc conversions depend on the installed Pandoc version and its supported readers/writers.
This version deliberately does not use WeasyPrint.
Markdown and HTML PDF generation use ReportLab, avoiding the GTK/Pango native-library problems that can occur with WeasyPrint on Windows.
ReportLab
Benefits:
- No GTK installation
- No Pango DLL requirement
- No WeasyPrint dependency
- Local/offline PDF generation
- Suitable for everyday document conversion
Python 3.10 or newer is recommended.
py -m pip install PySide6 markdown reportlab pypdf pillowpython3 -m pip install PySide6 markdown reportlab pypdf pillowPandoc enables additional document conversion capabilities.
winget install --id JohnMacFarlane.PandocVerify:
pandoc --versionsudo apt install pandocVerify:
pandoc --versionpy .\JASS_Universal_File_Converter_v1.1_No_WeasyPrint.pypython3 JASS_Universal_File_Converter_v1.1_No_WeasyPrint.pyClick Add Files to select one or more files.
Use Add Folder when you want to process files from a directory.
Choose the desired output format, for example:
PDF
Markdown
HTML
TXT
DOCX
ODT
RTF
EPUB
Select a destination folder if required.
If no custom destination is selected, converted files are placed in a converted folder associated with the source location.
Click Convert.
The progress bar and log show the conversion status.
The log reports successful conversions and failures, together with useful error information.
Input:
MyNotes.md
Select:
Target Format β PDF
Output:
MyNotes.pdf
The PDF is generated locally with ReportLab.
Example Markdown:
# My Notes
This is my document.
- Item one
- Item two
- Item threeNo WeasyPrint or GTK libraries are required.
| Conversion | Engine |
|---|---|
| Markdown β HTML | Python Markdown |
| Markdown β TXT | Built-in processing |
| Markdown β PDF | ReportLab |
| TXT β HTML | Built-in HTML generation |
| TXT β Markdown | Built-in processing |
| TXT β PDF | ReportLab |
| HTML β PDF | ReportLab |
| HTML β TXT | HTML parsing |
| PDF β TXT | pypdf |
| Image β PDF | Pillow |
| DOCX / ODT / RTF / EPUB etc. | Pandoc |
JASS Universal File Converter is designed for local file processing.
Normal conversions do not require uploading files to a cloud service.
The application does not require:
- Cloud conversion services
- Remote document processing
- WeasyPrint
- Internet access during normal conversion
Pandoc also performs conversions locally once installed.
Conversion quality depends on the source and target formats.
For example:
- Complex PDF layouts may not convert perfectly to TXT.
- PDF-to-TXT extraction depends on the PDF's internal text structure.
- Complex HTML/CSS styling is not reproduced completely by the ReportLab PDF engine.
- Scanned/image-only PDFs require OCR and are not automatically converted into editable text.
- Pandoc conversions depend on Pandoc's supported formats and installed components.
- Image-to-PDF conversion does not perform OCR.
For highly complex documents, specialized conversion software may preserve the original layout better.
If pip is not recognized directly on Windows, use:
py -m pip --versionThen install packages with:
py -m pip install PySide6 markdown reportlab pypdf pillowpy -m pip install PySide6py -m pip install reportlabpy -m pip install pypdfpy -m pip install pillowCheck:
pandoc --versionIf Pandoc is not found, install it and restart the application.
Typical layout:
JASS Universal File Converter/
β
βββ JASS_Universal_File_Converter_v1.1_No_WeasyPrint.py
βββ README.md
βββ converted/
The application is intentionally maintained as a single Python GUI application, making it easy to copy, run, and maintain.
Highlights:
- Removed WeasyPrint
- Removed GTK/Pango dependency
- Markdown β PDF uses ReportLab
- HTML β PDF uses ReportLab
- Improved Windows compatibility
- Pandoc support retained
- Local-first conversion workflow
If no license file is included with the repository, all rights remain with the project author.
JASS Universal File Converter
A practical local-first utility for working with documents, Markdown, PDFs, images, and other digital content.