|
Light & Dark mode with automatic theme detection |
| Category | Input Formats | Output Formats |
|---|---|---|
| Image | JPG, PNG, WEBP, HEIC, SVG, ICO, TIFF, BMP, GIF, AVIF | JPG, PNG, WEBP, GIF, BMP, TIFF, ICO, PDF |
| Video | MP4, MKV, AVI, MOV, WEBM, WMV, FLV, M4V, 3GP | MP4, MKV, AVI, MOV, WEBM, GIF, MP3, WAV |
| Audio | MP3, WAV, FLAC, M4A, OGG, AAC, AIFF, OPUS | MP3, WAV, AAC, OGG, FLAC, M4A |
| Document | PDF, DOCX, PPTX | PDF, DOCX, TXT, HTML, MD, PNG, JPG |
| Data | CSV, XLSX, JSON, XML, HTML, TXT | CSV, XLSX, JSON, XML, HTML, TXT |
| Archive | ZIP, 7Z, TAR, GZ, TGZ, TAR.GZ, TAR.BZ2 | ZIP, 7Z, TAR |
Note:
pdf2docxis incompatible withnumpy>=2.0. It's pinned tonumpy<2.0in requirements.txt.
# Clone the repository
git clone https://github.com/YusufEren97/universal-file-converter.git
cd universal-file-converter
# Install dependencies
pip install -r requirements.txt
# Run the application
python -m uvicorn app.main:app --port 1453Or simply double-click Start.bat on Windows.
Open your browser: http://localhost:1453
| Component | Technology |
|---|---|
| Backend | Python, FastAPI, Uvicorn |
| Frontend | HTML5, CSS3, JavaScript, Tailwind CSS |
| Conversion | FFmpeg, Pillow, PyMuPDF, pdf2docx |
| Archive | zipfile, py7zr, tarfile |
universal-converter/
├── app/
│ ├── main.py # FastAPI application
│ ├── utils.py # Utility functions
│ └── converters/ # Format converters
│ ├── images.py # Image conversion
│ ├── video.py # Video/Audio conversion
│ ├── pdf.py # PDF conversion
│ ├── docx_converter.py # DOCX conversion
│ ├── pptx_converter.py # PPTX conversion
│ ├── docs.py # Data file conversion
│ └── archive.py # Archive conversion
├── static/
│ ├── index.html # Main UI
│ ├── style.css # Styles
│ ├── script.js # Frontend logic
│ └── locales/ # Translation files
├── requirements.txt
├── Start.bat # Windows launcher
└── README.md
| Variable | Default | Description |
|---|---|---|
| Port | 1453 |
Server port |
| Max File Size | 100MB |
Maximum upload size |
| Cleanup Interval | 10 min |
Auto-delete temp files |
This project is licensed under the MIT License - see the LICENSE file for details.


