Back to browse
TagLib-WASM – Read/write audio metadata with all JavaScript runtimes

TagLib-WASM – Read/write audio metadata with all JavaScript runtimes

by CharlesW·Feb 11, 2026·1 point·0 comments

AI Analysis

●●●BangerBig BrainWizardryShip It

TagLib compiled to WASM fills a real gap—JS had no battle-tested audio tagging library.

Strengths
  • True universal runtime support: Deno, Node, Bun, browsers, Cloudflare Workers—genuinely rare
  • Zero external dependencies in the WASM bundle itself—self-contained and portable
  • Leverages 22-year-old proven library (TagLib) rather than reinventing; respects existing art
Weaknesses
  • Niche audience: only relevant if you're actually building audio metadata features in JS
  • Performance unknown for large batch operations or real-time streaming use
Target Audience

JavaScript/TypeScript developers building music or media applications

Similar To

ffmpeg.wasm · jsmediatags

Post Description

TagLib-Wasm is the universal audio tagging library for TypeScript/JavaScript (TS|JS) platforms: Deno, Node.js, Bun, Cloudflare Workers, Electron, and browsers.

This project exists because the TS|JS ecosystem had no battle-tested audio tagging library that supports reading and writing music metadata to all popular audio formats. TagLib-Wasm stands on the shoulders of giants, including TagLib itself, Emscripten, and Wasm (WebAssembly). TagLib itself is legendary, and a core dependency of many music/media apps.

import { readTags, updateTags } from "taglib-wasm/simple"; const tags = await readTags("song.flac"); console.log(tags.title, tags.artist, tags.album); await updateTags("song.flac", { title: "New Title", artist: "New Artist" });

On PC/server runtimes (Deno, Node.js, Bun), TagLib-Wasm auto-selects a WASI backend that does fast and efficient seek-based I/O. In browsers, it uses Emscripten with full-buffer I/O. No configuration is needed.

This is the first 1.0 beta. I'd appreciate any feedback on the API design/DX, missing formats/features, and use cases I haven't thought of.

https://charleswiltgen.github.io/taglib-wasm/

Similar Projects

Developer Tools●●Solid

Lumina – a statically typed web-native language for JavaScript and WASM

Built-in reactive runtime and dual JS/WASM targets challenge React and TypeScript dominance.

WizardryBold Bet
light_ideas
202mo ago