Open SourceClient-SideZero Upload

Built around one idea:
your files stay yours

ConvertKit is a collection of browser-based file conversion tools. No servers process your data. No accounts are created. No files ever leave your device — because they never need to.

0Files uploaded to servers
100%Client-side processing
Free conversions
0Required accounts

Why we built this

It started with frustration. Every time we needed to convert a file — a quick JPG to PDF for a form submission, a screenshot wrapped into a Word document — the same pattern repeated: find a website, upload your file to some unknown server, wait, download, repeat.

Nobody was asking the obvious question: why does this need a server at all? Modern browsers are extraordinarily capable. The Web APIs available today — Canvas, Blob, FileReader, jsPDF — can handle image and document conversion entirely on the client side, in milliseconds, without a single byte leaving your machine.

So we built ConvertKit: a set of tools that do exactly that. The result is something faster, more private, and simpler than anything that requires a backend — because there is no backend.

Why does converting a file need to touch a server at all?

Where we've been & where we're going

v0.1

First tool: JPG → PDF

A single conversion, drag-and-drop interface, zero dependencies beyond jsPDF. Proof that the idea worked.

v0.2

Expanded image formats

PNG, WebP, and multi-format support added. Shared converter component extracted to keep pages consistent.

v0.3

Image → Document

Added Word (.docx) output alongside PDF, making ConvertKit useful for office workflows.

Soon

PDF → Image, batch mode

Reverse conversions and multi-file support are next. The engine is already there — just UI work left.

What we refuse to compromise on

Privacy first, always

File conversion doesn't require your data to leave your device. We won't build infrastructure that processes user files just because it would be easier for us.

Speed over features

A tool that converts in 80ms beats a tool that converts in 3s and sends you an email. We optimize for the instant result every time.

No dark patterns

No fake progress bars. No 'converting…' spinners that just add artificial delay. No upsells mid-conversion. What you see is what actually happens.

Transparency

Client-side code is inherently auditable — open DevTools and watch exactly what happens to your file. We have nothing to hide because there's nothing to hide.

Genuinely free

Free means free. Not 'free for 3 conversions per day'. Not 'free with a watermark'. Unlimited, unrestricted, with no account required.

Works everywhere

Any modern browser on any device. No app to install, no extension to add, no OS requirement. If it has a browser, it can convert files.

How browser-based conversion actually works

When you drop a file, the browser reads it into memory using theFileReader API — the same API your browser uses when you preview an image attachment in Gmail. At no point does any network request carry your file content.

For image-to-PDF conversion, we draw your image onto an offscreen HTML [object Object] element, export it as a base64 data URL, and embed it directly into a PDF structure using{" "} [object Object]. The entire pipeline is synchronous JavaScript — there's no waiting for a server response because there's no server.

The final file is constructed as a [object Object] in memory, then handed to the browser via a temporary object URL and a programmatic click on an invisible anchor tag. Your browser's native download mechanism takes over from there.

Tech used
FileReader APIRead local files into memory
Canvas APIImage decoding & rendering
jsPDFPDF generation in-browser
docx.jsWord document construction
Blob + URL APIIn-memory file & download
Next.js 14App shell & routing
Drop file
FileReader
Canvas / Parser
Blob builder
Download

All of the above runs in your browser tab. Nothing leaves.

What we collect — and what we don't

We never collect
Your files or file contents
File names or metadata
IP addresses tied to conversions
Browser fingerprints
Usage patterns or analytics
Cookies for tracking
What actually happens
File is read locally by your browser
Conversion runs in your browser tab
Output file is saved to your device
No network request is made for the file
Session ends — nothing persists
You stay completely anonymous

Ready to convert something?

Pick a tool and drop your file. No sign-up, no wait, no catch.

Browse Tools →