frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: OnlyJPG – Client-Side PNG/HEIC/AVIF/PDF/etc to JPG

https://onlyjpg.com
26•johnnyApplePRNG•4h ago
TL;DR: private, in-browser converter that turns pretty much any image file format into standard JPEGs. Everything runs locally. No uploads.

This started as a five-minute job and forty hours later...

I wanted to convert a HEIC without uploading it anywhere, so I wrestled Emscripten/WebAssembly to run Google's Jpegli inside a Web Worker. Now there's a small UI and it handles a bunch of formats.

Just about the only thing it can't decode is JXL - but there's still some JPEG XL magic in there: XYB perceptual color quantization is enabled by default via Jpegli.

The upside of all this over-engineering is privacy and compatibility: images are processed entirely on your machine and never touch a server; the output is a regular JPEG that works everywhere.

I could have used a CLI, sure — but where's the fun in that?

Would love feedback on edge cases and defaults.

Tested on Firefox, Chrome, and Safari.

Cheers!

Comments

mondainx•1h ago
Very cool site, I especially loved the write-up, bravo!
citbl•1h ago
Nice, bookmarked.

But if you're serious about reducing carbon waste, don't make visitors download 7.5MB to load the webpage.

vinnymac•1h ago
Great work

Have you seen vert.sh? It does on-device conversion of audio, images, and documents and is open source too.

ranger_danger•1h ago
Does not appear to be open-source, but was built from at least 90% open-source software.

And if you happen to have wasm or web workers disabled, you get an unhelpful "Processing 0/0 files…" message that just hangs forever.

kreetx•1h ago
There is also https://squoosh.app/.
simonmales•53m ago
And it's a brilliant example of a PWA.
kreetx•10m ago
IIRC, you can also use it via npx, i.e, in the terminal!
catapart•1h ago
I was unsatisfied with the discussion of transparency. You mention to "jump to png", but I just scrolled to the heading and it tells me why jpg is better, in some cases, than png, not how to satisfy turning a png with transparency into a competent jpeg analog.

Of course, if you meant "use the png format" instead of "look at the header", that's likewise unhelpful.

Not sure if there's actually a suggestion in here. I entered the site thinking "if you want a jpg, this is the app". Any question I had about other formats was moot because this is the app for jpgs. But then you discussed the other formats so it seemed like you had some workarounds or ways to use jpgs in place of the other formats, and that left me unsatisfied whereas your saying nothing probably wouldn't have? Again, not sure if there's anything actionable in there, just letting you know my experience with the site.

BrannonKing•1h ago
Note: please don't turn your screenshots and digital art into JPG. JPG uses compression based on natural lighting. It works well for photos, but it's the wrong solution where run-length encoding will do much better (e.g. in screenshots). Black text (or cartoon art) on white backround always looks lousy when converted to JPG.
Panzerschrek•48m ago
How a user of such a web-site may be sure that it really deosn't upload photos somewhere, even it claims not to do so?
craftkiller•40m ago
Load the page, disconnect from the internet, convert your image(s).

Or just use ImageMagick like a normal person.

ctxc•14m ago
Did you say normal person? It's more like

*or just Google "convert to jpg" like a normal person, scroll through fRee cOnVerTeR results from companies that have nothing to do with image conversion (for SEO of course), click whichever is the least clowny name (with free and fast in the description), upload image, hit the convert button OOPS THAT WAS AN AD, go back, upload again, hit the right convert button, watch image appear in an animation framed by ads, click the download button (the one below the HIGH QUALITY button that's disabled with a lock.png begging for upgrades)

adzm•36m ago
Be careful, you may run into surprises with the XYB stuff in jpegli. Most should support it, since it uses an ICC color profile, but if the decoder does not handle it I'm not entirely sure what happens. I ran into a handful of strange issues a few years ago when testing this out, though it was all relatively old software.
onecandreamzz•22m ago
Can't wait for them to come out with composite file types.

Where I could make one HTTP request and get a json blob and the associated image at the same time.

Then separate them on the client side and add them to the Dom.

leumon•10m ago
Maybe this is just some niche use-case, but I tested it with a 268x98 png screenshot, and it made the image bigger and worse: https://files.catbox.moe/7so3z6.png

3x performance for 1/4 of the price by migrating from AWS to Hetzner

https://digitalsociety.coop/posts/migrating-to-hetzner-cloud/
729•pingoo101010•5h ago•413 comments

Live Stream from the Namib Desert

https://bookofjoe2.blogspot.com/2025/10/live-stream-from-namib-desert.html
125•surprisetalk•3h ago•34 comments

How I bypassed Amazon's Kindle web DRM

https://blog.pixelmelt.dev/kindle-web-drm/
1359•pixelmelt•19h ago•422 comments

Ruby Core Takes Ownership of Rubygems and Bundler

https://www.ruby-lang.org/en/news/2025/10/17/rubygems-repository-transition/
281•sebiw•3h ago•136 comments

You did no fact checking, and I must scream

https://shkspr.mobi/blog/2025/10/i-have-no-facts-and-i-must-scream/
108•blenderob•1h ago•34 comments

Meow.camera

https://meow.camera/
439•southwindcg•12h ago•156 comments

Resizeable Bar Support on the Raspberry Pi

https://www.jeffgeerling.com/blog/2025/resizeable-bar-support-on-raspberry-pi
51•speckx•1w ago•13 comments

Endorsing easily disproven claims linked to prioritizing symbolic strength

https://theconversation.com/winning-with-misinformation-new-research-identifies-link-between-endo...
17•Archelaos•37m ago•0 comments

Let's Write a Macro in Rust

https://hackeryarn.com/post/rust-macros-1/
48•hackeryarn•6d ago•18 comments

Zorin OS 18

https://blog.zorin.com/2025/10/14/zorin-os-18-has-arrived/
36•pentagrama•1h ago•27 comments

Claude Skills

https://www.anthropic.com/news/skills
726•meetpateltech•23h ago•382 comments

Email Bombs Exploit Lax Authentication in Zendesk

https://krebsonsecurity.com/2025/10/email-bombs-exploit-lax-authentication-in-zendesk/
22•todsacerdoti•4h ago•6 comments

Metropolis 1998 lets you design every building in an isometric, pixel-art city (2024)

https://arstechnica.com/gaming/2024/08/metropolis-1998-lets-you-design-every-building-in-an-isome...
37•YesBox•1h ago•15 comments

Ring to partner with Flock, a network of cameras used by ICE, feds, and police

https://techcrunch.com/2025/10/16/amazons-ring-to-partner-with-flock-a-network-of-ai-cameras-used...
350•gman83•6h ago•253 comments

Show HN: A large format XY scanning hyperspectral camera

https://www.anfractuosity.com/projects/waverider/
15•anfractuosity•6d ago•6 comments

A classified network of SpaceX satellites is emitting a mysterious signal

https://www.npr.org/2025/10/17/nx-s1-5575254/spacex-starshield-starlink-signal
101•8ig8•3h ago•40 comments

Show HN: OnlyJPG – Client-Side PNG/HEIC/AVIF/PDF/etc to JPG

https://onlyjpg.com
26•johnnyApplePRNG•4h ago•15 comments

Trap the Critters with Paint

https://deepanwadhwa.github.io/freeze_trap/
7•deepanwadhwa•6d ago•0 comments

Next steps for BPF support in the GNU toolchain

https://lwn.net/Articles/1039827/
88•signa11•12h ago•13 comments

New computer model helps reveal how the brain both adapts and misfires

https://now.tufts.edu/2025/10/16/flight-simulator-brain-reveals-how-we-learn-and-why-minds-someti...
43•XzetaU8•9h ago•18 comments

Your data model is your destiny

https://notes.mtb.xyz/p/your-data-model-is-your-destiny
330•hunglee2•2d ago•85 comments

A 4k-Room Text Adventure Written by One Human in QBasic No AI

https://the-ventureweaver.itch.io/tlote4111
127•ATiredGoat•5d ago•90 comments

DoorDash and Waymo launch autonomous delivery service in Phoenix

https://about.doordash.com/en-us/news/waymo
282•ChrisArchitect•1d ago•637 comments

Codex Is Live in Zed

https://zed.dev/blog/codex-is-live-in-zed
255•meetpateltech•23h ago•54 comments

Gemini 3.0 spotted in the wild through A/B testing

https://ricklamers.io/posts/gemini-3-spotted-in-the-wild/
397•ricklamers•22h ago•253 comments

Cloudflare Sandbox SDK

https://sandbox.cloudflare.com/
238•bentaber•18h ago•83 comments

Elixir 1.19

https://elixir-lang.org/blog/2025/10/16/elixir-v1-19-0-released/
349•theanirudh•1d ago•112 comments

A liver transplant from start to finish

https://press.asimov.com/articles/liver
87•mailyk•4d ago•24 comments

Virtual Memory for Real-time RISC-V systems using hPMP

https://arxiv.org/abs/2504.04498
15•fork-bomber•1w ago•2 comments

Talent

https://www.felixstocker.com/blog/talent
210•BinaryIgor•21h ago•88 comments