A modern, fast, and user-friendly Universal File Converter built with Python and Streamlit.
Convert documents, images, PDFs, spreadsheets, and structured data files from one simple interface. The application supports batch conversion, file preview, metadata extraction, and ZIP downloads.
-
📄 Document Conversion
- PDF → DOCX
- DOCX → PDF
- TXT → PDF
-
📄 PDF Tools
- Merge Multiple PDF Files
-
🖼 Image Conversion
- JPG ↔ PNG
- JPG ↔ WEBP
- PNG ↔ WEBP
- BMP ↔ PNG
- TIFF ↔ PNG
- Images → PDF
-
📊 Spreadsheet Conversion
- CSV ↔ XLSX
-
🗂 Data Conversion
- JSON → CSV
- CSV → JSON
- XML → JSON
-
👀 File Preview
- Images
- PDF (First Page)
- DOCX
- TXT
- CSV
- XLSX
-
📋 Metadata Extraction
- File Information
- Image Properties
- PDF Details
- Spreadsheet Information
- JSON & XML Statistics
-
📦 Batch Conversion
-
📥 Individual File Download
-
📁 ZIP Download
-
📊 Conversion Dashboard
-
🧹 Automatic Temporary File Cleanup
-
⚡ Fast Processing
| Category | Input | Output |
|---|---|---|
| DOCX | ||
| Document | DOCX | |
| Document | TXT | |
| Image | JPG | PNG, WEBP, PDF |
| Image | PNG | JPG, WEBP, PDF |
| Image | WEBP | JPG, PNG, PDF |
| Image | BMP | PNG, PDF |
| Image | TIFF | PNG, PDF |
| Spreadsheet | CSV | XLSX, JSON |
| Spreadsheet | XLSX | CSV |
| Data | JSON | CSV |
| Data | XML | JSON |
- Python 3.12+
- Streamlit
- Pillow
- PyMuPDF
- pypdf
- pdf2docx
- python-docx
- reportlab
- pandas
- openpyxl
- img2pdf
- xmltodict
- lxml
Universal_File_Converter/
│
├── app.py
├── config.py
├── metadata.py
├── preview.py
├── utils.py
├── requirements.txt
├── README.md
├── .gitignore
│
├── converters/
│ ├── __init__.py
│ ├── base_converter.py
│ ├── image_converter.py
│ ├── pdf_converter.py
│ ├── document_converter.py
│ ├── spreadsheet_converter.py
│ └── data_converter.py
│
├── services/
│ ├── __init__.py
│ └── conversion_manager.py
│
├── pages/
│ ├── Converter.py
│ ├── About.py
│ └── Home.py
│
├── temp/
├── output/
└── samples/
Clone the repository:
git clone https://github.com/your-username/universal-file-converter.gitGo to the project directory:
cd universal-file-converterCreate a virtual environment:
python -m venv venv
venv\Scripts\activatepython3 -m venv venv
source venv/bin/activateInstall dependencies:
pip install -r requirements.txtstreamlit run app.pyThe application will open in your browser.
- Open the Converter page.
- Upload one or more supported files.
- Choose the output format.
- Click Convert Files.
- Preview the converted result.
- Download individual files or download everything as a ZIP archive.
- Open the Merge PDF page.
- Upload two or more PDF files.
- Upload the PDF files in the order you want them to be merged.
- Click Merge PDF.
- Download the merged PDF.
- Automatic file type detection
- Multiple file upload
- Batch conversion
- Preview before conversion
- Metadata viewer
- Conversion progress indicator
- Download individual files
- Download ZIP archive
- Automatic cleanup of temporary files
- Modern Streamlit interface
- Object-Oriented Design
- Modular Architecture
- Easy to Extend
- Cross-Platform
- Production Ready
- Clean Code Structure
This project is licensed under the MIT License.
S. S. Mhatre
If you found this project useful, consider giving it a ⭐ Star on GitHub.