Rounded corners
Round the corners of an image, on your device. Always outputs PNG for the transparency.
Runs on your device. The file is never uploaded.
Rounded corners zeroes the alpha of every pixel outside the four corner circles and always writes a lossless PNG with a -rounded suffix, since JPEG carries no alpha at all. The radius starts at 20 and is clamped to half the shorter side. The cut is hard rather than anti-aliased, so the curve shows stair steps up close.
Questions
Why is my output always a PNG?
Because rounding corners means making them transparent, and JPEG has no alpha channel at all. Keeping your input format would give you black or white corners instead of clear ones, so the tool always encodes PNG, losslessly, and names the file with a -rounded.png suffix. A JPG in gives a PNG out, which will usually be a larger file.
What does the radius do, and what is the maximum?
Corner radius in pixels, default 20, sets how much of each corner is cut away. It is clamped to half of the shorter side, so on a 200x100 image anything above 50 behaves as 50, which gives fully round ends. A radius of 0 is allowed and changes nothing visually, though the file is still re-encoded as PNG. Negative or fractional values stop with "radius must be a whole number of 0 or more".
Are the curves smooth?
They are a hard cut, not an anti-aliased one. Each pixel in a corner is tested against the circle centred on that corner and is either left fully opaque or made fully transparent, so the curve has stair steps if you zoom in. At a large radius on a large image it reads as a clean curve; on a small icon the steps are visible.
Does it upload my image?
No. The file is decoded with the jSquash codecs in a Web Worker, the alpha channel is edited in place on your device, and PNG encoding happens there too. Nothing is uploaded, there is no account, and the tool works with your network off after the first visit.
Which formats can I feed it?
JPG, PNG and WebP, based on the file extension; anything else stops with "only JPG, PNG and WebP are supported". Existing transparency is kept, since only the corner pixels are zeroed. Drop as many files as you like and each is processed with the same radius and returned as its own PNG.