https://github.com/bahihegazi/imgconvert
Powerful web app to convert multiple images (PNG, JPG, WEBP) into different formats instantly. Supports drag & drop, preview, progress bar, and bulk download as ZIP.
https://github.com/bahihegazi/imgconvert
backend bulk-upload developer-tool drag-and-drop file-converter frontend fullstack html-css image-converter image-processing image-upload javascript nodejs open-source sharp-js zip-download
Last synced: about 2 months ago
JSON representation
Powerful web app to convert multiple images (PNG, JPG, WEBP) into different formats instantly. Supports drag & drop, preview, progress bar, and bulk download as ZIP.
- Host: GitHub
- URL: https://github.com/bahihegazi/imgconvert
- Owner: bahihegazi
- Created: 2025-06-28T16:46:57.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-28T21:21:33.000Z (12 months ago)
- Last Synced: 2025-06-28T21:28:27.720Z (12 months ago)
- Topics: backend, bulk-upload, developer-tool, drag-and-drop, file-converter, frontend, fullstack, html-css, image-converter, image-processing, image-upload, javascript, nodejs, open-source, sharp-js, zip-download
- Language: CSS
- Homepage:
- Size: 560 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ImgConvert
**ImgConvert** is a simple and powerful image format converter built with Node.js and vanilla JavaScript. It allows users to drag & drop images (JPG, PNG, WEBP), choose a desired output format, and download converted images either individually or all at once in a ZIP file.
---
## ๐ Features
- Drag & drop interface for uploading images.
- Converts JPG, PNG, and WEBP formats to:
- JPG, PNG, WEBP, BMP, TIFF, GIF.
- Convert single image or batch convert multiple images.
- Select global output format or per-image format.
- Download:
- Individually (each image after conversion).
- All at once (ZIP archive).
- Auto-removal of uploaded files from the server after 30 minutes.
- Clean UI with real-time progress bar.
---
## ๐ Getting Started
### 1. Clone the Repository
```bash
git clone https://github.com/bahihegazi/ImgConvert.git
cd ImgConvert
```
### 2. Install Dependencies
Navigate to the backend folder and run:
```bash
cd backend
npm install
```
### 3. Run the Server
```bash
node index.js
```
Server will be running on:
```
http://localhost:3000
```
---
## ๐งช Usage Instructions
1. Open the app in your browser at `http://localhost:3000`
2. Drag and drop one or more images into the upload area.
3. Select the desired output format (globally or per image).
4. Click **Convert Now** or **Convert All Now**.
5. Wait for the progress bar to reach 100%.
6. Download:
- For one image: A direct download button will appear.
- For multiple images: Download All button will appear.
7. Each image will also show an individual download icon.
8. Converted images are automatically deleted from the server after 30 minutes.
---
## ๐ Project Structure
```
ImgConvert/
โโโ backend/
โ โโโ uploads/ # Uploaded images (temporary)
โ โโโ converted/ # (optional) for saving outputs (if implemented)
โ โโโ index.js # Express server logic
โ โโโ package.json
โโโ frontend/
โ โโโ css/ # Styles
โ โโโ js/ # Scripts
โ โโโ img/ # Static images/icons
โ โโโ index.html # Main HTML file
โโโ .gitignore
```
---
## ๐ก๏ธ Notes
- File size and number of uploads are limited by your system and server config.
- Make sure port `3000` is available when starting the server.
- Uses `multer`, `sharp`, and `archiver` for image processing.
---
## ๐ License
This project is licensed under the MIT License. Feel free to use and modify it.
---