Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. .NET
  3. TagLib#

TagLib#

LGPL-2.1C#TaglibSharp-2.3.0.0

A .NET library for reading and writing metadata in video, audio, and image files across multiple formats.

GitHubGitHub
1.4k stars328 forks0 contributors

What is TagLib#?

TagLib# is a .NET library for reading and writing metadata in media files, including video, audio, and images. It solves the problem of handling metadata across diverse file formats by providing a single, consistent API, eliminating the need for format-specific parsing code.

Target Audience

.NET developers building applications that need to process, organize, or edit metadata in media files, such as media players, organizers, or tagging tools.

Value Proposition

Developers choose TagLib# for its comprehensive format support, stable API, and ease of use, allowing them to manage metadata across many media types without dealing with low-level file format details.

Overview

Library for reading and writing metadata in media files

Use Cases

Best For

  • Building media players that display metadata like titles and durations
  • Creating media organization tools that edit tags across collections
  • Developing applications that need to read custom metadata from audio files
  • Processing image metadata such as timestamps in photo management apps
  • Handling metadata for video files in editing or cataloging software
  • Managing audio book metadata (e.g., via M4B support) in library apps

Not Ideal For

  • Applications requiring real-time metadata extraction from streaming media or network sources
  • Projects needing low-level manipulation of raw media data or file structures beyond standard metadata
  • Teams working exclusively in non-.NET ecosystems like Python or JavaScript where native libraries are preferred
  • Systems with stringent memory or performance constraints where a lightweight, single-format library would suffice

Pros & Cons

Pros

Broad Format Coverage

Supports over 20 audio, video, and image formats including MP3, FLAC, MKV, and JPEG, as explicitly listed in the README, eliminating the need for multiple libraries.

Unified API Design

Provides a consistent interface via TagLib.File.Create for reading and writing tags across different media types, simplifying code with examples for audio, video, and images.

Custom Tag Flexibility

Allows creation and manipulation of custom metadata, such as Xiph comments in FLAC files, demonstrated in the README's custom tag example.

Cross-Platform Compatibility

Tested and works on both Windows and Linux, making it suitable for .NET Core and Mono environments, as stated in the platform independence feature.

Stable API Commitment

Maintains backward compatibility in the 2.0 series with only additions, ensuring long-term reliability for applications, per the API stability note.

Cons

.NET Ecosystem Lock-in

Tied to the .NET framework, which may not integrate well with projects using other languages or platforms, limiting cross-technology adoption.

File-Only Focus

Lacks built-in support for streaming media or remote file access, as all examples are file-path based, restricting use in web or real-time applications.

Complex Test Setup

Requires additional steps like installing Nunit 3 Test Adapter for debugging in Visual Studio, adding overhead for development and testing workflows.

LGPL Licensing Constraints

Released under LGPL, which can impose distribution and modification requirements that might be burdensome for proprietary or closed-source software.

Frequently Asked Questions

Quick Stats

Stars1,437
Forks328
Contributors0
Open Issues137
Last commit11 months ago
CreatedSince 2010

Tags

#media-processing#metadata-management#dotnet-library#file-formats#image-metadata

Built With

.
.NET

Included in

.NET21.2k
Auto-fetched 6 hours ago

Related Projects

NAudioNAudio

Audio and MIDI library for .NET

Stars6,129
Forks1,128
Last commit13 hours ago
CSCoreCSCore

An advanced audio library, written in C#. Provides tons of features. From playing/recording audio to decoding/encoding audio streams/files to processing audio data in realtime (e.g. applying custom effects during playback, create visualizations,...). The possibilities are nearly unlimited.

Stars2,356
Forks467
Last commit1 year ago
LibVLCSharpLibVLCSharp

Cross-platform .NET/Mono bindings for LibVLC

Stars1,769
Forks293
Last commit8 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub