<- Back to projects

Any Photo & Video Converter πŸ“ΈπŸŽ¬

A powerful, modern full-stack web application for converting images and videos to different formats. Features a beautiful dark mode UI, batch conversion, smart queue system, and real-time progress tracking.

React Node.js Express FFmpeg Tailwind CSS Multer
Media Converter Screenshot 1
Media Converter Screenshot 2
Media Converter Screenshot 3
Media Converter Screenshot 4
Media Converter Screenshot 5
Media Converter Screenshot 6

#Media Conversion Features

  • πŸ–ΌοΈ Multi-format Image Support - Convert between JPG, PNG, WebP, BMP, HEIC formats
  • 🎬 Multi-format Video Support - Convert between MP4, WebM, AVI, MOV, MKV, and GIF
  • πŸ“Š Quality Control - Adjustable quality settings (1-100%) for optimal file size/quality balance
  • πŸ“ Resolution Scaling - Custom width and height options for resizing
  • πŸŽ₯ Video Settings - Bitrate and framerate control for video conversions
  • ⚑ Speed Mode - Choose between Fast Mode (quick encoding) or High Quality mode
  • πŸ’‘ Smart Format Recommendations - Auto-suggests best output format based on input file

#Batch Processing & Queue System

  • πŸ“ Multi-file Upload - Upload and convert multiple files at once (up to 20 files)
  • πŸ”„ Smart Queue System - Processes 2 files in parallel to prevent CPU overload
  • πŸ“‹ Queue Status Display - See waiting, processing, completed, and failed jobs
  • 🎯 Individual Job Control - Cancel specific files or all conversions at once
  • ⚑ Auto-progression - Next file starts automatically when one completes
  • πŸ’Ύ Individual Downloads - Download files individually or all at once
  • πŸ” Reconvert Feature - Convert same files to different formats without re-uploading

#Performance Optimizations

  • ⚑ Stream Copy - Skip re-encoding when format is compatible (10x-50x faster)
  • πŸ”§ Multi-threading - Uses all available CPU cores for faster processing
  • πŸš€ Fast Presets - Optimized FFmpeg presets for speed vs quality balance
  • πŸ“Š Progress Tracking - Real-time progress for each file in the queue

#User Experience

  • πŸ–±οΈ Drag & Drop Upload - Intuitive file upload interface
  • πŸ‘οΈ Live Preview - Thumbnail previews for uploaded images and videos
  • ▢️ Video Preview - Play converted videos directly in the browser
  • πŸ“Š Real-time Progress - Visual progress bars with status messages
  • πŸŒ™ Dark Mode - Beautiful dark theme with smooth transitions
  • πŸ“± Responsive Design - Works seamlessly on desktop, tablet, and mobile

#Tech Stack

Frontend

  • React 18 - UI Framework
  • Tailwind CSS 3 - Styling & Dark Mode
  • Lucide React - Beautiful Icons
  • Context API - State Management

Backend

  • Node.js - Runtime Environment
  • Express.js - Web Framework
  • FFmpeg - Media Processing Engine
  • Multer - File Upload Handling
  • fs-extra - File System Operations

#Supported Formats

Images

  • JPEG/JPG - Best for photos
  • PNG - Lossless, transparency
  • WebP - Modern, efficient
  • BMP - Uncompressed
  • HEIC - iOS photos input

Videos

  • MP4 - Universal compatibility
  • WebM - Web optimized
  • AVI - Legacy support
  • MOV - Apple format
  • MKV - Container format
  • GIF - Animated images

#API Endpoints

  • POST /api/convert-queue - Add file to conversion queue
  • GET /api/queue-status - Get current queue status
  • POST /api/cancel-job/:jobId - Cancel specific job
  • POST /api/cancel-all - Cancel all conversions
  • GET /api/download/:filename - Download converted file
  • GET /api/preview/:filename - Preview converted file
  • POST /api/video-info - Get video metadata

#Security & Privacy

  • πŸ—‘οΈ Auto Cleanup - Temporary files are automatically deleted after download
  • πŸ”’ No Data Storage - Files are processed and removed - your media stays private
  • πŸ›‘οΈ Secure Processing - All conversions happen server-side with FFmpeg
  • βœ… Graceful Cancellation - Cancel conversions cleanly without leaving orphan files