Remix.run Logo
Show HN: A fast, privacy-first image converter that runs in browser(imageconverter.dev)
48 points by wainguo 11 days ago | 38 comments

Hey HN

I built ImageConverter.dev because I got tired of “free” image converter sites that force uploads, or throttle conversions.

So I made a tool that runs 100% client-side — meaning your images never leave your device. It’s built for speed, simplicity, and privacy.

What it does

Convert images between JPG, PNG, WebP

Works offline once loaded (PWA support)

How it works

It uses the Canvas API and WebAssembly to handle conversions directly in the browser. There’s no upload, no tracking, no server costs, and it’s fast even on mid-range devices.

Why I built it

I wanted an instant, no-ads, privacy-safe way to handle images for my personal projects — something lightweight enough to replace desktop tools.

Try it

https://imageconverter.dev

Would love feedback from the community — especially on:

Performance on different browsers/devices

Thanks for reading!

martypitt 11 days ago | parent | next [-]

Congrats on shipping.

However, the "Privacy First" and "No Ads" claim gets eroded pretty quickly by cookies, and requests to trackers like n.clarity.ms, google-analytics and adtrafficquality.google.

Note - I don't actually have an issue with any of those things - if you wanna monetize this service through analytics and ads, that's up to you. But it's at odds with your privacy first claims.

blopker 11 days ago | parent | next [-]

Yeah, I made a local image compressor/converter for myself that's actually private: https://github.com/blopker/alic

wainguo 11 days ago | parent [-]

Good job!

wainguo 11 days ago | parent | prev [-]

Thanks for your advice, I’ll update some of the text to fix the issue

bl4kers 10 days ago | parent | prev | next [-]

> All processing happens in your browser. Your images never leave your device - complete privacy guaranteed.

Personally I don't trust claims like this unless the source code is available, which doesn't seem to be the case from my browsing

wainguo 10 days ago | parent [-]

It is easy to verify that:

One way to demonstrate that all processing is being done locally is to load the website, disconnect from the internet, and then use the site.

holbue 10 days ago | parent | next [-]

This is no proof that it doesn't send any data when used for conversions online.

It even could work offline, cache/store data and send it when back online.

bl4kers 9 days ago | parent | prev [-]

No, it is not easy to verify without looking at the source code.

t312227 10 days ago | parent | prev | next [-]

hello,

as always: imho (!)

congratulations on shipping!!

fwiw: i have to admit, i may be getting "to old" to understand this online/service hype which took over "the it world" years ago ...

create an online-service and market it with "no upload", "local", "privacy" etc...

idk ... whats the advantage over "my" image-conversion-tool which i use heavily since decades ... if i remember it correctly, since around the late 1990ties (!) ... drummroll ... meet:

ImageMagick ~ Mastering Digital Image Alchemy

* https://imagemagick.org/

its utility called "convert" does everything a "normal" person could want for image-conversion.

its FOSS, runs locally in your terminal or GUI, produces stunning results and again: no internet needed, no privacy-concerns etc...

source-code available at

* https://github.com/ImageMagick/ImageMagick

it has lots of language-integrations etc.etc.

* https://imagemagick.org/script/develop.php

just my 0.02€

ps. if i want do develop such a converter which could run locally in the browser, i would take a look at the wasm-port of imagemagick, available here:

* https://github.com/KnicKnic/WASM-ImageMagick

wainguo 10 days ago | parent [-]

I think a quick tool online is more convinient for common use cases, without install software. when-ever, where-ever a browser is ok.

however, for professional requirements and use cases, a professional software is a MUST choice.

different requirements, different service to met :)

pacmansyyu 11 days ago | parent | prev | next [-]

Congratulations on building this! I certainly do agree with the fact that there are a lot of sites that force you to upload, ask for your email, and sometimes even add a watermark to the image; amongst other unknown things.

Although from first look, I can tell you that there's a lot of text on the site and it's a bit too cramped. From my perspective, tools like these should get out of the way and the UX should be self-explanatory for an image "conversion" tool. Basically, just a box to select, drag/drop images, a few user inputs such as the output quality and format. That's about it. A single line at the top explaining what the tool does (and that it is local) should be good enough.

Also, the title says "PNG to JPG converter," but the rest of the site claims it can convert to quite a lot more than just those format. You can possibly change that to, as an example, something like: "ImageConverter - Convert images between formats, locally". And you can get rid of multiple pages, turning it into a single-page with all the possible output options.

As a sidenote, I've been using Mazanoke for this: https://github.com/civilblur/mazanoke. It's not my project, just something I happened to stumble upon a while ago, but it's similar to your project and works exactly like you would want it to.

From my test, the rest of it works great. Good luck!

wainguo 10 days ago | parent [-]

Hey, thanks a lot for the thoughtful feedback — really appreciate you taking the time to write this

Totally agree with you on the UX point. I also believe these tools should be almost invisible — just drag, drop, adjust a few settings, and done. I initially added more text to make the privacy aspect clear (since many users don’t realize it’s 100% local), but you’re right — that could be simplified and better communicated with a single line. I’m already working on a cleaner layout with fewer distractions and a clearer “drop zone.”

Good catch on the title too! I started with “PNG to JPG converter” for SEO reasons, but as the app expanded to support multiple formats (WebP, PNG, JPG.), that label became outdated. I really like your suggested phrasing — something like “ImageConverter — Convert images between formats, locally” is a lot clearer and more accurate.

And thanks for sharing Mazanoke — hadn’t seen that before! Love that it follows the same “everything local” approach. I’ll take a closer look; maybe I can learn a few UX tricks from it as well.

Appreciate your kind words and testing it out! If you have any other UX ideas or thoughts on layout simplification, I’d love to hear them

lukaslukas 11 days ago | parent | prev | next [-]

Welcome to imageconverter.dev imageconverter.dev asks for your consent to use your personal data to:

Personalised advertising and content, advertising and content measurement, audience research and services development Store and/or access information on a device ...

WTF? Privacy first?

wainguo 11 days ago | parent [-]

Oh, The privacy policies is a template, Here privacy is mainly refer to the images data never upload to any server.

raymondgh 11 days ago | parent | prev | next [-]

I love free+local. Can you add SVG->PNG with transparency? I never need help with any of the conversions you support today, but going from vector to raster would be super convenient!

wainguo 10 days ago | parent | next [-]

Convert SVG->PNG Added,

now it support more From formats:

From format: "SVG, HEIC, AVIF, TIFF, GIF, JPEG, JPG, PNG or WebP" To format: "PNG, JPG, WEBP"

wainguo 11 days ago | parent | prev [-]

sure,I will try to add SVG support tomorrow

wainguo 11 days ago | parent | prev | next [-]

I build cool image tools: Here is another two tools you may found helpful

https://bulkresizeimages.online/

https://resizeimage.dev/

all these tools process image just in browser and never upload images to any server.

And more tools in the kitchen

jauntywundrkind 11 days ago | parent [-]

https://squoosh.app/ has long been my go-to. UI is fantastic for letting me do the thing I most often am looking for, shrinking down large image files.

wainguo 11 days ago | parent [-]

how about this ? can shrink bulk images lighting fast: https://bulkresizeimages.online/

jauntywundrkind 11 days ago | parent [-]

I'd take Squoosh every day. This provides no live image preview, no immediate feedback on file size as you adjust.

In this link, the controls dominate the page. In Squoosh, the controls are an overlay atop the actual thing you are working on. The primacy of the subject is what I want, not the tools.

mentalgear 11 days ago | parent | prev | next [-]

I like the local first, but would be great if you'd mention the converter libs that you are using (probably jsquash wasm).

wainguo 10 days ago | parent [-]

Not use other specific libraries, only the in browser canvas api.

fastily 10 days ago | parent | prev | next [-]

There’s already a free self-hosted version of this that’s significantly more capable: https://github.com/C4illin/ConvertX. Not sure what your path to profitability is here but you may want to rethink your approach

matsz 10 days ago | parent [-]

Not everything is about profit :)

nasso_dev 11 days ago | parent | prev | next [-]

See also: https://vert.sh/

tacone 11 days ago | parent | prev | next [-]

Very fast, would you share the libraries you're using to handle conversion and resize?

wainguo 10 days ago | parent [-]

Not use other specific libraries, only the in browser canvas api.

galaxy_gas 9 days ago | parent | prev | next [-]

privacy part is a joke hundreds of requests blocked by ublock on load

Stasshe 9 days ago | parent | prev | next [-]

so now,I'm waiting for your audio converter.

when a lot of files are uploaded, I want to use web-worker(wasm).

I think that way is much better for bulk flow.

wainguo 9 days ago | parent [-]

Thanks! I really appreciate the suggestion — that’s a great idea, and I’ll definitely consider using Web Workers/WASM for handling bulks. You clearly know your stuff — really professional feedback!

Stasshe 9 days ago | parent [-]

Awesome, sounds great. (I think img converter will not need these method, but audio, or video, or some a little heavy files probably need it.

Thanks for considering it!

no_no_no_no 11 days ago | parent | prev [-]

upload... no uploads...

throwanem 11 days ago | parent | next [-]

The FileReader web API enables you to make local files available to content running in the browser. This entails a file picker and, depending on the verbiage in your browser UI, that may talk about "upload." That doesn't mean anything is being sent anywhere. See MDN: https://developer.mozilla.org/en-US/docs/Web/API/FileReader

(Or that nothing is; I have not audited this code. But I vouched the parent comment to point out that browsers do offer this capability, and there's nothing facially suspicious in claiming to use it.)

wainguo 11 days ago | parent [-]

Great explanation!

Maybe I should not use the text ’upload’ to avoid the confusion

throwanem 11 days ago | parent [-]

Oh, I see it there in your copy. Yes, I would use a different verb there, such as "pick" or "choose" or "select."

brightbeige 11 days ago | parent [-]

“open”

wainguo 11 days ago | parent | prev [-]

Images never upload to any server, all images processed in your browser