

FrameTags
FrameTags is a PySide6 desktop utility that allows photographers to apply metadata to large photo sets in bulk. In version 1, users can select directories, scan with optional recursive traversal, choose metadata fields to apply, preview changes before writing, and apply metadata...
Cost / License
- Free
- Open Source (MIT)
Platforms
- Windows
Features
- Batch processing
FrameTags News & Activities
Recent activities
- niksavc liked FrameTags
arbopa added FrameTags as alternative to Exif Tag Remover, Image Tagger, Exif Editor and jhead
arbopa added FrameTags as alternative to ExifTool: Edit Metadata and Geotag
arbopa added FrameTags as alternative to shootShifter, KGeoTag and QromaTag
arbopa added FrameTags as alternative to Namexif and Metadata Fixer for Google Takeout- arbopa added FrameTags as alternative to Ambedo and EXIFManager
arbopa added FrameTags as alternative to ExifEase, Exif Remover, Exif Pilot and Image Metadata Master
arbopa added FrameTags as alternative to File Date Corrector and MetaImage
arbopa added FrameTags as alternative to Metadata++ and Geeqie Image Viewer
FrameTags information
What is FrameTags?
FrameTags is a PySide6 desktop utility that allows photographers to apply metadata to large photo sets in bulk. In version 1, users can select directories, scan with optional recursive traversal, choose metadata fields to apply, preview changes before writing, and apply metadata writes through ExifTool. It also allows saving, loading, updating, and deleting presets. The tool only reads and writes metadata, not editing image pixels.
Supported formats include RAW (.cr2, .nef, .arw, .dng, .orf, .raf) and standard image (.jpg, .jpeg, .tif, .tiff, .png), with PNG metadata support depending on ExifTool capabilities and file metadata blocks. It supports various metadata fields, including Artist, Copyright, Credit, Source, Creator Email, Creator Website, Usage Terms/License, Location Name, City, State/Province, Country, GPS Latitude, GPS Longitude, Caption/Description, Headline, and Keywords.
FrameTags uses a registry in app/metadata_fields.py to separate UI fields from raw metadata tags. UI controls bind to normalized internal keys, and mapping to Exif/IPTC/XMP tag targets is centralized in field definitions and app/metadata_mapper.py. The change-set datamodel is shared by preview and apply functions, making the app extensible for future workflows.
Write behavior options include overwrite, write if empty, and append non-duplicate keywords. RAW handling is strategy-based, with embedded for JPEG/TIFF and sidecar-aware strategies for RAW formats. Presets are stored in data/presets.json, and only selected fields with values are persisted.
Before applying metadata changes, a preview is required. The preview process includes scanning candidate files, reading existing metadata through ExifTool, comparing against selected field values and write mode, building per-file change sets, and showing only files that would change.
The number of "Changed Fields" in preview refers to fields whose value would change on the file. A checked field is not counted if the existing value matches the entered value.
General settings are saved in data/settings.json, including last selected preset, last used directories, recurse option, write mode, RAW sidecar preference, and window geometry.







