Image Converter Online Free
Convert any image to JPG, WebP, or PNG. Resize, set quality, cap the file size. Everything runs in your browser. No upload, no signup, no watermark.
Click to upload or drag an image here
Any image file works as input
PNG • JPG • WebP • GIF • BMP • SVG • AVIF
How this image converter uses the Canvas API and a binary search to hit a target file size
This tool loads your image into a native <img> element, draws it onto an HTML <canvas>, and reads the pixels back out through canvas.toDataURL() in whichever format you chose. That single browser API is what does the actual format conversion and quality-based compression, no external image library is involved. Everything happens on your device using a FileReader to load the file as a data URL, so the image itself is never transmitted anywhere.
The conversion sequence
FileReader.readAsDataURL(), and that data URL is assigned to a new Image object’s src, letting the browser’s own decoder handle whatever source format you uploaded.
drawImage() paints the source image scaled to fit. The background fill matters for formats without transparency, like JPEG.
canvas.toDataURL(mimeType, qualityFraction). PNG output ignores the quality argument entirely since PNG is a lossless format with no continuous quality dial.
That function is why the optional target size field can hit a specific kilobyte ceiling. Rather than guessing one quality value, the tool binary searches the 1 to 100 quality range, encoding the canvas at each midpoint and checking the resulting data URL length, capped at 15 attempts. If even the lowest quality setting cannot get under your target, it falls back to quality 1 and shows a warning naming the best size actually achieved, rather than silently failing.
Output formats and their real MIME types
| Format | MIME type | Quality slider |
|---|---|---|
| JPEG | image/jpeg | Active, lossy compression |
| PNG | image/png | Disabled, lossless only |
| WebP | image/webp | Active where the browser’s canvas encoder supports it |
dataURL.length * 3 / 4, the standard Base64-to-binary ratio, rather than converting to an actual Blob and reading .size. This estimate is accurate to within a few bytes because Base64 padding characters introduce only minor rounding, but it means the displayed size is a calculation, not a direct filesystem measurement, until you actually download the file.Resize modes
None, max width, max height, exact width and height, or percentage scale, each computed with its own aspect ratio logic before the canvas is sized.
Background fill
A color picker sets the canvas fill before drawing, so converting a transparent PNG to JPEG produces a solid background instead of black or corrupted pixels.
Before / after comparison
Original and output dimensions, format, quality and byte size are shown side by side, with a computed percentage saved or added.
Image format documentation
- MDN HTMLCanvasElement.toDataURL() documents the exact encoding call this tool relies on, including its quality argument.
- MDN Canvas API covers the drawImage and 2D context methods used to composite and scale the image.
- Google’s WebP documentation describes the format behind the WebP output option.
- W3C PNG specification defines the lossless format this tool’s PNG option produces.
Format decisions in practice
Converting a phone’s HEIC or PNG screenshots into JPEG for a website that only accepts that format, shrinking product photos under a marketplace’s kilobyte upload limit using the target size field, resizing a batch of images to a max width for a blog, or producing a WebP version of an asset to cut page weight without leaving your desktop.
Questions About Image Converter Online Free
You can upload PNG, JPG, WebP, GIF, BMP, SVG, and AVIF as input. The output options are JPG, WebP, and PNG. That covers the most common conversions: PNG to JPG, JPG to WebP, WebP to PNG, GIF to JPG, SVG to PNG, and more.
Yes. No account, no signup, no credit card, no watermark on the output. The tool runs entirely in your browser so there is nothing to log in to and nothing to install.
No. All conversion happens inside your browser using the HTML5 Canvas API. Your image file never leaves your device. This also means there is no server-side file size limit and the tool works offline once the page has loaded.
WebP is the better choice for web use. It produces files 25 to 35 percent smaller than JPG at the same visual quality, and it is supported in all modern browsers. Use JPG when you need broad compatibility with older software or when sharing files outside of a browser context. Use PNG only when you need lossless quality or transparency.
For most images, 80 to 88 percent gives an excellent balance of file size and visual sharpness. Use 90 to 95 for product photos or portfolio images where quality is critical. Drop to 60 to 75 when file size matters more than sharpness, such as thumbnails or background images.
JPG does not support transparency. Any transparent pixels in the source image are filled with the background color you choose in the settings, which defaults to white. If keeping transparency is important, convert to WebP or PNG instead, both of which support alpha channels.
Yes. Before converting you can choose a resize mode: max width, max height, exact pixel dimensions, or a percentage scale. The resize and format conversion happen together in one step, so the downloaded file is already the right size.
Enter a target in KB and the tool runs a binary search across quality values to find the highest quality that still fits under your cap. If the image cannot reach that size even at the lowest quality, the tool tells you the smallest it could achieve so you know what to expect.
From the blog
Format guides and gotchas
What each format stores, and what quietly disappears in conversion.