Why uploading JPEGs to a server is a bad idea, and how I solved it with JS.
We have all needed to turn a photo of a document (JPG/PNG) into a PDF. Maybe it's an ID card, a receipt for an expense report, or a homework assignment.
The standard way is to search Google, find a random website, upload your image, and download the PDF.
But as a developer, this workflow bothered me:
Privacy: Why upload a personal photo to a remote server just to wrap it in a PDF container?
Latency: Uploading high-res images takes time.
Cost: Processing images on a server costs money, which is why most tools have ads or limits.
I realized this could be done entirely in the browser. So, I built OmniFlowKit Image to PDF.
How it works
Instead of sending the image to a backend (Python/Node), I use client-side libraries to handle the conversion in the user's browser memory.
Input: User selects JPG/PNG images.
Process: The browser draws the images onto a PDF canvas using JavaScript.
Output: The PDF is generated instantly and downloaded.
The Result
Zero Latency: It feels instant because there is no network request for the conversion.
100% Privacy: The image data never leaves the device.
Unlimited: Since it doesn't cost me server resources, I don't need to charge users or limit them to "3 files per day."
Try it out
I'm trying to build a suite of these "Local-First" tools to replace the ad-heavy giants. You can try the converter here:
👉 Live Demo: Image to PDF Converter
Let me know what you think of the performance!
Top comments (0)