Skip to content

Repository files navigation

jamp3

An ID3 & MP3 library written in TypeScript for Node.js

NPM

Test Codacy Badge Maintainability Code Coverage Known Vulnerabilities total downloads license

Motivation for this yet-another-id3-library:

  • On-the-fly, async & only read as much as needed

    Only loads small parts of the file stream at a time. So that 100MB of e.g. podcast-episode.mp3 is not read completely in memory to get 100kb for an ID3v2 at the beginning of a file.

  • Native Node

    No external dependencies

  • Read MPEG frames information

    While reading the tag, you may want to read the duration/bitrate/... of the audio stream.

  • Write support

    ID3v2/ID3v1 can be updated, removed or written.

    For ID3v2.4 an easy-to-use build helper is available. For more complex use, you can write other versions and even non-standard combinations of ID3v2 frames.

    There haven't been many reported issues, but be advised to make & keep backups of your audio files in case of bugs.

  • Return ID3v2 frames as raw as needed

    No mangling or combination into a simplified tag object (but there is a helper function to do just that).

  • Deal with unknown/not implemented ID3v2 Frames

    Such frames are loaded as binary blobs and can be also written as such.

  • Error tolerance over Specification

    Tested with many valid & broken/invalid files https://github.com/ffalt/jamp3-testfiles

Table of Contents