Skip to content

TagLib-WasmUniversal Audio Metadata

TagLib compiled to WebAssembly with TypeScript bindings for universal audio metadata handling

Quick Example

typescript
import { readTags, updateTags } from "taglib-wasm/simple";

// Read tags - just one function call!
const tags = await readTags("song.mp3");
console.log(tags.title, tags.artist, tags.album);

// Update tags in-place - even simpler!
await updateTags("song.mp3", {
  title: "New Title",
  artist: "New Artist",
  album: "New Album",
});

Installation

typescript
import { TagLib } from "npm:taglib-wasm";
bash
npm install taglib-wasm
bash
bun add taglib-wasm

Why TagLib-Wasm?

The JavaScript/TypeScript ecosystem lacked a robust, universal solution for reading and writing audio metadata across all popular formats. Existing solutions were either:

  • Limited to specific formats (e.g., MP3-only)
  • Platform-specific (requiring native dependencies)
  • Incomplete (missing write support or advanced features)
  • Unmaintained (dormant projects)

TagLib-Wasm solves these problems by bringing the power of TagLib – the industry-standard C++ audio metadata library – to JavaScript via WebAssembly.

Released under the MIT License.