For a metadata extraction tool, the first results are exif-js/exif-js (exif-js is a browser-side JavaScript library that extracts EXIF and IPTC metadata—including GPS coordinates—from image files, but it does not handle documents PDF, Office or provide a command-line interface or batch processing), exiftool/exiftool (ExifTool, identified by its name and 'Media Metadata Tools' tag, is the premier tool for extracting EXIF and GPS metadata from images as well as metadata from PDF and Office documents, with a command-line interface and batch processing for structured output) and d2phap/imageglass (ImageGlass is an image viewer and editor that includes EXIF metadata inspection, but it is not a dedicated extraction tool and lacks document metadata support, a command-line interface, and batch processing for structured output). nomacs/nomacs and coobird/thumbnailator round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Tools and libraries for extracting embedded EXIF data, geolocation coordinates, and document properties from files.
exif-js is a JavaScript library for extracting image metadata directly in the browser. It functions as a binary image buffer parser that reads raw image bytes to retrieve technical details without requiring files to be uploaded to a server. The library parses data following the EXIF and IPTC standards to extract camera settings, timestamps, GPS coordinates, captions, keywords, and copyright information. It utilizes typed arrays and offset-based traversal to navigate image structures and map numeric identifiers to human-readable tags.
exif-js is a browser-side JavaScript library that extracts EXIF and IPTC metadata—including GPS coordinates—from image files, but it does not handle documents (PDF, Office) or provide a command-line interface or batch processing.
ExifTool is a command line application and batch metadata processor used for reading, writing, and editing EXIF, IPTC, XMP, and other metadata in image and video files. It functions as a file metadata editor and image metadata extractor capable of modifying embedded internal properties across a wide variety of supported file formats. The tool specializes in extracting camera maker notes and industry standard descriptors from digital media. It supports metadata migration workflows, allowing embedded information to be copied from a source file and applied to a destination file. The utility cov
ExifTool, identified by its name and 'Media Metadata Tools' tag, is the premier tool for extracting EXIF and GPS metadata from images as well as metadata from PDF and Office documents, with a command-line interface and batch processing for structured output.
ImageGlass is a lightweight image viewer and editor designed for Windows environments. It provides a unified interface for displaying a wide range of file types, including raw camera files, vector graphics, and web formats, while offering tools for basic image transformation and metadata inspection. The application distinguishes itself through deep integration with the host operating system, including the ability to synchronize its internal viewing order with the file explorer's sorting state. It supports complex media by providing playback controls for multi-frame and animated files, allowin
ImageGlass is an image viewer and editor that includes EXIF metadata inspection, but it is not a dedicated extraction tool and lacks document metadata support, a command-line interface, and batch processing for structured output.
nomacs is a cross-platform image viewer application used for viewing and managing a wide variety of standard and specialized image file formats. It functions as an image processing utility, a metadata inspector, and an annotation tool. The application enables side-by-side image comparison by synchronizing zooming and panning across multiple open windows. It also provides the ability to browse and view images embedded within compressed archives or document files without manual extraction. The software includes capabilities for image metadata analysis using histograms, the addition of visual m
nomacs is primarily a cross-platform image viewer and editor, not a dedicated metadata extraction tool—while it can inspect some image metadata, it lacks documented support for GPS/geolocation extraction, document formats (PDF, Office), command-line batch processing, and structured output like JSON/CSV, so it does not squarely fit the intended category.
Thumbnailator is a Java image thumbnailing library designed for generating resized images with aspect ratio preservation and high-quality scaling. It serves as a toolkit for rotating, cropping, and adjusting the opacity of images within Java applications. The library is distinguished by its ability to function as an Exif-aware image processor, automatically rotating thumbnails based on embedded orientation metadata. It also provides specialized utilities for digital watermarking, allowing secondary images and branding markers to be overlaid with adjustable transparency. Core capabilities cov
Thumbnailator is an image resizing and thumbnailing library that can read EXIF orientation metadata for auto-rotation, but it is not built for extracting GPS coordinates or document metadata, so it lacks the core extraction capabilities you need.
This project is an image processing library designed for manipulating pixel data, applying visual filters, and adjusting image appearance. It functions as a low-level tool for processing raw pixel buffers and managing image data. The library provides a toolkit for image geometry manipulation, including resizing, cropping, flipping, and rotating images. It also serves as an image format converter for encoding and decoding data between common binary file formats and as a metadata extractor for retrieving dimensions and color profiles from file headers. The capabilities cover low-level image pr
This is an image processing library that can extract basic metadata like dimensions and color profiles from image headers, but it does not specifically handle GPS/geolocation coordinates or document metadata, so it falls short of a dedicated photo and document metadata extraction tool.
Photoview is a self-hosted photo gallery and media manager designed for browsing and organizing personal photo and video collections. It functions as an AI-powered face recognition gallery that automatically detects, clusters, and labels human faces to organize media by person. The system persists metadata and user configurations using SQL-compliant databases such as PostgreSQL, MySQL, or SQLite. The platform distinguishes itself through specialized media processing and integration capabilities. It processes RAW camera files and transcodes videos into browser-compatible formats, while offerin
Photoview is a self-hosted photo gallery that displays EXIF and geolocation metadata in a map view, but its core purpose is media organization and browsing rather than providing a dedicated metadata extraction tool with CLI, batch processing, or document (PDF/Office) support.
Memories is a self-hosted photo and video management system designed for organizing, indexing, and sharing media libraries from a private server. It functions as an AI-powered media organizer that uses artificial intelligence for face recognition and object tagging to automatically categorize large collections. The system distinguishes itself through deep metadata integration and specialized processing, featuring a geographic photo viewer that plots media on a map using GPS data and reverse geocoding. It also includes a self-hosted video transcoder that converts files into adaptive HLS stream
Memories is a self-hosted photo management system that internally extracts EXIF and GPS metadata for organizing and mapping media, but it is a full application rather than a dedicated extraction tool or library, and it does not cover document metadata extraction from PDFs or Office files.
osxphotos is a command-line interface tool and programmatic database interface designed for managing and exporting media from Apple Photos libraries. It provides a bridge to the underlying system database, allowing for the automation of batch operations and the retrieval of technical metadata. The project distinguishes itself through a metadata-driven export system that uses custom templates to organize files into directory hierarchies. It can extract machine-learning data—including aesthetic scores and optical character recognition—and synchronize metadata across different libraries using un
osxphotos extracts metadata including geolocation from Apple Photos libraries via CLI, but it is limited to Apple's ecosystem and does not work with arbitrary image files or documents like PDFs, so it is a specialised tool rather than the general-purpose photo and document metadata extractor you are looking for.
RxTool is an Android development utility library consisting of reusable components and helper classes for common mobile development tasks. It provides a coordinated set of toolkits for hardware interfacing, media processing, and user interface construction. The project features specialized implementations for mobile payment integration with Alipay and WeChat Pay, as well as dedicated tools for social sharing workflows. It includes a security-focused set of human verification widgets, such as puzzle and sliding captchas, to prevent automated bot interactions. The library covers a broad capabi
RxTool is an Android utility library that includes some EXIF and geospatial metadata handling among broad mobile development helpers, but it is not a dedicated metadata extraction tool with the CLI, batch processing, and structured output this search targets.
Aves is an Android media gallery application used for browsing and organizing images and videos. It functions as a multi-purpose tool that combines gallery browsing with a bulk media renamer, an EXIF metadata editor, a GPS media map viewer, and a privacy-focused media vault. The application distinguishes itself through advanced metadata handling, allowing users to modify binary headers to update timestamps and location tags. It features a dynamic pattern-based renaming engine that uses file metadata and cryptographic hashes to update filenames in bulk. Additionally, it provides a secure stora
Aves is an Android gallery app that can view and edit EXIF and GPS metadata from images, not a CLI library or tool for batch extraction from both photos and documents, so it lacks the command-line interface, document support, and structured output you likely need.
Dawarich is a self-hosted location history manager and travel journaling platform. It functions as a personal travel archive that collects GPS coordinates and movement data, providing a private alternative to proprietary tracking services. The system utilizes a PostgreSQL geospatial database to store coordinates, visits, and custom geofence boundaries. The project distinguishes itself as a geospatial data converter and visualization tool, capable of transforming location history between formats such as GPX, KML, and GeoJSON. It allows users to organize GPS tracks and geotagged photos into nam
Dawarich is a self-hosted location history manager and travel journal that can organize geotagged photos and GPS tracks, but it does not extract EXIF or document metadata from files — it works with already-captured location data rather than pulling metadata from images or documents.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| exif-js/exif-js | 5K | JavaScript | MIT | |
| exiftool/exiftool | 4.8K | Perl | GPL-3.0 | |
| d2phap/imageglass |
| 12.2K |
| C# |
| other |
| nomacs/nomacs | 2.8K | C++ | gpl-3.0 |
| coobird/thumbnailator | 5.4K | Java | MIT |
| pistondevelopers/image | 5.8K | Rust | Apache-2.0 |
| photoview/photoview | 6.5K | TypeScript | AGPL-3.0 |
| pulsejet/memories | 3.7K | Vue | agpl-3.0 |
| rhettbull/osxphotos | 3.3K | Python | mit |
| tamsiree/rxtool | 12.3K | Kotlin | Apache-2.0 |