๐ธ ExifTool Parity
Value-level parity suite against ExifTool 13.55+. Reads EXIF, XMP, IPTC, GPS, ICC, and more โ every divergence tracked in a public register.
๐ RAW Container Reading
TIFF, DNG, CR2, NEF, ARW, ORF, RW2, PEF, ERF, DCR, SRW โ standard IFD0/Exif/GPS/SubIFD/XMP tags from RAW files, read-only.
๐งต Zero-Copy Buffers
In-memory reads return views into the source buffer, not copies. One process, no subprocess per file.
๐ฆ Multi-Format Support
JPEG, PNG, WebP, AVIF/HEIF, and TIFF-family RAW images. One plugin-based API, load only the formats you bundle.
๐ CLI Compatible
Drop-in ExifTool CLI replacement. Supports -j, -csv, -X, -t, -if filters, -stay_open, and more.
๐ TypeScript Native
Full type definitions, strict typing, and IntelliSense support. Built for modern TypeScript projects.
Quick Start
TypeScript
import { ExifTool } from 'exiftool-ts';
const exiftool = new ExifTool();
const result = await exiftool.read('photo.jpg');
console.log(result.tags.Make); // "Canon"
console.log(result.tags.Model); // "EOS R5"
console.log(result.tags.ImageSize); // "9600x6376"
CLI
# Basic usage
npx exiftool-ts photo.jpg
# JSON output (ExifTool compatible)
npx exiftool-ts -j photo.jpg
# RAW metadata
npx exiftool-ts -j photo.dng
# All tags with groups
npx exiftool-ts -G1 -j photo.jpg