A modern web app for high-quality grayscale image conversion and batch processing, built with FastAPI (Python backend) and a responsive JavaScript frontend.
- Single & Batch Image Conversion: Convert one or many images at once.
- Advanced Grayscale Modes: Choose from Rec. 709, Lab*, HSL, HSV, and more.
- High Bit Depth Support: 8, 16-bit output for maximum quality.
- Format Options: PNG, JPEG, HEIC, TIFF, WEBP, BMP.
- Chroma Subsampling & Quality Controls: Always defaults to best quality (4:4:4, quality=100).
- Preserve Transparency: Optionally keep alpha channels.
- Metadata Handling: Option to strip or preserve EXIF/ICC/DPI.
- Live Preview: See before/after instantly in the browser.
- No Image Uploads Required: All processing is local to your server.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
npm install # for Tailwind CSS (optional, for development)npm run build:cssuvicorn main:app --reload --port 8001Then open http://localhost:8001 in your browser.
main.py— FastAPI backend (image processing, API endpoints)static/— JS, CSS, and assetstemplates/— HTML templates (Jinja2)requirements.txt— Python dependenciespackage.json,tailwind.config.js— Frontend build configtemp_output/— Temporary output files (auto-created)
If you see an error like OS file watch limit reached or similar when running the server with --reload, you may need to increase the file watch limit on your system.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p- If you see errors about file watching on Windows, try running VS Code or your terminal as Administrator.
- For WSL, use the Linux command above inside your WSL terminal.
- If using Python's
watchdogor similar, you may need to install the Windows C++ build tools or update your Python environment. - If issues persist, consider disabling
--reloador reducing the number of watched files.
- Requires
pillow-heif(Python) and system libraries (libheif). - On Linux, install
libheif-devvia your package manager (e.g.,sudo apt install libheif-dev). - On Windows, use pre-built wheels for
pillow-heifor see the pillow-heif documentation for Windows support.
MIT