npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-exif-data

v0.1.2

Published

A n8n Node to Read and Write EXIF-Data from and to Image Files utilizing a vendoered version of Exiftool

Readme

Banner image

Work with EXIF / IPTC / XMP Data from Image Files within n8n

This community package contains a node to work with EXIF Data from Images.

That enables you to:

  • Add and embed custom keywords inside the image file
  • Strip specific metadata from the image file
  • Add copyright information
  • Extract "Made with AI" Information
  • Set "Made with AI" Information
  • Extract lens information
  • Modify date and time tag
  • Geo-tag images using GPS coordinates
  • Work with embedded Geo-tag Information
  • Identify which camera was used to take the photo
  • Set the image orientation parameter
  • Retrieve image resolution details
  • Extract and manipulate IPTC and XMP metadata

n8n is a fair-code licensed workflow automation platform.

Supported Operations
Installation
Compatibility
About
Version History

Supported Operations

| Operation | Description | Options | | ------------- | ------------- | ------------- | | Read | Read all the embedded metadata of an Image | Read Raw (without any transformation / validation) | | Write | Extend or override metadata of a given Image | Parse Input Fields (Transform Input to match desired Datatypes of known EXIF Fields) | | Repair | Could help woth corrupted files. It will re-apply all existing valid EXIF Metadata to the file. | - | | Delete | Removes All EXIF Metadata from the Image. With the additional field you can keep fields. | Optional: A list of field names to keep | | Send Custom Exiftool Command | Send a custom Exiftool Command. (At this moment only read operations possible) | - |

Installation

Follow the installation guide in the n8n community nodes documentation.

Additionally the exiftool-vendored.js library requires perl to be installed on your system. On most systems perl is already installed. If not (most likely for Docker), you can install it via your package manager. Add this to your Dockerfile:

RUN apk add perl

Or manually install in your docker container: (not so recommended)

docker exec -u root -it n8n-container-id apk add perl

More information regarding possible installation steps can be found in the exiftool-vendored.js repository.

For a quickstart I've prepared an example workflow.

This node essentially wraps Exiftool as node vendored variant to work with the metadata. Possible by this great repository by photostructure. Huge Shoutout to the contributors to that repo. That also makes it super easy to install and work within n8n – no extra headaches by installing exiftool inside the Docker / on the Server.

Approach

exiftool-vendored launches a Child-Process with a Vendored variant of Exiftool. This extra instance consumes apeox. 70mb extra RAM. ⚠️ This node writes temporary files to the n8n default storage path for custom nodes (.n8n/custom/storage/n8n-nodes-exif-data.exifData/). It was necessary to build it this way to make the file accessible for the child process. This means that for this node to work, this path needs to be writable. The node will also instantly remove the files from this temporary storage once they have been processed. Path traversal is prohibited by the node.

Troubleshooting

If you encounter any issues, please check the following:

  1. Perl is missing:
  • The depency inside this node requires perl to be installed on your system. Check the Installation section for more information.
  1. Storage Path not writable:
  • The node writes temporary files to the n8n default storage path for custom nodes (.n8n/custom/storage/) That may be missing on your system. Possible Solution: Create the directory manually (for example mkdir .n8n/custom/storage/) Note: This could vary for your system, there is an ENV Variable to change the storage path. Also make sure that n8n can write to this path.
  1. Temporary file not deleted:
  • Especially the *_exiftool_tmp might be blocking further write operations. This happens when exiftool runs into an bad error. Further Write Operations will fail with that error.
  • Possible Solution: Restart n8n. If the problem persists, check solutions for this within the exiftool community. It's a known issue, apperantly often caused by antivirus software.

Compatibility

The Latest Version of n8n. If you encounter any problem, feel free to open an issue on Github.

About

Version History

0.1.2

  • small fixes and Installation Notes added

0.1.1

  • fix issue with non-existing storage path

0.1.0

  • initial release