Humanizer for .NETHuman-friendly text for .NET.
Humanize strings, dates, numbers, quantities, enums, and collections with culture-aware .NET APIs.
What’s new in v4Guide coming soon
Install from NuGet
dotnet add package Humanizer| C# input | Readable output | |
|---|---|---|
"PascalCaseInput".Humanize() | "Pascal case input" | |
"person".Pluralize() | "people" | |
42.ToWords(CultureInfo.GetCultureInfo("en")) | "forty-two" | |
"person".ToQuantity(2) | "2 people" |
Start with the value you have
Use the method that says what it does.
Strings
Identifiers, casing, pluralization
.Humanize() .Pluralize() .Singularize()Dates & time
Relative time, durations, ages, clocks
.Humanize() .ToAge() .ToClockNotation()Numbers
Words, ordinals, quantities, byte sizes
.ToWords() .Ordinalize() .Bytes()Application values
Enums, flags, collections
.Humanize() .DehumanizeTo<T>()Language support
Supported means supported.
Humanizer 4 makes one promise: every listed culture supports every applicable localized feature. Missing behavior or English fallback is a bug, not a capability tier.
Version-correct by design
Guides and signatures stay together.
Choose your Humanizer version once. The guides, runnable examples, search results, and generated API reference follow that package.