Audio and video · Edition No. 40 · 4 Oct 2026

taglib/taglib

The C++ library that reads and writes the metadata inside audio files across MP3, MP4, FLAC, Ogg and more.

← Audio and videoRead the whole edition →
09

taglib/taglib

💎 hidden gem

1,460 stars · ⚠ TWO LICENCE FILES AND NO PLAIN LICENSE OR COPYING IN THE ROOT AT ALL: /blob/master/COPYING.LGPL is the stock unmodified LGPL v2.1 of February 1999, and /blob/master/COPYING.MPL is Mozilla Public Licence 1.1 — NOT 2.0 — whose Exhibit A is left as an unfilled template ("The Original Code is ______", "The Initial Developer of the Original Code is ______"). Neither file names a TagLib copyright holder · v2.3.2 (2026-09-05; the GitHub page shows "05 Sep" with no year and the year was settled by the ungh releases mirror, publishedAt 2026-09-05T05:05:29Z) · Track this in Scout

The C++ library that reads and writes the metadata inside audio files across MP3, MP4, FLAC, Ogg and more.

▶Repo detailsthe review · specs · pros & cons · install

What it is

TagLib handles the tag formats of MP3, MP4, FLAC, Ogg, WAV, AIFF, WMA and more behind one interface. It has been maintained in this repository since March 2011, and at 1,460 stars it sits well under the hidden-gem line while being one of the most widely deployed libraries in this edition.

What it is good for. Anyone writing something that touches an audio collection — a player, a tagger, a library organiser, a conversion script. It is the reason a program can open a FLAC and an MP3 without knowing anything about either format.

Stars1,460
Licence⚠ TWO LICENCE FILES AND NO PLAIN LICENSE OR COPYING IN THE ROOT AT ALL: /blob/master/COPYING.LGPL is the stock unmodified LGPL v2.1 of February 1999, and /blob/master/COPYING.MPL is Mozilla Public Licence 1.1 — NOT 2.0 — whose Exhibit A is left as an unfilled template ("The Original Code is ______", "The Initial Developer of the Original Code is ______"). Neither file names a TagLib copyright holder
Latestv2.3.2 (2026-09-05; the GitHub page shows "05 Sep" with no year and the year was settled by the ungh releases mirror, publishedAt 2026-09-05T05:05:29Z)
Good
  • 1,460 stars for a library that ships inside a very large number of music players. Code was pushed on 2 October 2026, two days before this edition.
  • It can both read and write, unlike several of the smaller alternatives, and version 2 added a cleaner interface.
  • The newest release, v2.3.2, is dated 5 September 2026. The GitHub page gives that date without a year; the ungh mirror settled it.
Watch for
  • The licence is two licences, and one of them is a blank form. There is no LICENSE and no COPYING in the root at all. Instead there are COPYING.LGPL, the plain unmodified LGPL version 2.1, and COPYING.MPL, which is Mozilla Public Licence 1.1, not 2.0 — and its Exhibit A is left as an unfilled template: "The Original Code is _____." and "The Initial Developer of the Original Code is ___." Neither file names a TagLib copyright holder. You choose which licence to take, and under the MPL side the fields a redistributor is meant to rely on are empty.
  • There is no simple install. You run CMake with a C++17 compiler, and you must supply utf8cpp yourself. On Windows that means Visual Studio Build Tools 2022 and vcpkg.
  • Version 2 moved to C++17 and an external dependency, so anything built against version 1 needs porting. No memory or disk figure is published.
Similar repositories
Install
sudo apt install cmake g++ libutfcpp-dev zlib1g-dev
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release .
make
sudo make install
Screenshots
taglib/taglib: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.