Your files stay on your Mac.
Convertessa takes PNG files — screenshots, design exports, generated art — and re-encodes them as JPEG on your Mac using libvips. Drop a single file or a whole folder, set your quality value, and every image comes out at its original pixel count with transparency flattened into solid colour. Nothing is uploaded, the source PNGs are left untouched, and a folder of screenshots typically lands under a fifth of its former size.
Almost every PNG on a Mac starts life the same way: a screenshot, an export out of Figma or Sketch, a logo from a brand kit, or an image generated by a diffusion model. PNG stores those pixels losslessly with an optional alpha channel, which is exactly why the files are big and why people go looking for JPG.
JPEG has no concept of transparency. Every transparent and semi-transparent pixel must be composited against a solid colour before encoding, so a logo that floated over any background arrives with one specific background fused in. If the fill colour matters, flatten the PNG deliberately in an editor first rather than discovering the result afterwards.
The block transform behind JPEG was designed for continuous-tone photographs. Text, UI captures, line art and flat colour fields develop ringing — faint halos along every sharp boundary — long before a photograph shows any damage at all. libvips also applies chroma subsampling at ordinary quality values and switches it off at 90 and above, which is why thin red or blue text can smear at 75 and read cleanly at 95.
tEXt and iTXt blocks that carry an authoring app's name, a copyright line or a generation prompt have no JPEG equivalent.Everything that survives survives at full size. Convertessa routes the file through libvips — the engine the CLI reports as LibVipsImageEngine — and you set the quality value that decides how hard the encoder squeezes. For photographs, 80 to 90 is usually indistinguishable from the source at a fraction of the bytes. For screenshots, staying with PNG is often the better answer.
Drag one PNG or a folder of exports onto the queue. Indexed, greyscale, truecolour and 16-bit PNGs are all read, and each file is listed with its pixel count before anything runs.
Choose JPG as the output, then set quality. 90 and above keeps chroma subsampling off for crisp coloured text, 80 is the usual sweet spot for photographs, and 60 is the web preset.
Run the queue and open one result at 100 per cent. Sharp boundaries — text, icon outlines, flat panels — show artifacts first, so if those look soft, raise the quality and convert again.
Images, audio, video, documents, archives, eBooks and fonts — all converted natively, right on your Mac.
Pick a format you have — see everything Convertessa can turn it into.
Convert hundreds of files at once with per-type group defaults and individual overrides.
First-class support for HEIC, AVIF and WebP — encode and decode, both ways. Read JPEG XL and a dozen more modern formats too.
Drop files anywhere on the window. Native, instant, and exactly what you’d expect on a Mac.
Dial in compression, resolution and bitrate. Keep originals pristine or shrink for sharing.
Never overwrite a file by accident. Convertessa appends safe suffixes automatically.
Every job is logged locally. Re-run a previous conversion or revisit recent outputs in a click.
Bundle your converted files straight into a single ZIP, TAR or 7z — packaged and ready to share the moment a job finishes.
Right-click any file in Finder and choose Convert. A Quick Action handles it on the spot — no need to open the app first.
Shrink Convertessa to a tidy mini window that tucks into a corner — just a drop zone and a format picker for quick, one-off conversions.
No cloud. No account. No upload. Every conversion happens entirely on-device, using the power already in your Mac. What you convert is nobody’s business but yours.
Script conversions, wire them into your build, or batch a folder from the terminal. The same engine, no GUI required.
Read the full CLI documentation →Shrink Convertessa down to a small, focused window — drop, convert, done, with your recent conversions one click away.
macOS 14+ · Apple Silicon & Intel
New formats, new features, and fixes — every release, on the record.
They stop being transparent. JPEG has no alpha channel at all, so every transparent and semi-transparent pixel is composited against a solid colour before the encoder ever sees it. A logo drawn to sit over any background will arrive with one particular background fused into the pixels, and soft edges — drop shadows, anti-aliased type — pick up a fringe of that colour. If the backdrop matters, flatten the PNG onto the colour you want in an editor first, then convert. If you need transparency in a smaller file, WebP keeps the alpha channel.
Because the two formats are good at opposite things. PNG's deflate compression thrives on long runs of identical pixels, which is exactly what a screenshot, a flat-colour illustration or a chart is made of, and those compress astonishingly well. JPEG has no equivalent trick and spends bits describing frequency detail that was never there. For photographs the ranking reverses dramatically. If your source is interface, text or line art and the PNG is already small, converting it to JPG makes it bigger and blurrier at the same time.
Yes. Every pixel the PNG contained is encoded into the JPEG, so a 2560 by 1440 screenshot comes out 2560 by 1440. Convertessa converts the format and nothing else: it does not resize, rotate or reframe anything. What changes is how those pixels are stored, and the quality value you pick decides how much of the fine detail the encoder chooses to keep.
JPEG's block transform was built for photographs, where detail fades gradually. Text is the opposite: black to white across a single pixel. The encoder approximates that step and leaves faint halos around every glyph, an artifact usually called ringing. Chroma subsampling makes coloured text worse still, and libvips only turns it off at quality 90 and above. Try convertessa shot.png --to jpg --quality 95, and if it still looks soft, accept that the screenshot wants to stay a PNG.
Drop the folder onto the app window and the queue fills itself, or use the command line for something you expect to repeat:
convertessa ./Screenshots/*.png --to jpg --quality 90 -o ~/Desktop/Shared
Every PNG in the folder is encoded at the same quality value and written into the output directory you name, keeping its base name. The sources are read, never rewritten, so the folder you point at is exactly as you left it when the run finishes.
No. PNG stores text in tEXt and iTXt chunks: the authoring application, a copyright line, and for images from diffusion models the whole generation prompt and seed. JPEG has no equivalent container for those, and Convertessa does not write them into EXIF instead. If the prompt matters to you, keep the PNG or copy the text out before converting, because once the JPEG exists that information is simply gone.
Keep it if the image will ever be edited again. JPEG loss compounds: every open-and-save cycle re-runs the block transform over pixels that already carry artifacts, and after a few rounds edges visibly crumble. The PNG is your clean master, and exporting a fresh JPG from it later costs nothing at all. Delete the PNG only once the image is final and the JPG exists purely for delivery.