GhostConvert

@ghostconvert.cc

⚡ Free & private file converter. No uploads. 100% in your browser. Convert images, docs, audio locally. Privacy-first. ↓ Try now ghostconvert.cc

微信发原图动不动十几兆,群里传半天转圈。后来我都在浏览器里把图压一下再发,几兆变几百 K,关键是文件不离开本机,不用丢给那些要登录的压缩网站。 https://ghostconvert.cc

今天才知道 AVIF 这格式,比 WebP 还省空间,手机拍的图小一半还不糊。可惜好多软件还不认,先用 https://ghostconvert.cc 在浏览器里转成 jpg 再发。

报销几张单据想拼成一个 PDF 发给财务,某付费网站非得逼你开会员。后来在浏览器里直接合并,文件不用上传服务器,几秒钟搞定 https://ghostconvert.cc

昨晚帮朋友把一份 80 页的标书 PDF 拆成单独几页,只留报价那几张发过去,本地处理文件不用上传。要拆 PDF 的话可以试试 https://ghostconvert.cc

抠图真的是世纪难题,之前找那些在线工具要么加水印要么逼着开会员。最近发现 ghostconvert.cc 能直接在浏览器里把图片背景去掉,文件也不上传,挺省心。https://ghostconvert.cc

同事甩来一份 PDF 让我改,Word 直接打开全是乱码。后来发现可以直接把 PDF 丢进 https://ghostconvert.cc 转成可编辑的 Word,文件还在本地处理、不用上传,省得来回传网盘了。

以前要把几张截图拼成一个 PDF,我都是先塞进 Word 再导出,结果排版老是乱。后来发现直接把图拖到 https://ghostconvert.cc 就能合成 PDF,顺序自己拖着调,两分钟完事。

iPhone 拍的照片发给同事,对方 Windows 打不开,这事我碰到过好几回。HEIC 在苹果生态里挺省空间,出了这圈就到处碰壁。懒得装插件的话,拖到 https://ghostconvert.cc 转成 JPG 就完事,转换在浏览器里跑,文件不用往服务器传。

Local-first isn't a feature. It's a whole class of problems that just don't exist. No server bill for data you can't see. No 3am panic over a leak. The most reliable infra is the kind you already deleted.

What's the weirdest format you've had to convert? I got a 'PDF' last week that was a renamed Word doc. The file lied about itself and I wasted an hour debugging the wrong thing.

The hardest part of a client-side tool isn't building it. It's that nobody believes it. 'Where does my file actually go?' Nowhere — there's no server. Convincing people a privacy tool is real takes longer than writing the code.

Converted a 1.2GB video in the browser once. The tab didn't error — it just died, silently. Browsers give you the compute but not the RAM you think you own. Client-side has a ceiling, and it's someone else's memory budget.

A file converter is the classic 'weekend project' pitch. Two months later I've learned PDFs can be Word docs in a trench coat, and every camera maker ships its own HEIC flavor. The converter was the easy part. The formats never end.

Six weeks into an AdSense review that still hasn't cleared. The server bill shows up on time every month though. Turns out the "passive" in passive income is just the expenses.

GhostConvert runs fully in your browser, but the wasm is served from Cloudflare Workers. So I went 'serverless' and still get woken by a 4MB cold start at 3am. The server moved. It didn't disappear.

Spent 3 hours smoothing the upload bar animation. Not one person mentioned it. They all mentioned the one format it choked on. Users don't see the polish — they see the single crack.

Spent a day making the converter 2x faster. Then checked the logs: 90% of uploads are a single 200KB file. I'd optimized a bottleneck almost nobody hits. The slow path I shipped is what everyone actually uses.

Made a free file converter. Real business model: one ad in the corner that maybe 1 in 1000 people click. It pays the domain renewal. 'Free for you' just has to mean 'not losing money for me.'

Strangers email to say a tool I built saved them an afternoon. None of it lands anywhere public. The people happiest with it are the ones you'll never see talking about it. The loudest feedback is rarely the truest.

Debugging WASM is the worst part: when the C side crashes, the browser console shows hex, not a stack. I had to write logs into memory and read them back out. Every line is a cross-boundary copy. The fun of low-level work.

Everyone asks 'can you add format X?' Each format is a codec, and codecs are heavy. One more converter is another megabyte of wasm in the bundle. The feature request is free. The download isn't.

My test files are all named test.pdf. Then a user uploaded 'FINAL_invoice_v3_ACTUAL.pdf' that was 400MB and corrupt, and the page just stared at it. Real files aren't polite. The conversion was the easy part.

Got a DM about a file that broke the converter. Normally I'd just open it. But 'your files never leave the browser' is the whole pitch — so I can't. I had to talk them through pasting the error. Privacy is clean until you're debugging a bug inside data you swore you'd never touch.

My converter runs in the browser, so it inherits every browser's quirks. Firefox, Chrome, Safari each ‘open’ a file a little differently. I'm not writing one converter — I'm mediating a three-way argument about what a PDF even is.

Three hours debugging why conversion was slow. Profiled it. The file was fine — the spinner animation was eating the main thread. My "performance problem" was CSS. Fixed one line, and I'm not proud of how long that took.

Someone emailed to say they converted a file on a flight with no wifi. I never built an offline mode. It just worked — GhostConvert runs entirely in the browser, so a metal tube over the ocean is fine. No server to lose connection to. That wasn't a feature. It was a side effect.

“Ship first, fix later” is fine advice until your product is a file converter. A slightly-wrong conversion isn’t a bug you patch Tuesday — it’s someone’s tax document with a missing page. Some tools you actually have to get right before you hit publish.

Shipped the converter. Felt done. Then someone ran a 3GB file on a phone with 2GB free — no error, just a black screen. Most of my real-world bugs aren't logic. They're the device quietly running out of room.

Built it privacy-first: no accounts, no server logs, nothing tracking you. The downside nobody mentions — I now have zero analytics. I genuinely don't know which formats get used most. Just guessing. Flying blind is the quiet tax for not watching your users.