Skip to content
This is a ExifTool node.js wrapped version. Help you can read / write / create exif, iptc and more information of media
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
lib
logs
test
.editorconfig
.gitignore
.nvmrc
README.md
package.json

README.md

Exiftool-kit

This is a package is exiftool nodejs wrapped version. With this wrapped version, you can read / create / edit / remove image exif / iptc settings very easy.

This package don't depend on any other npm packages, and you may also set your own exiftool binary file as you wish.

installation

$ npm install --save exiftool-kit

how to use

set your own exiftool (not necessary, unless you really wanna set your own exiftool binary)

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool(pathToYourOwnExifTool)

or

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool()

exiftool.setBin(pathToYourOwnExifTool)

read tags

read a single file

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool()

exiftool.getTag({
    source: file
})

read files

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool()

exiftool.getTag({
    source: [file1, file2]
})

read buffer

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool()

exiftool.getTag({
    source: buffer
})

edit (write | update | remove) tags

write / update tags

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool()

exiftool.setTags({
    source: image,
    tags: [
        { tag: 'iptc:By-line', value: 'Kim Hsiao' }
    ]
})

remove tags

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool()

exiftool.setTags({
    source: imageBuffer,
    tags: [
        { tag: 'Model', value: '' }
    ]
})

remove all tags

const ExifTool = require('exiftool-kit')
const exiftool = new ExifTool()

exiftool.setTags({
    source: imageBuffer,
    tags: [
        { tag: 'all', value: '' }
    ]
})

example

You may check example, to get more detail example code

Note

When you edit tags to a file, this will return the given file name. If you edit tags from a buffer, it will return a updated buffer.

You can’t perform that action at this time.