Universal Image Converter

Drop any image — 323 input formats, 284 output formats, 91,732 possible conversions. 100% local, nothing uploaded.

Converter Media & Files Updated Oct 5, 2026
Learn how image formats work
How to Use
  1. Drop an image onto the box below, or click it to browse your files — drop or select several at once to batch-convert.
  2. Pick your target format from the Convert to list on the right (search box filters as you type).
  3. Optionally set a quality level, exact resize dimensions, or rotate/flip/crop the image — in batch mode, click a thumbnail first to edit that image individually.
  4. Need a specific file size? Switch the compression panel to Target a file size, pick a limit or a preset, and the tool finds the best quality that fits.
  5. Dropped an animated GIF, APNG or WebP? A Keep animation switch appears — leave it on to convert every frame with its original timing, or turn it off for a still of the first frame.
  6. If the file carries camera info, a date or copyright, a Keep metadata switch appears alongside a list of what was found — leave it on to carry it across, or turn it off to strip it (EXIF can include GPS and device details).
  7. Click Convert, then download the result — or Download All as a .zip when converting multiple images.
Drop any image here, or click to browse
PNG, JPG, WebP, AVIF, HEIC, TIFF, PSD, SVG, RAW, and 40+ more — drop or select several at once to batch-convert
Nothing is uploaded. All processing runs in your browser.
0 files
Detected: —
Dimensions
—
File Size
—
Tier
—
Loading decoder…
Convert to:
Lower = smaller file. 80–90% is usually ideal for web.
Camera info, date and copyright are carried across.
All frames are converted, timing and loop preserved.
Opaque format — transparent pixels filled with this.
Resize Options
Leave blank to keep original dimensions.
Rotate, Flip & Crop
No rotation or flip applied.
Drag the box on the image above — corners and edges resize it, the middle moves it.
Leave blank to skip cropping. Coordinates are relative to the image as currently rotated/flipped above — changing rotation or flip resets the crop.
Download
Source
—
Output
—
Input Size
—
Output Size
—
—

Supported Formats

323 input formats you can open and 284 output formats you can export to — 91,732 possible conversions, all of them running inside this page. Every format below is listed with the extension you'd see on the file, so you can check yours before you start. Nothing is uploaded.

Legend: ⇄ read + write ·  R read-only (import) ·  W write-only (export)

Web & modern

PNG .png ⇆ JPG .jpg ⇆ JPEG .jpeg ⇆ WebP .webp ⇆ AVIF .avif ⇆ GIF .gif ⇆ APNG .apng ⇆ SVG .svg ⇆ SVG (gzipped) .svgz ⇆ JPEG XL .jxl ⇆ JPEG 2000 .jp2 ⇆ JPEG 2000 .j2k ⇆ JPEG 2000 .jpf R JPEG 2000 Part 6 .jpm R Motion JPEG 2000 .mj2 R HEIC .heic R HEIF .heif R BPG .bpg R MPO (3D stereo JPEG) .mpo R

PNG variants

PNG 8-bit (indexed) .png8 W PNG 16-bit gray .png16 W PNG 24-bit .png24 W PNG 32-bit .png32 W PNG 48-bit .png48 W PNG Grayscale .pnggray W PNG Gray+α .pnggraya W

Raster

BMP .bmp ⇆ DIB .dib ⇆ TIFF .tiff ⇆ TIFF .tif ⇆ TGA .tga ⇆ QOI .qoi ⇆ PCX .pcx ⇆ DCX (multi-PCX) .dcx ⇆ SGI .sgi ⇆ Sun Raster .ras ⇆ PNM .pnm ⇆ PPM .ppm ⇆ PGM .pgm ⇆ PBM .pbm ⇆ PAM .pam ⇆ XBM .xbm ⇆ XPM .xpm ⇆ WBMP .wbmp ⇆ MIFF .miff ⇆ Farbfeld .ff ⇆ CMU Raster .cmuwm ⇆ HRZ .hrz ⇆ Alias PIX .pix ⇆ AVS X .avs ⇆ MacPaint .mac ⇆ Sixel .sixel ⇆

Photoshop & app

PSD .psd ⇆ Photoshop Big (PSB) .psb W GIMP XCF .xcf R Krita .kra R OpenRaster .ora ⇆ ICNS .icns ⇆ ICO .ico ⇆ CUR .cur ⇆ ANI .ani ⇆

HDR & scientific

DPX (film) .dpx ⇆ Cineon (film) .cin ⇆ Radiance HDR .hdr ⇆ OpenEXR .exr ⇆ PFM .pfm ⇆ FITS .fits ⇆ SRTM Elevation (HGT) .hgt R DICOM .dcm R DICOM .dicom R

GPU texture

DDS .dds R DDS DXT1 (BC1) .ddsdxt1 W DDS DXT3 (BC2) .ddsdxt3 W DDS DXT5 (BC3) .ddsdxt5 W DDS (uncompressed) .ddsraw W KTX .ktx ⇆ KTX2 .ktx2 R

Document & fax

DjVu .djv R PDF Document .pdf W EPS (PostScript) .eps W DjVu .djvu R CALS Type 1 (G4 fax) .cal ⇆ CALS Type 1 (G4 fax) .cals ⇆ CCITT Group 3 fax .g3 R CCITT Group 4 fax .g4 R

Camera RAW

DNG (RAW) .dng R Canon CR2 .cr2 R Canon CR3 .cr3 R Canon CRW .crw R Nikon NEF .nef R Nikon NRW .nrw R Sony ARW .arw R Olympus ORF .orf R Fuji RAF .raf R Panasonic RW2 .rw2 R Pentax PEF .pef R Samsung SRW .srw R Sigma X3F .x3f R Leica RWL .rwl R Minolta MRW .mrw R Hasselblad 3FR .3fr R Kodak KDC .kdc R Kodak DCR .dcr R RAW (generic) .raw R Arri ARI .ari R Sony ARQ .arq R Casio BAY .bay R Phase One CAP .cap R Phantom CINE .cine R Sinar CS1 .cs1 R Kodak DC2 .dc2 R Kodak DRF .drf R DxO DXO .dxo R Phase One EIP .eip R Epson ERF .erf R Hasselblad FFF .fff R GoPro GPR .gpr R Phase One IIQ .iiq R Kodak K25 .k25 R Kodak KC2 .kc2 R Minolta MDC .mdc R Mamiya MEF .mef R Mamiya MFW .mfw R Leaf MOS .mos R OBM RAW .obm R Olympus ORI .ori R Pentax PTX .ptx R Logitech PXN .pxn R Apple QuickTake .qtk R Ricoh RDC .rdc R Rawzor RWZ .rwz R Sony SR2 .sr2 R Sony SRF .srf R STI RAW .sti R BMQ RAW .bmq R Sinar IA .ia R DSC RAW .dsc R

Retro & terminal

Amiga IFF/ILBM .iff ⇆ Amiga ACBM .acbm ⇆ PlayStation TIM .tim ⇆ PS2 TIM2 .tm2 ⇆ DEGAS .deg ⇆ DEGAS (low) .pi1 ⇆ DEGAS (med) .pi2 ⇆ DEGAS (high) .pi3 ⇆ Atari TT-Low .pi4 ⇆ Atari TT-Medium .pi5 ⇆ Atari TT-High .pi6 ⇆ Atari 8-bit GR.9 .pi9 R Atari ST Tiny Stuff .tny ⇆ Sixel .six ⇆ Quake 2 WAL .wal ⇆ Build Engine ART .art ⇆ Apple II Hi-Res .hgr ⇆ Apple II Double Hi-Res .dhr ⇆ Apple II Double Hi-Res .dhgr ⇆ Apple IIGS Super Hi-Res .shr ⇆ Apple IIGS 3200-color .3200 ⇆ Paintworks .pnt R NeoChrome .neo ⇆ Atari 8-bit HIP .hip R Atari InterPainter .inp R Spectrum 512 .spu R Spectrum 512 (compressed) .spc R Spectrum 512 Smooshed .sps R Spectrum 512 Extended .spx R Paint Shop Compressed (ST) .psc R Photochrome (ST) .pcs R C64 Bitmap .vic R Artist 64 .a64 ⇆ CDU-Paint .cdu ⇆ Cheese .che ⇆ Create with Garfield .cwg ⇆ Face Painter .fpt ⇆ Interpaint .ipt ⇆ Image System .ism ⇆ Micro Illustrator (C64) .mil ⇆ Picasso 64 .p64 ⇆ Rainbow Painter .rp ⇆ Saracen Paint .sar ⇆ Fun Graphics Machine .fgs ⇆ Giga-CAD .gcd ⇆ Gigapaint hi-res .gih ⇆ Hi-Eddi bitmap .hbm ⇆ Hi-Pic .hpi ⇆ Mono Magic .mon ⇆ SpritePad (C64 sprites) .spd R RGB separations (ZX/ST/Atari) .rgb R CrackArt (low res) .ca1 ⇆ CrackArt (medium res) .ca2 ⇆ CrackArt (high res) .ca3 ⇆ MultiGraphics 8x1 (ZX) .mg1 R MultiGraphics 8x2 (ZX) .mg2 R MultiGraphics 8x4 (ZX) .mg4 R MultiGraphics 8x8 (ZX) .mg8 R PhotoChrome PBX (ST) .pbx R AMOS sprite bank (Amiga) .abk R Atari GR.8 clip .cut ⇆ Atari KFX sketch .kfx ⇆ Atari mega GR.8 screen .mbg ⇆ FunPaint (C64 IFLI) .fun R FunPaint 2 (C64 IFLI) .fp2 R Apple Preferred Format .32k ⇆ Apple IIGS picture .gs R Apple Preferred Format .apf R Apple IIGS 3200-colour .sh3 ⇆ CoCo Max graphic .grf ⇆ CoCo Max (P41) .p41 ⇆ CoCo Max III (4-colour) .p11 ⇆ MAKIchan MAX .max R XL-Paint (Atari 8-bit) .xlp R APAC-3 (Atari 8-bit) .ap3 ⇆ APAC-3 (APV) .apv ⇆ Interlace Picture (ILC) .ilc ⇆ Digi-Studio (DGI) .dgi ⇆ Digi-Paint (DGP) .dgp ⇆ ESC Interlace .esc ⇆ Puzzle-Mania (PZM) .pzm ⇆ Tiny Stuff (1 plane) .tn1 ⇆ Tiny Stuff (2 plane) .tn2 ⇆ Tiny Stuff (3 plane) .tn3 ⇆ Tiny Stuff (4 plane) .tn4 ⇆ Blitter/IFF (1) .bl1 ⇆ Blitter/IFF (2) .bl2 ⇆ Blitter/IFF (3) .bl3 ⇆ Amiga HAM6 .ham6 ⇆ Amiga HAM8 .ham8 ⇆ ZX Spectrum SCR .scr ⇆ FLUFF64 .flf R SHP .shp R MSX MIF .mif R MAG/MAKIchan .mag R MAKIchan MAKI01 .mki R Japanese PIC (X68000) .jpic R Japanese Pi (Yanagisawa) .jpi R Apple PICT .pict R Apple PICT .pct R VBM bitmap .vbm ⇆ UIMG BP1 .bp1 ⇆ UIMG BP2 .bp2 ⇆ UIMG BP4 .bp4 ⇆ UIMG BP6 .bp6 ⇆ UIMG BP8 .bp8 ⇆ UIMG C01 .c01 ⇆ UIMG C02 .c02 ⇆ UIMG C04 .c04 ⇆ UIMG C06 .c06 ⇆ UIMG C08 .c08 ⇆ UIMG C16 .c16 ⇆ UIMG C24 .c24 ⇆ UIMG C32 .c32 ⇆ Atari 8-bit G2F .g2f R Atari 8-bit MCH .mch R Atari 8-bit ICE .ice R Atari 8-bit ICE (DIN) .din R Atari 8-bit ICE (ICN) .icn R Atari 8-bit ICE (IMN) .imn R Atari 8-bit ICE (IPC) .ipc R Atari 8-bit ICE (IR2) .ir2 R Atari 8-bit ICE (IRG) .irg R Atari 8-bit ICE (IP2) .ip2 R Atari 8-bit SprEd .spr R Atari GR.8 .gr8 ⇆ Atari Micro Illustrator .mic R AtariTools-800 graphic .agp R Atari APAC (Any Point Any Colour) .apc R Atari APAC (Any Point Any Colour) .plm R Atari TIP (Taquart Interlace) .tip R Atari ST CEL .cel R ANvisionA (CL0) .cl0 ⇆ ANvisionA (CL1) .cl1 ⇆ ANvisionA (CL2) .cl2 ⇆ ANvisionA (PG0) .pg0 ⇆ ANvisionA (SC0) .sc0 ⇆ ANvisionA (SC1) .sc1 ⇆ Amiga ILBM (BEAM) .beam R Amiga SHAM .sham R Amiga ILBM (MP) .mp R Amiga ILBM (DR) .dr R Amiga ILBM (DCT) .dct R Amiga DCTV .dctv R Amiga IFF/ILBM .256 ⇆ TVPaint DEEP .deep R TVPaint DEEP .tvpp R PIC (multi-format) .pic R Atari ST IMG .img ⇆ Atari ST XIMG .ximg ⇆ Atari ST TIMG .timg R MSX SCREEN 2 .sc2 ⇆ MSX SCREEN 4 .sc4 ⇆ MSX SCREEN 5 .sc5 ⇆ MSX SCREEN 6 .sc6 ⇆ MSX SCREEN 7 .sc7 ⇆ MSX SCREEN 8 .sc8 ⇆ MSX SCREEN 10 (YJK) .sca ⇆ MSX SCREEN 12 (YJK) .scc ⇆ MSX SCREEN 12 interlaced field .s1c ⇆ MSX SCREEN 5 (raw) .sr5 ⇆ SR8 .sr8 ⇆ GE8 .ge8 ⇆ MSX SCREEN 12 (YJK) .yjk ⇆ MSX MIG .mig R Atari 8-bit RIP .rip R IS_IMAGE .iim ⇆ MSX G9B .g9b R AWBM .epa R Atari Falcon RAG .rag ⇆ Atari 8-bit AGS .ags R KOA .koa ⇆ GIG .gig ⇆ KLA .kla ⇆ RPM .rpm ⇆ IPH .iph ⇆ HPC .hpc ⇆ AAS .aas ⇆ GUN .gun R IFL .ifl R HR .hr ⇆ TPI .tpi R HIR .hir ⇆ IBI .ibi ⇆ IB3 .ib3 ⇆ PPP .ppp R PA3 .pa3 R LPK .lpk R MPK .mpk R HPK .hpk R RGH .rgh R CE1 .ce1 ⇆ CE2 .ce2 ⇆ CE3 .ce3 ⇆ Amiga ILBM .ilbm ⇆ Amiga ILBM (.lbm) .lbm ⇆ MAKIchan .maki R DEGAS Elite (compressed, low) .pc1 ⇆ DEGAS Elite (compressed, med) .pc2 ⇆ DEGAS Elite (compressed, high) .pc3 ⇆ DEGAS .pi ⇆ PS2 TIM2 .tim2 ⇆ MacPaint .macp ⇆ MacPaint .pntg ⇆

Raw pixel data

Raw RGB .rawrgb W Raw RGBA .rawrgba W Raw BGR .rawbgr W Raw BGRA .rawbgra W Raw ARGB .rawargb W Raw ABGR .rawabgr W Raw Grayscale .rawgray W Raw Gray+α .rawgraya W Raw CMYK .rawcmyk W Raw CMYK+α .rawcmyka W Raw YUV 4:4:4 .rawyuv W Raw YUV 4:2:0 .rawyuv420 W Raw YUV 4:2:2 .rawyuv422 W Raw YUVA .rawyuva W Raw HSV .rawhsv W Raw HSVA .rawhsva W Raw RGB float32 .rawfloat W Raw RGB 16-bit .rawrgb16 W Raw Gray 16-bit .rawgray16 W Raw BGR 16-bit .rawbgr16 W Raw CMYK 16-bit .rawcmyk16 W Raw RGBA float32 .rawrgbafloat W Raw Gray float32 .rawgrayfloat W Raw RGB half .rawrgbhalf W Raw RGBA half .rawrgbahalf W Raw Gray half .rawgrayhalf W Raw BGRA 16-bit .rawbgra16 W Raw ARGB 16-bit .rawargb16 W Raw ABGR 16-bit .rawabgr16 W Raw Gray+α 16-bit .rawgraya16 W Raw CMYK+α 16-bit .rawcmyka16 W

Export variants

AVIF (high) .avifhigh W AVIF (low) .aviflow W AVIF (medium) .avifmed W AVIF (min) .avifmin W BMP 1-bit (mono) .bmp1 W BMP 16-bit (RGB565) .bmp16 W BMP 24-bit .bmp24 W BMP 32-bit .bmp32 W BMP 4-bit (16-color) .bmp4 W BMP 4-bit RLE .bmp4rle W BMP 8-bit (256-color) .bmp8 W BMP 8-bit RLE .bmp8rle W BMP OS/2 .bmpos2 W OpenEXR (half) .exrhalf W GIF 128-color .gif128 W GIF 16-color .gif16 W GIF 256-color .gif256 W GIF 32-color .gif32 W GIF 64-color .gif64 W GIF87a .gif87a W GIF (dithered) .gifdither W GIF (interlaced) .gifinterlace W ICO 128×128 .ico128 W ICO 16×16 .ico16 W ICO 256×256 .ico256 W ICO 32×32 .ico32 W ICO 48×48 .ico48 W ICO 64×64 .ico64 W ICO (multi-size) .icomulti W JPEG (high) .jpghigh W JPEG (low) .jpglow W JPEG (max) .jpgmax W JPEG (medium) .jpgmed W JPEG (min) .jpgmin W JPEG (web 80) .jpgweb W PAM Grayscale .pamgray W PAM RGB .pamrgb W PBM (ASCII P1) .pbmascii W PFM Grayscale .pfmgray W PGM 16-bit .pgm16 W PGM (ASCII P2) .pgmascii W PPM 16-bit .ppm16 W PPM (ASCII P3) .ppmascii W PSD CMYK .psdcmyk W PSD Grayscale .psdgray W Sun Raster (RLE) .rasrle W SGI Grayscale .sgigray W TGA 16-bit (1555) .tga16 W TGA 32-bit .tga32 W TGA 8-bit gray .tga8 W TGA color-mapped .tgaidx W TGA (RLE) .tgarle W TIFF 16-bit .tiff16 W TIFFG3 .tiffg3 W TIFFG4 .tiffg4 W TIFF Grayscale .tiffgray W TIFF (PackBits) .tiffpackbits W WebP (high) .webphigh W WebP (low) .webplow W WebP (max) .webpmax W WebP (medium) .webpmed W WebP (min) .webpmin W

How the Universal Image Converter works

This tool decodes your image entirely inside your browser tab, using a JavaScript and WebAssembly engine built for this site. It reads the file's first few bytes to recognize the real format — not just the file extension — turns that into a bitmap on an in-memory canvas, applies any crop, rotation, flip, or resize you've chosen, and re-encodes it into whatever format you pick. Common formats like PNG, JPEG, and WebP use the browser's own built-in encoder; less common ones (Photoshop PSD, GIMP XCF, OpenEXR, DDS game textures, camera RAW, DICOM medical images, and more) are handled by purpose-built decoders and encoders written for this engine, several of them running as compiled WebAssembly for speed.

Because none of this touches a server, there's no upload wait, no file-size limit imposed by a backend, and no privacy trade-off — the image never leaves your device. The trade-off is that the very first time you convert a format that needs a WebAssembly decoder (HEIC, JPEG XL, JPEG 2000, camera RAW), your browser downloads that decoder once; it's cached afterward, so every conversion after the first is instant.

FAQ

Is anything uploaded to a server?

No. Every conversion runs locally in your browser using JavaScript and WebAssembly. Your files never leave your device, and nothing is stored or transmitted.

How do I convert HEIC (iPhone photos) to JPG?

Drop your .heic or .heif file onto the converter, choose JPG as the output format, and click Convert. The HEIC decoder downloads once on first use (cached afterward) and everything happens on your device.

Can I convert camera RAW files like CR2, NEF, ARW, or DNG?

Yes — RAW formats from Canon, Nikon, Sony, Fujifilm, Olympus, Panasonic, and more are supported as inputs. Convert them to JPG, PNG, TIFF, or any other supported output format.

Does it support JPEG XL and JPEG 2000?

Yes, both decoding and encoding. JPEG XL (.jxl) and JPEG 2000 (.jp2/.j2k) are next-generation formats offering better compression than JPEG at equivalent quality.

Can I make an image fit a specific file size?

Yes. Pick JPEG, WebP, AVIF or JPEG XL, switch the compression panel to Target a file size, and give it a limit — there are one-click presets for 100 KB, 500 KB, 1 MB, Discord’s 8 MB and a 25 MB email cap. The tool then encodes the image repeatedly, searching for the highest quality that still fits, and tells you which quality it settled on. It has to measure rather than estimate, because how well a picture compresses depends entirely on the picture.

What if the file still won't fit?

If even the lowest quality overshoots, the image simply has too many pixels for the budget. Leave Shrink the image if quality alone can't get there ticked and the tool will scale it down and search again, reporting the dimensions it ended up with. Untick it and the tool will tell you plainly that it could not reach the target and give you the smallest file it managed, rather than quietly handing back something over the limit.

Does it keep EXIF data — camera, date, copyright?

Yes, when the output format can hold it (JPEG, PNG and WebP can; BMP, GIF, TIFF and most others cannot, and the tool tells you which is which). The EXIF block is carried across as raw bytes rather than rebuilt, so nothing is quietly lost, and any XMP packet — copyright, keywords, ratings — comes along too. A "Keep metadata" switch appears whenever the file you dropped actually has metadata, and the panel lists what it found so you can see exactly what would travel with the image.

Why is the Orientation tag reset when metadata is kept?

Because your browser already applied it. Phone photos are usually stored sideways with an EXIF Orientation tag telling the viewer to turn them; the browser rotates the pixels as it decodes, so the converted image is already upright. Copying the original tag through would make every viewer rotate it a second time. The tool resets Orientation to 1 and updates the stored pixel dimensions to match the converted image, so a cropped or resized file doesn't carry the old size around.

What happens to the colour profile (ICC)?

It depends on how the image was decoded, and the tool does the honest thing either way. For formats the browser decodes itself (JPEG, PNG, WebP, AVIF) the pixels are converted to sRGB during decoding — so the original wide-gamut profile no longer describes them, and attaching it would visibly shift the colours. In that case the profile is dropped, the output is correctly tagged sRGB, and the tool says so. For formats decoded by this site's own codecs (HEIC, JPEG XL, JPEG 2000, camera RAW) no colour conversion happens, so the original profile still fits the pixels and is carried through.

Can I strip metadata instead — for privacy?

Yes. Turn "Keep metadata" off and the output carries no EXIF, XMP or embedded profile. Note that EXIF can include GPS coordinates, device serial numbers and the exact time a photo was taken, which is worth removing before posting an image publicly. As with everything here, the file never leaves your browser either way.

Does it keep animated GIFs animated?

Yes. Drop an animated GIF, APNG, animated WebP or animated AVIF and the converter reads every frame, then writes every frame out again with the original timing and loop count. Animated output is supported for GIF (including the palette and dithered variants), APNG and WebP. A "Keep animation" switch appears whenever the source has more than one frame — turn it off to export just the first frame as a still.

How do I convert an animated GIF to WebP?

Drop the GIF, pick WebP as the output, and leave "Keep animation" switched on. You get a real animated WebP — usually far smaller than the GIF it came from, because WebP is not limited to 256 colours per frame. The same works in reverse, and to APNG, which keeps full alpha transparency that GIF cannot.

Can I crop or resize an animation?

Yes — any crop, resize, rotate or flip you set is applied identically to every frame, so the animation stays in register from the first frame to the last.

Can I convert multiple images at once?

Yes — drop or select several files and the tool switches to batch mode. Pick one target format, click Convert, and download each result individually or as a single .zip file.

Can I resize, crop, or rotate an image while converting it?

Yes. The Resize Options panel lets you set exact output dimensions with contain/cover/stretch fitting, and the Rotate, Flip & Crop panel lets you rotate in 90° steps, flip horizontally or vertically, and crop to a precise pixel rectangle — all applied before the final conversion.

Will I lose quality converting between formats?

Converting between lossless formats (like PNG, BMP, or TIFF) preserves every pixel exactly. Converting to a lossy format (JPG, WebP, AVIF, JXL) uses the quality slider — higher values keep more detail at a larger file size.

Which formats can I convert between?

Any of the 323 importable formats to any of the 284 exportable ones — 91,732 possible conversions in total. See the live Supported Formats list on this page for the exact, current set. The tool auto-detects your input by its magic bytes, then lets you choose any compatible output format.

Last updated: — Powered by UB Image Engine v3.