FrameTags icon
FrameTags icon

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...

FrameTags screenshot 1

Cost / License

  • Free
  • Open Source (MIT)

Platforms

  • Windows
1like
0comments
0articles

Features

  1.  Batch processing

FrameTags News & Activities

Highlights All activities

Recent activities

FrameTags information

  • Developed by

    US flagarbopa
  • Licensing

    Open Source (MIT) and Free product.
  • Written in

  • Alternatives

    36 alternatives listed
  • Supported Languages

    • English

AlternativeTo Category

Photos & Graphics

GitHub repository

  •  0 Stars
  •  0 Forks
  •  0 Open Issues
  •   Updated  
View on GitHub
FrameTags was added to AlternativeTo by arbopa on and this page was last updated .
No comments or reviews, maybe you want to be first?

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.

Official Links