Drop your image here
or click to browse - drop multiple files to bulk-check formats
Or paste an image with Ctrl + V
Upload any image to instantly identify its real format by reading the file's magic bytes - the actual signature in the file header, not just the file extension. See dimensions, color depth, transparency, animation, EXIF camera data, and get direct links to the right converter. Works with JPG, PNG, WebP, HEIC, AVIF, GIF, TIFF, BMP, SVG, ICO, JXL, PSD, and RAW formats from Canon (CR2/CR3), Nikon (NEF), Sony (ARW), Adobe (DNG) and more. Need full EXIF? Use our EXIF Viewer. Want to strip metadata before sharing? EXIF Remover.
or click to browse - drop multiple files to bulk-check formats
Or paste an image with Ctrl + V
If you have an image and you're not sure what format it actually is, the file extension can lie. Files get renamed, downloaded with the wrong extension, or saved by software that doesn't update the extension. The only way to know for certain is to read the file's magic bytes - the first few bytes of the file that act as a fingerprint. Here's how to use this tool:
Every image format has a unique "magic number" or signature at the start of the file. Developers, forensic analysts, and security researchers often need to identify files by these bytes. Here's the reference table for common image formats:
| Format | Magic Bytes (Hex) | ASCII | Offset | Notes |
|---|---|---|---|---|
| JPEG / JPG | FF D8 FF |
- | 0 | Followed by JFIF (E0), Exif (E1), or other marker |
| PNG | 89 50 4E 47 0D 0A 1A 0A |
.PNG.... | 0 | 8-byte signature. APNG uses same signature + acTL chunk |
| GIF87a / GIF89a | 47 49 46 38 37 61 / ...39 61 |
GIF87a / GIF89a | 0 | Two GIF variants, both still in use |
| WebP | 52 49 46 46 ... 57 45 42 50 |
RIFF .... WEBP | 0, 8 | RIFF container; "WEBP" appears 8 bytes in |
| HEIC / HEIF | ... 66 74 79 70 68 65 69 63 |
ftypheic / ftypheix / ftypmif1 | 4 | ISO base media; brand varies (heic/heix/heif/mif1) |
| AVIF | ... 66 74 79 70 61 76 69 66 |
ftypavif | 4 | ISO base media; same family as HEIC, different brand |
| TIFF (Little-endian) | 49 49 2A 00 |
II*. | 0 | Intel byte order. RAW formats (DNG, CR2, NEF, ARW) share this header |
| TIFF (Big-endian) | 4D 4D 00 2A |
MM.* | 0 | Motorola byte order |
| BMP | 42 4D |
BM | 0 | 2-byte signature; less reliable, check structure |
| ICO | 00 00 01 00 |
- | 0 | Cursor files use 00 00 02 00 instead |
| JPEG XL (container) | 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A |
....JXL .... | 0 | JXL ISO container; naked codestream uses FF 0A |
| PSD (Photoshop) | 38 42 50 53 |
8BPS | 0 | Version 1 = PSD, version 2 = PSB (large) |
| SVG | Text: <svg or <?xml |
varies | 0 | Plain text XML, no binary signature |
| Canon CR3 | ... 66 74 79 70 63 72 78 |
ftypcrx | 4 | ISO base media container (Canon's newer RAW) |
| Fuji RAF | 46 55 4A 49 46 49 4C 4D 43 43 44 2D 52 41 57 |
FUJIFILMCCD-RAW | 0 | Fujifilm camera RAW |
Why magic bytes matter: File extensions are just naming conventions - anyone can rename photo.heic to photo.jpg, but that doesn't change the bytes inside. Magic bytes are the only reliable way to identify a file's true format. This is how operating systems, image editors, and security tools verify file types.
Once you know the format, here's how the most common image types compare for transparency, animation, compression type, and ideal use:
| Format | Transparency | Animation | Compression | Best For |
|---|---|---|---|---|
| JPEG | No | No | Lossy | Photos, web images, smaller files |
| PNG | Yes (alpha) | APNG only | Lossless | Graphics, screenshots, transparency |
| GIF | 1-bit only | Yes | Lossless | Short animations, memes (256 colors max) |
| WebP | Yes (alpha) | Yes | Both | Modern web; smaller than JPG/PNG |
| HEIC / HEIF | Yes (alpha) | Sequences | Lossy | iPhone photos (smaller than JPG) |
| AVIF | Yes (alpha) | Yes | Lossy + lossless | Next-gen web (best compression) |
| TIFF | Yes | No | Both (often lossless) | Print, archival, scans |
| BMP | 32-bit only | No | Usually uncompressed | Windows legacy; rarely used now |
| SVG | Yes | CSS / SMIL | Vector (XML) | Logos, icons, UI graphics (scales infinitely) |
| JPEG XL | Yes (alpha) | Yes | Both | Successor to JPEG; great efficiency |
| ICO | Yes | No | Bundles PNG/BMP | Windows icons, favicons |
| RAW (DNG, CR2, NEF, ARW) | No | No | Mostly lossless | Camera originals (edit in Lightroom etc.) |
Your image upload validator rejects a file but the user swears it's a JPG. Drop the file in - you'll see if it's actually a renamed HEIC or PNG, then know exactly what to handle in code.
A client sent "logo.png" but Photoshop opens it as a corrupted JPEG. Find out what the file actually is, then use the right converter to fix the extension.
Identify Canon CR2/CR3, Nikon NEF, Sony ARW, Adobe DNG, Fuji RAF, Olympus ORF and more. Get camera, lens, and exposure metadata before importing to Lightroom.
Verify whether files have been disguised by renaming extensions. Export batch results to CSV for evidence chains. The browser-only design means nothing touches a third-party server.
Drop a folder of images to bulk-check formats, find extension mismatches, and identify outdated files. Useful before bulk-compressing or migrating image libraries.
Compare what the browser thinks versus what's really in the bytes. The JSON report download gives you exact magic-byte sequences and EXIF tags for unit-test fixtures.
Reads the actual file header bytes to identify the real format, regardless of extension. Catches renamed and misnamed files instantly.
Exact pixel width and height, aspect ratio, total pixel count, color depth, and bytes-per-pixel as a compression efficiency hint.
Camera make/model, lens, date taken, exposure, ISO, focal length, software, copyright. Remove EXIF for privacy before sharing.
Detects GIF, APNG, and animated WebP - and counts the actual number of frames so you know what you're working with.
Canon CR2/CR3, Nikon NEF/NRW, Sony ARW/SRF, Adobe DNG, Fuji RAF, Olympus ORF, Panasonic RW2, Pentax PEF, Samsung SRW.
Download a human-readable TXT report or a JSON dataset for any image. Batch mode exports a CSV of every file analyzed.
Drop the file into the upload area above. The tool reads the first few bytes of the file (the "magic number") and matches them against signatures for over 25 image formats. The result shows the true format, its full label, MIME type, and whether the file extension matches.
Magic bytes (also called file signatures or magic numbers) are specific bytes at the start of a file that identify its format. For example, JPEG always starts with FF D8 FF and PNG with 89 50 4E 47. They were standardized for each format precisely so that operating systems and software can identify files reliably - much more reliably than the extension, which can be renamed or wrong.
This happens often: files get renamed, downloaded with wrong extensions, saved by software that doesn't update the extension, or sent through services that strip extension info. A file named "photo.png" might actually be a JPEG inside. After detection, use one of our image converters to re-save it with the correct extension, or just rename it to match. The yellow warning in the File Properties panel flags extension mismatches automatically.
The detector identifies all standard web formats (JPEG, PNG, GIF, WebP, AVIF, HEIC/HEIF, TIFF, BMP, SVG, ICO, JXL, APNG), creative app formats (PSD, XCF, AI, EPS), and RAW camera formats (Adobe DNG, Canon CR2/CR3, Nikon NEF/NRW, Sony ARW/SRF, Fuji RAF, Olympus ORF, Panasonic RW2, Pentax PEF, Samsung SRW). Even if your browser can't preview the image, magic bytes analysis works.
No. All analysis happens entirely in your browser using JavaScript. Your file is read locally with the FileReader API and never leaves your device. The magic bytes, dimensions, metadata, and EXIF data are all extracted client-side. You can verify this by opening DevTools and watching the Network tab while analyzing - no requests are made.
Yes - just drop or select multiple files. You'll get a sortable table with the format, dimensions, file size, bit depth, alpha channel, animation status, and a warning icon next to any file with an extension mismatch. Export the table to CSV for asset cataloging, forensics, or pre-migration audits. Up to 50 files per batch.
Yes. Take a screenshot or copy an image to your clipboard, then press Ctrl+V (or Cmd+V on Mac) anywhere on this page. The pasted image is analyzed immediately. Useful for quickly checking what format a screenshot is saved as.
When the magic bytes don't match any known signature, the tool falls back to identifying the format by the file extension. This happens with empty or corrupted files, very obscure formats, or text-based formats like SVG. You'll see this clearly marked so you can investigate further - the file may be damaged.
This tool focuses on identifying the image format and showing key properties at a glance. Our EXIF file viewer goes deeper into all metadata - GPS coordinates, color profiles, software trails, every EXIF tag, IPTC and XMP data. If you find EXIF here that's worth investigating, click "View full EXIF data" or jump straight to the EXIF viewer.
After analysis, the tool shows recommended converters based on the detected format. For example, if you have a HEIC file, you'll see links to HEIC to JPG, HEIC to PNG, HEIC to PDF, and Compress HEIC. For RAW formats, you'll get links to Convert RAW. Browse all converters at /image-converters/.
Even client-side, the browser allocates memory for each file. Most format detection only needs the first 64 KB, which we read efficiently using file.slice(). For files under 10 MB, we read the whole file for richer EXIF analysis. Above 10 MB we stick to the header. The 200 MB cap is a safety net for the browser tab.
Yes - completely free, no signup, no watermark, no rate limits. Browse the rest of our image tools, converters, and compressors on ConvertICO.