Features
- Private
- Images never leave your browser and are never uploaded to someone else's server
- Standardized
- Uses the WebAssembly library libexif-wasm based on the libexif C library, which supports all of Exif standard 2.1 and most of 2.2
- Convenient
- Read and write Exif data directly in the browser
FAQ
JPEG images, PNG images, WebP images, raw Exif metadata files are supported. HEIC, HEIF, and AVIF images are supported on a read-only basis. For more information, see jeremy-code/exifi#13.
Realistically, if you are a photographer or someone who edits images on a frequent basis, you probably should be using a specialized tool for the job. These may include: ExifTool by Phil Harvey, darktable, Adobe Lightroom, or many other software. This is more of a service for those who want to quickly add a little bit of metadata to their images quickly online without having to upload them to someone's server.
Only the Exif standard 2.1 and most of 2.2 are supported. Other metadata that may be stored, such as XMP, are not supported. This also means that Exif data defined by the XMP namespace for Exif (EXIF namespace) is also not supported. For more information on the Exif specification, see the Wikipedia article on Exif or or view the official Exif 2.21 standard published by JEITA at this URL (or in Japanese).
You can open a link with a URL search parameter like this: https://exifi.io/viewer?url=https://upload.wikimedia.org/wikipedia/commons/c/c9/Metadata_demo_exif_only.jpg.
Yes! exifi can be used as a progressive web app (PWA). For more information on how to install a PWA, see this guide by MDN: Installing and uninstalling web apps.
- Tags that provide additional textual information include: ImageDescription, Artist, Copyright, XPTitle, XPAuthor, XPKeywords, XPSubject, and CameraOwnerName
- GPS data such as Longitude, Latitude can be added or edited accordingly in the "Edit GPS" menu
- DateTime/OffsetTime or their variants, DateTimeOriginal/OffsetTimeOriginal or DateTimeDigitized/OffsetTimeDigitized can also be edited
An Image File Domain (IFD) refers to the type of data an Exif entry pertains to. There are five IFDs for Exif data:
- IFD 0 refers to the main data regarding the image (X or Y-Resolution, ImageDescription, Model, etc.).
- IFD 1 refers to data regarding the thumbnail of the image. If a tag is avaliable in both IFD 0 and IFD 1, you probably want to put it in IFD 0.
- The Exif IFD refers to additional miscellanous metadata on the image (e.g. ExifVersion, ColorSpace, ExposureTime, etc.).
- The GPS IFD refers to geographic data relevant to the image (e.g. Latitude, Longitude).
- The Interoperability IFD refers to interoperability tags (InteroperabilityIndex and/or InteroperabilityVersion).
MakerNote data is stored a special tag in the Exif IFD reserved exclusively for manufacturer-specific binary data. For more information, see Wikipedia:Exif#MakerNote data. Currently, libexif is able of decoding the following manufacturers: Canon, Fuji, Olympus (Epson, Sanyo) , and Pentax (Casio) .
In July 2017, version 1.5.0 of the extensions to the PNG 1.2 Specification added support for a eXIf chunk in PNGs that stored Exif metadata. Previously, legacy encoders stored Exif data in nonstandard methods. For example, ImageMagick stored Exif information in a "Raw profile type APP1" zTXt chunk whereas Photoshop stored it in a "Raw profile type exif" zTXt chunk. Furthermore, some PNG encoders will, when converting from JPEG, choose to encode Exif data as XMP data under the EXIF namespace. Since read and write support for PNGs is handled by libpng reading the eXIf chunk specifically, you may experience false negatives for older PNGs where exifi claims that an image has no Exif data when it was actually stored somewhere else.
No, exifi only is capable of reading Exif metadata and not other forms of metadata such as XMP. You probably should look towards something like Google Chrome Lab's squoosh.app, which also uses WebAssembly to handle image encoding directly in the browser and most importantly, only preserves image data.