Photographic visual for About

About

About this converter

This site takes a PNG and writes a JPG. It writes nothing else, and it is built around the one decision that pair forces.

Why one format pair gets its own domain

Because that pair asks a question no general converter answers out loud. JPEG has no alpha channel, so a decision has to be made about every transparent pixel, and almost every tool makes it silently. People find out when they open the file and see a black square, or a grey rim around a logo that did not have one before.

A converter that is about every format has to treat that decision as one case among many. A converter that is about this one pair can spend everything it has on it: the colour picked explicitly, previewed on the actual picture, with the fringe explained and repaired, and with an honest answer when the right move is not to convert at all.

What it will not grow into

How it is built

A static export with no server behind it. The PNG is decoded by the browser and the composite runs on a canvas. The JPEG is written either by the browser's own canvas encoder or by this site's precision encoder — a baseline JPEG writer in plain JavaScript that ships inside the conversion worker. There is no model, no WebAssembly and no upload. A build audit fails the release if any module that can reach image data also references a network or storage API.

The browser's own encoder cannot be asked for a chroma subsampling: it takes a type and a quality and no third argument. The precision encoder takes 4:4:4, 4:2:0 or one-channel greyscale as real settings. Either way, the tool reads the sampling factors back out of the file that was written and prints those, not what was asked for.

Who keeps it

ConvertPngToJpg is a small independent site, built and kept by the team that runs it. It has no accounts, sells nothing and carries no advertising. If something here is wrong — a figure, a form rule that has changed, a file that converts badly — the contact page reaches the people who fix it.