Convexy

How to convert SVG to PNG on iPhone

SVG is a set of instructions for drawing a shape. PNG is a grid of pixels. Converting means rendering the instructions at a size you pick — which is exact and lossless at that size, and cannot be undone.

Vector and raster are genuinely different things

An SVG file is XML: draw a circle here, fill it with this gradient, stroke this path, place this text. It has no resolution. Rendered at 32 pixels or 3200 pixels, it is equally sharp, because the shapes are recomputed each time. That is why logos and icons are authored as SVG.

A PNG is a fixed grid of pixels, decided once. It is lossless — every pixel is stored exactly as rendered — but the size is baked in permanently. Enlarge a 64px PNG to 512px and you get a blurry, interpolated mess, because the detail was never there.

So the important part of this conversion is not the format. It is choosing the size. Render at the largest size you might plausibly need, then scale down from there — never up.

This direction is the honest one; the reverse is not a conversion. Going SVG → PNG is a faithful render. Going PNG → SVG is a trace: an algorithm guesses at shapes that approximate the pixels, and the result is a new, different drawing that merely resembles the original. It is not a conversion, it is a reconstruction, and it is usually disappointing. Convexy does not offer it, and any tool advertising “PNG to SVG” is selling you an approximation.

How Convexy renders the SVG

The SVG is rendered by WebKit — the same engine that draws SVGs in Safari — and the rendered result is captured as a bitmap. In practice this is a strength: gradients, filters, clipping paths, CSS styling inside the SVG and other modern features render the way a browser would render them, rather than the way a limited home-grown parser might.

Two consequences follow from that, and they are the two things that trip people up:

Transparency is preserved

SVGs usually have transparent backgrounds, and PNG has a full 8-bit alpha channel, so the transparency comes across intact — nothing is flattened onto white. This is exactly why PNG is the standard target for rasterising a logo.

If you convert the same SVG to ICO the alpha is likewise kept. If you converted it to JPG instead, the transparency would be flattened onto a solid background, because JPG has no alpha channel at all — which is almost never what you want from a logo.

There is no quality slider for PNG. It is lossless — there is no quality/size dial to offer. The only lever on file size is the pixel dimensions, which you set with the maximum-dimension option. That option is doing real work here: it decides the render size, not just a downscale after the fact.

On-device

The render happens on your iPhone or iPad. No upload, no account, no server — which matters if the SVG is an unreleased logo or a client's brand asset, the sort of thing that has no business sitting on a free converter's hard drive.

How to do it

  1. Bring the SVG in

    Tap Browse files and pick the .svg from Files or iCloud Drive, or share it into Convexy from another app. SVGs do not live in Photos, so Browse files is the route.

  2. Choose PNG

    An SVG can be rendered to PNG, JPG, WebP, ICO or PDF. Tap PNG — it keeps the transparency and is lossless.

  3. Set the size — this is the decision that matters

    Use the maximum-dimension option to choose the render size. Go large: you can always scale a PNG down cleanly, and you can never scale it up. If you need several sizes, convert several times.

  4. Convert

    The SVG is rendered by WebKit at the size you chose and written as a lossless PNG with its transparency intact.

  5. Save or share

    Rename the output if you like, then save it to Files or Photos, or hand it straight to another app.

Common questions

What size should I render the PNG at?

Bigger than you think you need. Rasterising is one-way: a PNG can be scaled down cleanly but never scaled up, because the detail simply is not in the file. If you need a 128px icon, rendering at 512px and downscaling gives you a better result and leaves you room to change your mind. If you need several sizes, run the conversion several times — that is what vector sources are for.

Can I convert a PNG back to SVG?

Not meaningfully, and Convexy does not offer it. Turning pixels into vectors is tracing — an algorithm guesses at shapes that approximate the bitmap. The output is a new drawing that resembles the original, not a recovery of it, and on anything photographic it is useless. The vector-to-raster direction is the one that is faithful; treat it as one-way and keep your SVG.

Why did my SVG fail to convert?

Most likely it has no width, height or viewBox. An SVG without any of those has no intrinsic size, so there is nothing to tell the renderer how large to draw it — Convexy fails rather than inventing a size and giving you the wrong thing. Open the file in a text editor and add a viewBox attribute to the root svg element.

Why does the text in my SVG look wrong?

Because the SVG references a font that is not installed on the device, so the renderer substituted a different one. This is not a bug in the converter — it is how SVG text works everywhere. The standard fix is to convert text to outlines (paths) in your design tool before exporting. The letters then become shapes and render identically on any machine.

Does the PNG keep the SVG's transparent background?

Yes. PNG has a full alpha channel and the transparency is carried through — nothing is flattened onto white. If you convert the same SVG to JPG instead, the transparency will be composited onto a solid background colour, because JPG cannot store transparency at all.

Will gradients and filters render correctly?

Generally yes — Convexy renders the SVG with WebKit, the same engine Safari uses, so gradients, clipping paths, CSS styling and other modern SVG features are drawn the way a browser draws them. If it looks right in Safari, it will look right in the PNG.