I got tired of every "free" file converter requiring signup, adding watermarks, or limiting conversions. So I built my own.
What it does
FileConvertTool converts files between 30+ formats:
Images: PNG, JPG, WebP, HEIC, AVIF, SVG, GIF, BMP, TIFF, ICO
Video → Audio: MP4, MOV, MKV, AVI, WebM → MP3, WAV, AAC, OGG
Audio: MP3, WAV, FLAC, AAC, OGG, WMA, M4A
Tools: Image compression, SVG tracing (raster to vector)
No signup. No watermarks. No daily limits. Files are encrypted and auto-deleted after conversion.
Tech stack
Frontend: Next.js 15 (static export) → Cloudflare Pages
Zero server costs for the frontend
Global CDN, fast loading everywhere
Static export means no Node.js server needed
Backend API: Python FastAPI on Railway
FFmpeg for video/audio processing
Pillow + pillow-heif for image conversion (including HEIC/AVIF)
vtracer for SVG tracing (raster → vector)
CairoSVG for SVG → raster conversion
Why this stack?
FFmpeg is the most powerful media processing tool in existence. It handles virtually every format. Rather than building conversion logic from scratch, I wrapped FFmpeg commands in a FastAPI server and let it do the heavy lifting.
Cloudflare Pages gives me unlimited bandwidth for free. The frontend is completely static — the API on Railway handles all the processing. This separation means the frontend never goes down even if the API is under heavy load.
Challenges
HEIC support was the trickiest part. Apple's HEIC format requires the pillow-heif library, which needs system-level dependencies. Getting this working on Railway required some Dockerfile tweaking.
AVIF support similarly required specific build dependencies. But once pillow-heif is installed, both HEIC and AVIF work through Pillow's standard interface.
Memory management for large video files was a concern on Railway's limited memory. I process files in chunks and clean up temp files aggressively to avoid running out of memory.
What I learned
Static frontend + API backend is an excellent architecture for tools like this. The frontend is essentially free to host, and you only pay for API compute when someone actually converts a file.
FFmpeg is incredibly versatile. A single tool handles video demuxing, audio transcoding, format detection, and quality control. Learning FFmpeg commands is an investment that pays off across many projects.
SEO for tool sites is a different game. Each conversion pair (e.g., "png to jpg") is its own landing page with its own search volume. This means 100+ high-intent pages from a single tool.
Try it
🔗 fileconverttool.com
Some popular conversions:
HEIC to JPG — iPhone photos
PNG to WebP — web optimization
MP4 to MP3 — extract audio
Image Compressor
Would love feedback — what features should I add next?
Top comments (0)