Exifr

The fastest and most versatile JavaScript EXIF reading library.

Check out the repo or npm for docs and more information.

Issue Star Fork

Input

Output

File

Click to open filepicker
or
drop your file here

Options Toggle all

{
  // APP segments
  tiff: ,
   // TIFF blocks
  ├─ifd0: ,
  ├─exif: ,
  ├─gps: ,
  ├─interop: ,
  ├─ifd1: ,
   // other data
  ├─makerNote: ,
  └─userComment: ,
  xmp: ,
  icc: ,
  iptc: ,
  // JPEG only
  jfif: ,
  // PNG only
  ihdr: ,
  // output styles
  mergeOutput: ,
  sanitize: ,
  reviveValues: ,
  translateKeys: ,
  translateValues: ,
  // for XMP Extended
  multiSegment: ,
}

Embedded thumbnail

File doesn't contain thumbnail

EXIF Show all

Not parsing exif

Thumbnail (IFD1) Show all

Not parsing ifd1

Image (IFD0) Show all

Not parsing ifd0

GPS Show all

Not parsing gps

IPTC Show all

Not parsing iptc

XMP Show all

Not parsing xmp

ICC Show all

Not parsing icc

JFIF (JPEG only) Show all

Not parsing jfif

IHDR (PNG only) Show all

Not parsing ihdr

makerNote Show all

Not parsing makerNote

userComment Show all

Not parsing userComment

Raw output Toggle fullscreen


		

Examples

You can find more examples here in the GitHub repo.

  • DND multiple photos, display their GPS on a map and measure time and RAM usage
  • Parsing XMP and extracting depth-map and displaying it in a browser or saving it to disk with Node 'fs'
  • Extracting thumbnail and displaying it in a browser or saving it to disk with Node 'fs'
  • Parsing in web worker
  • Import format: CommonJS or ES Modules
  • Filters & perf improvements: Parsing as little tags to get GPS fast
  • Extract the full TIFF Segment vs just one block
  • Speed comparison of various input formats
  • Using Base64 string as an input
  • IE11 Support
  • Customization: importing file readers, segment parsers and dictionaries
  • License

    MIT, Mike Kovařík