Image Format Converter
Batch convert image formats, supports JPG, PNG, WebP, AVIF, HEIC, TIFF, GIF, BMP, JP2 conversion
Drag images here, or click to select files
Supports JPG, PNG, WebP, AVIF, HEIC, TIFF, GIF, BMP, SVG, JP2 formats, select multiple at once
What is Image Format Conversion?
Image format conversion changes a file from one image format to another, such as PNG to JPG, WebP to PNG, or JPG to WebP. Each format has tradeoffs: JPG is efficient for photographs, PNG preserves transparency and sharp edges, WebP can reduce file size, BMP is simple but large, and GIF is often used for lightweight animation. Files are uploaded to ToolAct's conversion service, processed by server-side libvips, and the converted result is downloaded back; the temporary file is deleted from the server immediately after the conversion completes and is not archived or used for training. Choosing the output format matters: transparency may be lost when converting to JPG, lossy formats can alter fine detail, and metadata or color profiles may not always carry over exactly. The best format depends on the final use, not only file size.
How to Use
How to use
- Drag or click to upload images (supports multiple)
- Select target format (JPG, PNG, WebP, AVIF, HEIC, TIFF, GIF, BMP, JP2)
- Adjust image quality to balance file size and visual detail
- Click "Convert" button, view results and download
Format Choices
- Choose the target format by use case: JPG for photos, PNG for lossless transparency, WebP/AVIF for web delivery, and GIF only when animation is needed.
- Some formats may drop metadata, transparency, animation, or color profiles; verify the output before replacing the source file.
Use Cases
Technical Principle
Image format conversion is a 'decode + re-encode' pipeline. The source bytes are fed to a platform decoder (libpng, libjpeg-turbo, libwebp, libheif/dav1d for AVIF, OpenJPEG for JP2, libtiff for TIFF) which produces a raw pixel buffer in a known color space (almost always sRGB with linear or non-linear transfer). The pixel buffer then runs through the encoder for the target format, with the chosen quality knob. In this tool the work happens server-side: the browser uploads each file to ToolAct's vips conversion endpoint, libvips orchestrates decode, optional resize, color-space handling, and re-encode through the target codec, and the converted bytes are streamed back as a taskId-keyed download. The temporary upload is deleted from the server as soon as the conversion finishes - it is not archived and is not fed into any training pipeline. JPEG (Joint Photographic Experts Group, ISO 10918-1 / ITU-T T.81) is the workhorse of lossy photo compression. The encoder splits the image into 8x8 pixel blocks (this is the smallest unit the codec operates on), runs an 8x8 Discrete Cosine Transform (DCT, the type-II DCT in the standard) on each block, divides the resulting 64 frequency coefficients by an 8x8 quantisation matrix (the Q-table; the 50% quality table is the default, lower quality scales the table up to throw away more high-frequency detail), zig-zag scans the coefficients into a 1-D vector, and runs Huffman coding on the result. The 8x8 block is why JPEG shows visible 'blocky' artefacts near edges at low quality: the DCT basis is per-block, so neighbouring blocks quantise independently. JPEG does not support an alpha channel and uses YCbCr internally (Y = luma, Cb/Cr = chroma) so the encoder usually subsamples chroma (4:2:0, 4:2:2, or 4:4:4) to save 50% or more on chroma bytes. Progressive JPEG (multiple scans) helps perceived loading speed on slow connections. PNG (Portable Network Graphics, ISO 15948, W3C Recommendation 2003) is lossless. Each row is filtered (None, Sub, Up, Average, Paeth; the filter is chosen per row to maximise compressibility) and the filtered scanlines are DEFLATE-compressed (the same LZ77 + Huffman chain that ZIP uses). PNG supports indexed (palette) mode for <=256-colour images, RGB, and RGBA with 1, 2, 4, 8, or 16 bits per channel. Indexed PNG is the most space-efficient format for icons, line art, and UI elements (a 1-bit logo can be a few KB). Lossless means every pixel round-trips exactly, which is critical for UI assets, scientific images, and anything that will be re-edited. WebP (Google, 2010, RFC 9649 / ISO/IEC 23000-22) is a versatile modern format. Lossy WebP uses VP8 intra-frame coding (the same DCT-based codec as WebM video), which gives 25-35% smaller files than JPEG at equivalent perceptual quality. Lossless WebP uses predictive filtering + entropy coding, giving 26% smaller files than PNG. WebP supports an alpha channel in both modes and animation (animated WebP is the modern replacement for GIF). Encoding is a bit slower than JPEG; decoding is comparable on modern CPUs with SIMD acceleration (libwebp's neon/sse2 paths). AVIF (AV1 Image File Format, ISO/IEC 23000-22) is the AV1-based successor. AV1 is a royalty-free codec from the Alliance for Open Media (Google, Mozilla, Apple, Microsoft, Netflix, etc.) using more sophisticated tools: intra prediction with 65 directional modes, 6-tap filters, larger 64x64 superblocks, and context-adaptive entropy coding. Result: 20% smaller than WebP at equivalent SSIM, and significantly better than JPEG at very low bitrates. Encoding is 5-10x slower than WebP because of the richer prediction search; decoding is hardware-accelerated on modern GPUs (Intel Tiger Lake+, Apple M1+, recent Adreno). AVIF supports 8/10/12-bit color, alpha, and wide color spaces (BT.2020, Display P3) which makes it the format of choice for HDR content. Other formats worth knowing: HEIC/HEIF (ISO 23008-12, Apple default since iOS 11) is H.265/HEVC-based and similar to AVIF in capability, but HEVC's patent landscape is messy. JPEG XL (ISO 18181) is the experimental JPEG successor with both lossless JPEG recompression and better lossy compression than AVIF; Chrome and Firefox support it, Safari support is partial. TIFF (Tagged Image File Format, Aldobe / Adobe) and JP2 (JPEG 2000, ISO 15444, wavelet-based) survive in archival, scientific, and print workflows. For this converter, the practical formats are JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP, HEIC, and JP2. Color space and alpha are the two foot-guns. Server-side libvips converts to sRGB by default unless an ICC profile is preserved; if the source is Adobe RGB (common in camera RAW) the conversion is a colorimetric transform that happens during decode. For alpha, JPEG, BMP, and GIF (in non-animated form) have no alpha channel, so transparent pixels get composited onto a background colour (usually white, configurable in this page); converting an RGBA PNG to JPEG without picking a background produces a black or transparent result that surprises users. For high-quality print workflows, CMYK output is the right format (PDF/X-1a or TIFF with embedded ICC profile), and a generic web converter typically targets sRGB - real CMYK separations need a dedicated print pipeline.
- PNG lossless compression: each scanline is filtered (None / Sub / Up / Average / Paeth), the filtered bytes are DEFLATE-compressed (LZ77 + Huffman, the same family as ZIP). Indexed mode (<=256 colours) is the most space-efficient choice for icons and UI assets.
- JPEG lossy compression: 8x8 pixel blocks -> 8x8 type-II DCT -> divide by 8x8 quantisation matrix (Q-table) -> zig-zag scan -> Huffman coding. The 8x8 block is why JPEG shows 'blocky' artefacts at low quality. YCbCr with chroma subsampling (4:2:0 / 4:2:2 / 4:4:4) saves 50%+ on chroma bytes.
- WebP (Google, 2010, RFC 9649): lossy uses VP8 intra-frame (25-35% smaller than JPEG at the same SSIM); lossless uses predictive filtering + entropy coding (26% smaller than PNG). Supports alpha and animation. Encoding is slower than JPEG; decoding is similar with SIMD acceleration.
- AVIF (AV1 Image File Format, ISO 23000-22): AV1-based, 20% smaller than WebP at the same SSIM. 65 directional intra-prediction modes, 6-tap filters, 64x64 superblocks. Encoding is 5-10x slower than WebP; decoding is hardware-accelerated on Intel Tiger Lake+, Apple M1+, recent Adreno. Supports 8/10/12-bit, alpha, and wide color (BT.2020, Display P3).
- Alpha channel handling: PNG / WebP / AVIF / GIF support alpha. JPEG / BMP do not, so transparent pixels are composited onto a configured background (usually white). Converting RGBA PNG to JPEG without picking a background produces a black or transparent surprise result.
- Color space: camera RAW may be Adobe RGB, screen display is sRGB, print is CMYK. Server-side libvips converts to sRGB by default; mismatched spaces during conversion cause color shifts. For CMYK output (PDF/X-1a, TIFF with ICC profile) you need a dedicated print pipeline, not a generic web converter.
- Other formats: HEIC/HEIF (H.265-based, Apple default since iOS 11) is similar to AVIF but with messy HEVC patents; JPEG XL (ISO 18181) is the experimental JPEG successor with better lossy and lossless recompression of legacy JPEGs; GIF (1987, 256-colour animation) survives as the only browser-friendly animated raster format.
- Quality knob mapping: WebP and AVIF use SSIM-indexed quality (0-100 mapped to a target SSIM); JPEG uses the Q-table scaling factor; PNG is lossless so 'quality' only controls filter strategy. SSIM is a perceptual metric, not pixel-exact: 95 SSIM looks identical to the original, 80 SSIM is the typical 'good for web' point, 60 SSIM starts to show artefacts.
Examples
PNG to JPG
logo.png (200KB) -> logo.jpg (45KB)
Best for: UI screenshots, chat stickers; size reduced by about 77%JPG to WebP
photo.jpg (1.2MB) -> photo.webp (820KB)
Best for: web hero images, product photos; noticeable load-time improvement on mobileHEIC to JPG
IMG_0001.HEIC (3.5MB) -> IMG_0001.JPG (2.1MB)
Best for: sharing iPhone photos to Windows, web, or printers that don't support HEICFAQ
Are my images converted locally?
No. Files are uploaded to ToolAct's vips conversion service (the /image/convert/vips endpoint), converted on the server with libvips, and the result is fetched back via a taskId. The temporary file is deleted from the server immediately after conversion - it is not archived and not used for training. Avoid uploading sensitive photos, personal IDs, or unreleased artwork.
Which input and output formats are supported?
Common formats include JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP, and HEIC as inputs. The exact list of output formats depends on the libvips build; pick a target in the format dropdown before converting.
Will transparency and animation be preserved?
Alpha transparency is kept when both source and target support it (PNG, WebP, AVIF, TIFF). Converting a transparent PNG to JPEG composites the alpha onto a solid background because JPEG has no alpha channel. Animated GIF or animated WebP only stays animated when the target also supports animation; otherwise only the first frame is exported.
Why does the converted image look slightly different?
Lossy targets like JPEG, WebP, and AVIF re-encode pixels with a chosen quality, which softens fine detail. ICC color profile differences and chroma subsampling can also shift colors. Convert from the highest-quality master you have rather than re-converting an already-compressed copy.
Can I batch convert multiple files?
Yes. Drop several images into the upload area and each is sent as its own conversion task. They run in parallel on the server, and the result panel lets you download each output individually.
Is there a file size or dimension limit?
Multi-hundred-megapixel images and very large RAW exports may time out or be rejected. If a conversion fails, downscale or re-encode the source first, then retry.
What happens to EXIF metadata?
Camera metadata (model, timestamp, GPS) is typically dropped during conversion. That is generally a privacy win, but it also means the converted copy is not suitable as a chain-of-custody original. Keep the source file alongside the converted output.