Skip to main content
Version: 4.0 (next)

What Humanizer does

Orientation

Humanizer is a .NET library for turning program-shaped values into text people can read. Its extension methods cover identifiers, enums, dates and times, durations, numbers, byte sizes, quantities, and collections. Localization is part of those operations rather than a separate formatting pass.

Use Humanizer at display boundaries: view models, messages, reports, logs intended for people, and other presentation code. Keep stored values and protocol payloads in their typed forms.

Example

The same small console program is compiled and run during documentation validation for every selected version:

Program.cs
using System.Globalization;
using Humanizer;

CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
CultureInfo.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");

var result = TimeSpan.FromMinutes(2).Humanize();
if (result != "2 minutes")
throw new InvalidOperationException($"Unexpected result: {result}");

Console.WriteLine(result);

It prints 2 minutes. The culture is explicit, so the result does not change with the machine running the example.

Choose a path

Documentation and support

The site covers Humanizer 2.10.1 and later. Published releases receive versioned snapshots, and the next-version documentation describes the upcoming Humanizer 4 NuGet package. Documentation availability is not a promise that an older release remains under active maintenance. Use the issue tracker for confirmed bugs and support questions.

Pitfall

Humanized text is presentation output, not a stable serialization format. Do not persist it and later depend on parsing it back: cultures, wording, and formatting options can differ.

Version notes

This canonical page describes the shared surface from Humanizer 2.10.1 onward. Package layout and target frameworks differ by release, so use the version selector before installing or following an API link.