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 ImgConvertNavigate to the backend folder and run:
cd backend
npm installnode index.jsServer 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
3000is available when starting the server. - Uses
multer,sharp, andarchiverfor image processing.
This project is licensed under the MIT License. Feel free to use and modify it.