A browser-based image converter that allows you to convert images to various formats without any ads or serversβensuring your privacy.
- Multiple Format Support: Convert images to PNG, JPEG, WebP, AVIF, BMP, and ICO.
- Responsive Design: Works seamlessly on all devices.
- Privacy First: All processing happens locally in your browser.
- User-Friendly Interface: Intuitive controls for file uploads, format selection, and resizing.
- Download History: Keep track of your recent conversions.
Try it out live at imagex.vehbi.me
- React (via NextJS)
- TypeScript
- TailwindCSS
- Lucide Icons
- FileSaver.js
-
Clone the repository
git clone https://github.com/vehbiu/imagex.git
-
Install dependencies
bun install
-
Start the development server
bun run dev
src/
βββ components/
β βββ ui/ # UI components
β βββ download-history.tsx # Download history component
βββ app/
β βββ page.tsx # Main conversion page
β βββ layout.tsx # Default layout
βββ lib/
β βββ types.ts # Type definitions
β βββ utils.ts # Utility functions (shadcn)
βββ App.tsx # Main application component
βββ ...
To add support for a new image format, modify the format options in the Select
component within image-converter.tsx
:
<SelectItem value="newformat">New Format</SelectItem>
β οΈ Warning Canvas does not support all image formats. Make sure to test the new format thoroughly before adding it to the list.
Modify the styles in tailwind.config.js
to customize the appearance of the UI components.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Vehbi
- Icons provided by Lucide
- File handling library: FileSaver.js
Made with β€οΈ by @vehbiu