{"id":34775624,"url":"https://github.com/bibekchandsah/image-converter","last_synced_at":"2026-05-23T01:33:25.151Z","repository":{"id":321986060,"uuid":"1087853595","full_name":"bibekchandsah/image-converter","owner":"bibekchandsah","description":"A modern Python GUI application for open-source image conversion and resizing, built with PySide6. Supports drag \u0026 drop, clipboard paste, URL fetching, unit conversion (pixels, cm, inches), batch processing, real-time preview, and multi-threaded performance. Handles formats like PNG, JPEG, WebP, ICO with format-specific optimizations.","archived":false,"fork":false,"pushed_at":"2025-11-04T22:17:42.000Z","size":708,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-26T19:48:56.747Z","etag":null,"topics":["ico","image-conversion","image-conversion-tool","image-convert","image-converter","image-processing","image-resize","image-resizer","image-resizer-app","image-resizer-desktop-app","image-resizing","jpeg","open-source-image-converter-resizer","png","png-converter","png-icons","webp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bibekchandsah.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-01T19:25:35.000Z","updated_at":"2025-11-19T03:36:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bibekchandsah/image-converter","commit_stats":null,"previous_names":["bibekchandsah/image-converter"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/bibekchandsah/image-converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibekchandsah%2Fimage-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibekchandsah%2Fimage-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibekchandsah%2Fimage-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibekchandsah%2Fimage-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bibekchandsah","download_url":"https://codeload.github.com/bibekchandsah/image-converter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibekchandsah%2Fimage-converter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33379721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T01:21:08.577Z","status":"ssl_error","status_checked_at":"2026-05-23T01:20:25.255Z","response_time":265,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ico","image-conversion","image-conversion-tool","image-convert","image-converter","image-processing","image-resize","image-resizer","image-resizer-app","image-resizer-desktop-app","image-resizing","jpeg","open-source-image-converter-resizer","png","png-converter","png-icons","webp"],"created_at":"2025-12-25T08:16:17.928Z","updated_at":"2026-05-23T01:33:20.142Z","avatar_url":"https://github.com/bibekchandsah.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖼️ Image Converter GUI\n\nA modern Python GUI application built with PySide6 for converting and resizing images with advanced features including drag \u0026 drop support, clipboard paste, URL fetching, unit conversion, comprehensive preview system, and optimized multi-threading.\n\n## 📸 Screenshots\n\n### Main Interface\n![Image Converter Main Interface](imagepreview1.png)\n*Main application window showing the intuitive drag \u0026 drop interface, format options, and size selection controls*\n\n### Preview System\n![Image Converter Preview Dialog](imagepreview2.png)\n*Comprehensive preview dialog showing detailed conversion information before saving*\n\n## 🚀 Quick Start\n\n1. **📥 [Download the latest release](https://github.com/bibekchandsah/image-converter/releases)** - Get the ready-to-use executable\n2. **🖱️ Drag \u0026 drop** an image into the application\n3. **⚙️ Choose** your desired format and size options\n4. **👁️ Preview** your conversion settings\n5. **💾 Convert** and save your images!\n\nNo Python installation required with the pre-built executable!\n\n## ✨ Features\n\n### 🎯 Input Methods\n- **Drag \u0026 Drop**: Direct image dropping with visual feedback\n- **File Browser**: Traditional file selection dialog\n- **URL Fetching**: Download images directly from web URLs\n- **Clipboard Support**: Paste images with Ctrl+V\n\n### 📐 Advanced Unit System\n- **Multiple Units**: Pixels, Centimeters, Inches\n- **Real-time Conversion**: Dynamic unit switching with DPI calculation\n- **Smart Labels**: Size options update based on selected unit\n- **DPI Integration**: Proper physical size calculations\n- **Quality Integration**:  DPI and quality settings synchronized\n\n### 🔄 Format Support\n- **Input**: PNG, JPG, JPEG, BMP, WebP, GIF, ICO, TIFF, HEIC\n- **Output**: PNG, JPEG, JPG, WebP, ICO\n- **Format-Specific Optimization**:\n  - **WebP**: Fast compression with quality capping\n  - **PNG**: Compression levels based on quality settings\n  - **ICO**: Automatic size optimization (max 256x256)\n  - **JPEG**: Full quality and DPI support\n\n### 🎨 Intelligent Resizing\n- **Original Size**: Keep source dimensions\n- **Predefined Sizes**: 16x16, 32x32, 48x48, 128x128, 150x150, 192x192, 512x512\n- **Custom Dimensions**: User-defined sizes with unit support\n- **Batch Processing**: Multiple sizes simultaneously\n- **Aspect Ratio Control**: Lock/unlock with resize modes (Stretch, Crop, Fit)\n\n### 👁️ Comprehensive Preview System\n- **Real-time Preview**: See exactly what you'll get before saving\n- **Batch Preview**: Preview multiple sizes at once\n- **Detailed Information**: File size, dimensions, format, DPI, quality\n- **Format-Specific Details**: Compression info, limitations, recommendations\n- **Actual Conversion**: Preview uses real conversion settings for accurate results\n\n### ⚡ Performance \u0026 Threading\n- **Non-blocking UI**: Multi-threaded conversion prevents freezing\n- **Cancellable Operations**: Stop conversions mid-process\n- **Progress Tracking**: Real-time status updates\n- **Optimized WebP**: Fast compression settings for responsive UI\n\n### 🎛️ Advanced Settings\n- **Quality Control**: 1-100% quality settings with format-specific handling\n- **DPI Settings**: 72-600 DPI with metadata support\n- **Compression Modes**: Format-specific optimization\n- **Resize Modes**: Stretch, Crop, Fit with aspect ratio control\n\n## 🚀 Installation\n\n### Option 1: Download Pre-built Executable (Recommended)\n\n**📥 [Download Latest Release](https://github.com/bibekchandsah/image-converter/releases)**\n\n1. Go to [Releases · bibekchandsah/image-converter](https://github.com/bibekchandsah/image-converter/releases)\n2. Download the latest `ImageConverter.exe` file\n3. Run the executable directly - no installation required!\n\n*The pre-built executable includes all dependencies and works on Windows 10/11 without requiring Python installation.*\n\n### Option 2: Run from Source\n\n1. **Install Python 3.8+**\n\n2. **Install required dependencies**:\n```bash\npip install PySide6 Pillow requests\n```\n\n3. **Run the application**:\n```bash\npython main.py\n```\n\n## 📁 Project Structure\n\n```\nImageConverter/\n├── main.py                    # Application entry point\n├── ui_mainwindow.py          # Main GUI window and logic\n├── converter.py              # Image conversion functionality\n├── downloader.py             # URL image fetching\n├── utils/\n│   ├── file_utils.py         # File handling utilities\n│   └── resize_options.py     # Size validation and presets\n├── assets/\n│   └── style.qss            # Modern UI stylesheet\n└── README.md\n```\n\n## 🎯 Usage\n\n### Basic Workflow\n1. **Load an Image**:\n   - Drag \u0026 drop an image file into the drop area\n   - Click the drop area to browse files\n   - Enter an image URL and click \"Fetch\"\n   - Paste from clipboard with Ctrl+V\n\n2. **Configure Settings**:\n   - **Format**: Choose PNG, JPEG, JPG, WebP, or ICO\n   - **Quality**: Set 1-100% (affects lossy formats)\n   - **DPI**: Set 72-600 DPI (for print quality)\n   - **Aspect Ratio**: Lock/unlock with resize mode selection\n\n3. **Select Units \u0026 Sizes**:\n   - **Unit**: Choose Pixels, Centimeters, or Inches\n   - **Sizes**: Check one or more size options\n   - **Custom**: Enter specific dimensions in chosen unit\n\n4. **Preview Before Saving**:\n   - Click \"Preview\" to see exact results\n   - Review file sizes, dimensions, and format details\n   - Cancel to adjust settings or proceed to save\n\n5. **Convert \u0026 Save**:\n   - Click \"Convert Image(s)\" after preview confirmation\n   - Monitor progress with real-time status updates\n   - Cancel conversion if needed\n\n### Advanced Features\n\n#### Unit Conversion\n- Switch between Pixels, Centimeters, and Inches\n- Size labels automatically update based on DPI settings\n- Custom size dialog supports decimal values for precise measurements\n\n#### Preview System\n- **Comprehensive Details**: See file size, dimensions, DPI, quality, and format-specific info\n- **Actual Conversion**: Preview performs real conversion for accurate file sizes\n- **Format Guidance**: Get recommendations and limitations for each format\n\n#### Quality \u0026 DPI Control\n- **Format-Specific**: Quality affects JPEG/WebP, compression level for PNG\n- **DPI Metadata**: Properly set for PNG/JPEG, noted as unsupported for WebP/ICO\n- **Smart Defaults**: 300 DPI for print quality, 90% quality for good balance\n\n## 🔧 Technical Details\n\n- **Framework**: PySide6 (Qt for Python)\n- **Image Processing**: Pillow (PIL)\n- **HTTP Requests**: requests library\n- **Threading**: QThread for non-blocking operations\n- **File Handling**: pathlib for cross-platform compatibility\n\n## 📝 Output File Naming\n\nConverted files follow this pattern:\n```\noriginal_filename_WIDTHxHEIGHT.format\n```\n\nExamples:\n- `sunset_128x128.webp`\n- `photo_512x512.png`\n- `icon_32x32.ico`\n\n## 🎯 Unit Conversion Examples\n\n### Pixel Mode (Default)\n- Direct pixel dimensions: 512x512, 256x256, etc.\n\n### Centimeter Mode (300 DPI)\n- 1.0 cm = 118 pixels\n- 2.5 cm = 295 pixels  \n- 5.0 cm = 590 pixels\n\n### Inch Mode (300 DPI)\n- 0.5 inches = 150 pixels\n- 1.0 inch = 300 pixels\n- 2.0 inches = 600 pixels\n\n*Note: Conversions depend on DPI setting. Higher DPI = more pixels per physical unit.*\n\n## 🔍 Preview System Details\n\n### What You See in Preview\n- **File Name**: Exact output filename\n- **Dimensions**: Final pixel dimensions (with unit conversion if applicable)\n- **Format**: Output format with specific notes\n- **DPI**: Resolution setting (where supported)\n- **Quality**: Compression quality with format-specific details\n- **File Size**: Actual file size after conversion\n- **Format Notes**: Optimization details and limitations\n\n### Preview Accuracy\n- Uses real conversion process for accurate file sizes\n- Shows actual compression results\n- Displays format-specific optimizations\n- Provides cancellation option before saving\n\n## 🛠️ Advanced Features\n\n### 📐 Unit System\n- **Pixel Mode**: Direct pixel dimensions (default)\n- **Centimeter Mode**: Physical measurements with DPI calculation\n- **Inch Mode**: Imperial measurements with DPI conversion\n- **Dynamic Updates**: Size labels change based on selected unit and DPI\n\n### 👁️ Preview System\n- **Real Conversion**: Uses actual conversion settings for accurate previews\n- **Detailed Info**: Shows file size, dimensions, DPI, quality, compression type\n- **Format-Specific Guidance**:\n  - **PNG**: Shows compression level (Low/Medium/High)\n  - **JPEG**: Shows quality percentage and DPI\n  - **WebP**: Shows optimized quality and fast compression note\n  - **ICO**: Shows size limitations and compatibility notes\n\n### ⚡ Performance Optimizations\n- **Multi-threading**: Non-blocking UI during conversions\n- **WebP Optimization**: Fast compression (method 1, quality capped at 85%)\n- **PNG Compression**: Quality-based compression levels (1-9)\n- **Memory Management**: Size limits prevent memory issues\n- **Cancellation**: Stop long-running conversions\n\n### 🎨 Resize Modes\n- **Stretch**: Resize to exact dimensions (may distort)\n- **Crop**: Fill target size completely, crop excess\n- **Fit**: Fit completely inside target size with background\n\n### 🔧 Format-Specific Features\n- **ICO Optimization**: Automatic size reduction to 256x256 for compatibility\n- **WebP Fast Mode**: Optimized for speed with quality capping\n- **PNG Compression**: Quality setting controls compression level\n- **JPEG Quality**: Full 1-100% quality range with DPI support\n\n### 🖱️ User Interface\n- **Drag \u0026 Drop**: Visual feedback and validation\n- **Clipboard Support**: Paste images and URLs\n- **Progress Tracking**: Real-time conversion status\n- **Error Handling**: Graceful error recovery and user feedback\n- **Responsive Design**: Adapts to window resizing\n\n## 🎨 UI Features\n\n- Modern, clean design\n- Responsive layout\n- Real-time image preview\n- Progress indicators\n- Status messages\n- Intuitive controls\n\n## 🔍 Format Support \u0026 Optimization\n\n### Input Formats\n- **PNG** (Portable Network Graphics) - Lossless with transparency\n- **JPEG/JPG** (Joint Photographic Experts Group) - Compressed photos\n- **BMP** (Bitmap) - Uncompressed raster format\n- **WebP** (Web Picture format) - Modern web format\n- **GIF** (Graphics Interchange Format) - Animated/simple graphics\n- **ICO** (Icon format) - Windows icons\n- **TIFF** (Tagged Image File Format) - High-quality archival\n- **HEIC** (High Efficiency Image Container) - Apple's modern format\n\n### Output Formats with Smart Optimization\n\n#### PNG - Lossless Compression\n- **Quality Setting**: Controls compression level (1-9)\n- **DPI Support**: Full metadata support\n- **Transparency**: Preserved from source\n- **Best For**: Graphics, logos, images with transparency\n\n#### JPEG/JPG - Lossy Compression\n- **Quality Range**: 1-100% with visual quality control\n- **DPI Support**: Full metadata and print quality support\n- **Optimization**: Automatic optimization enabled\n- **Best For**: Photographs, complex images\n\n#### WebP - Modern Web Format\n- **Fast Compression**: Optimized method 1 for speed\n- **Quality Capping**: Automatically capped at 85% for performance\n- **No DPI**: Format doesn't support DPI metadata\n- **Best For**: Web images, modern browsers\n\n#### ICO - Windows Icons\n- **Size Limitation**: Automatically optimized to 256x256 max (PIL limitation)\n- **Multiple Sizes**: Can contain multiple icon sizes\n- **No Quality/DPI**: Lossless format without metadata support\n- **Best For**: Windows application icons, favicons\n\n### Format-Specific Intelligence\n- **Automatic Optimization**: Each format uses optimal settings\n- **Size Warnings**: Clear indication of format limitations\n- **Quality Guidance**: Format-appropriate quality recommendations\n- **Compatibility Notes**: Information about format support and limitations\n\n## 🚨 Requirements \u0026 Performance\n\n### System Requirements\n- **Python**: 3.8 or higher\n- **Operating System**: Windows 10/11, macOS, or Linux\n- **Memory**: 4GB RAM recommended for large image processing\n- **Storage**: Minimal disk space (temporary files cleaned automatically)\n\n### Dependencies\n```bash\npip install PySide6 Pillow requests\n```\n\n### Performance Notes\n- **Large Images**: \u003e10MB images may take longer to process\n- **ICO Format**: Limited to 256x256 pixels (PIL limitation)\n- **WebP**: Optimized for speed with quality capping at 85%\n- **Multi-threading**: UI remains responsive during conversion\n- **Memory Management**: Automatic size limits prevent memory issues\n\n## 📄 License\n\nThis project is open source and available under the MIT License.\n\n## � Recentt Improvements\n\n### Version 2.0 Features\n- ✅ **Unit System**: Pixels, Centimeters, Inches with real-time conversion\n- ✅ **Advanced Preview**: Real conversion preview with detailed information\n- ✅ **Multi-threading**: Non-blocking UI with cancellation support\n- ✅ **Format Optimization**: WebP fast mode, PNG compression levels, ICO size limits\n- ✅ **Clipboard Support**: Paste images and URLs with Ctrl+V\n- ✅ **Quality Control**: Format-specific quality and DPI settings\n- ✅ **Resize Modes**: Stretch, Crop, Fit with aspect ratio control\n- ✅ **Smart UI**: Dynamic labels, progress tracking, error handling\n\n### Performance Enhancements\n- 🚀 **WebP Speed**: 3x faster conversion with optimized settings\n- 🚀 **UI Responsiveness**: Multi-threaded processing prevents freezing\n- 🚀 **Memory Management**: Automatic size limits and cleanup\n- 🚀 **Preview Speed**: Efficient temporary file handling\n\n## 👨‍💻 Author\n\n**Bibek**  \nDate: 30 Oct 2025 (Updated: 2 Nov 2025)  \nProject: Image Converter GUI v2.0  \nLanguage: Python 3 (PySide6)  \nFeatures: Advanced unit conversion, preview system, multi-threading\n\n📦 **Latest builds available at**: [Releases · bibekchandsah/image-converter](https://github.com/bibekchandsah/image-converter/releases)\n\n## 🤝 Contributing\n\nFeel free to submit issues, feature requests, or pull requests to improve this application.\n\n### Development Focus Areas\n- Additional output formats (AVIF, JPEG XL)\n- Batch file processing\n- Image editing features (rotate, flip, filters)\n- Plugin system for custom formats\n- Command-line interface","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbibekchandsah%2Fimage-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbibekchandsah%2Fimage-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbibekchandsah%2Fimage-converter/lists"}