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.
- 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.
git clone https://github.com/bahihegazi/ImgConvert.git
cd ImgConvert
Navigate to the backend folder and run:
cd backend
npm install
node index.js
Server will be running on:
http://localhost:3000
- Open the app in your browser at
http://localhost:3000
- Drag and drop one or more images into the upload area.
- Select the desired output format (globally or per image).
- Click Convert Now or Convert All Now.
- Wait for the progress bar to reach 100%.
- Download:
- For one image: A direct download button will appear.
- For multiple images: Download All button will appear.
- Each image will also show an individual download icon.
- Converted images are automatically deleted from the server after 30 minutes.
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
- 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
, andarchiver
for image processing.
This project is licensed under the MIT License. Feel free to use and modify it.