NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #208 most downloaded on NuGet
A simple and sane data generator for populating objects that supports different locales. A delightful port of the famed faker.js and inspired by FluentValidation. Use Bogus to create UIs with fake data or seed databases. Get started by using Faker class or a DataSet directly.
Last release 11 months ago
26 Oct 2025
Ships unpredictably
gaps range from 2 weeks to 1.7 years
Nearly every release is documented
notes for 60 of the last 60 stable releases
16 versions withdrawn
withdrawn after publishing
127 years old
151 releases · first in 1900
Nothing published for this version
Added f.Random.Guid() for better GUID discoverability.
Release Date: 2018-07-18
f.Random.Guid() for better GUID discoverability.Person.Nif() and Company.Nipc() for Portugal. Thanks JoseJr!PR 159: Add UK National Insurance Number f.Finance.Nino() in Bogus.Extensions.UnitedKingdom. Thanks mortware!
One column per quarter.
Release Date: 2018-07-05
f.Finance.Nino() in Bogus.Extensions.UnitedKingdom. Thanks mortware!DateTimeOffset support added to f.Date dataset. Methods are suffixed by "Offset". IE: f.Date.SoonOffset. Thanks Simon!refDate parameter to f.Date.Soon and f.Date.Recent.f.Date.Between(start, end) now respects DateTimeKind.Utc.PR 153: Possible breaking changes: Minor typo & spelling corrections made to some parameter names. Thanks for the corrections Simon!
Release Date: 2018-06-29
PR 151: Added Bogus.Distributions.Gaussian namespace for numerical Normal Distribution generated values! Thanks codersg!
Release Date: 2018-06-26
Bogus.Distributions.Gaussian namespace for numerical Normal Distribution generated values! Thanks codersg!uniqueSuffix parameter to Internet.Email() to help with unique email constraints.PR 149: Added new Arabic 'ar' locale. Thanks Saied!
Release Date: 2018-06-14
.FullName() for locales where both first/last name have genders. Thanks binarycode!Improved XML documentation comments on Faker[T] API.
Release Date: 2018-05-29
Faker[T] API.PR 144: Argument support for mustache handlebars. Example: {{name.firstname(Male)}}
Release Date: 2018-05-20
{{name.firstname(Male)}}Enum constraints for methods that only accept enums. Example: f.PickRandom<Enum>().Issue 143: Fixed rare case when f.IndexGlobal could be zero twice at start of generation.
Release Date: 2018-05-17
f.IndexGlobal could be zero twice at start of generation.New Company.Ein() to generate employer identification numbers.
Release Date: 2018-04-09
Company.Ein() to generate employer identification numbers.New Internet.Color() format options: CSS rgb(...) and delimited RGB.
Release Date: 2018-04-01
Internet.Color() format options: CSS rgb(...) and delimited RGB.System.AndroidId() to generate GCM registration ID.System.ApplePushToken() to generate a random Apple Push Token.System.BlackBerryPin() to generate a random Black Berry PIN.Randomizer.Hash() to generate random hashes of specified length.Randomizer.String2() to generate random strings with specified character sets.Added Randomizer.String method to generate strings. Uses Chars() method.
Release Date: 2018-03-29
Randomizer.String method to generate strings. Uses Chars() method.DataSet.ParseTokens(). Thanks @danij!Bogus now throws exceptions for locales it doesn't recognize. Improves developer experience.
Release Date: 2018-03-02
.ToBogusLocale() on System.Globalization.CultureInfo to help translate from .NET locale codes to Bogus locale codes.Nothing published for this version
Generate more realistic Bitcoin addresses.
Release Date: 2018-02-27
Faker<T>.GenerateBetween(min, max) that generates N objects between min and max. Located in Bogus.Extensions. N should be considered non-deterministic but technically depends on the parameters each time this extension method was called.Lorem.Paragraphs(min, max) overload.Lorem.Paragraph..ShortCode() renamed to .SortCode() as originally intended.DataSet.Get/.GetObject/BObject methods as protected internal. Reducing API surface noise..OrNull in Bogus.Extensions to help create randomly null values. Example: .RuleFor(x=>x.Prop, f=>f.Random.Word().OrNull(f)).Issue 121: Fixes the inability to .Ignore(...) a property or field after a rule had already been set.
Release Date: 2018-01-05
.Ignore(...) a property or field after a rule had already been set.Issue 120: .Generate(n) now returns List instead of IList .
Release Date: 2017-12-23
.Generate(n) now returns List<T> instead of IList<T>.f.Address.CountryCode() ISO 3166-1 alpha-3 country code generator.Bogus.Extensions.Extras namespace for generally useful helper methods.Finance.CreditCardNumberObfuscated() extension to Bogus.Extensions.Extras namespace.CheckDigit() extensions to Bogus.Extensions.Extras namespace.Allowed Faker .FinishWith to be called multiple times. Last call wins.
Release Date: 2017-12-16
Person.FullName field.Faker<T>.FinishWith to be called multiple times. Last call wins.Release Date: 2017-12-13 * Fixed f.Image URL generation.
Release Date: 2017-12-13
f.Image URL generation.Nothing published for this version
Re-enabled .NET Standard 1.3 targeting.
Gender field to Person. Deterministic sequences may have changed.Randomizer.Bool(weight) to generate weighted boolean values of true.CodiceFiscale() extension method added. Extends Person and Finance.Nothing published for this version
Fixed Issue 102: f.Random.Uuid() is now deterministic based on global or local seed.
Release Date: 2017-11-06
f.Random.Uuid() is now deterministic based on global or local seed.Added Faker .Clone(): Clones internal state of a Faker and allows for complex faking scenarios and rule combinations.
Release Date: 2017-11-04
Faker<T>.Clone(): Clones internal state of a Faker<T> and allows for complex faking scenarios and rule combinations.Faker<T>.UseSeed(n): Allows you to specify a localized seed value on a Faker<T> instead of a global static Randomizer.Seed.Seed determinism for multi-threaded scenarios.Fixed #99: Possible threading issue that can cause System.ArgumentException.
Release Date: 2017-11-01
System.ArgumentException.Release Date: 2017-10-26, UNPUBLISHED FROM NUGET
Release Date: 2017-10-26, UNPUBLISHED FROM NUGET
fr: new street address prefixes.fa: new street addresses.pl: removed 2008 value from city.en: new gender first namesnl_BE locale.ro locale.f.Finance.RoutingNumber - Generates an ABA routing number with valid check digit.Faker.GenerateForever that returns IEnumerable<T> with unlimited generated items when iterated over.f.Finance.ShortCode().f.Company.Bs for a correct gramatics.f.Address.Direction. Generates cardinal or ordinal directions.f.Address.CardinalDirection. Generates "North", "South", etc.f.Address.OrdinalDirection. Generates "Northeast", "Southwest", etc.Issue 86: Removed diacritic mark/accents (á, í, ó, ú, etc) from generated email addresses and user names.
Release Date: 2017-09-14
string.RemoveDiacritics helper method.Fixed bug in Finland's f.Person.Henkilötunnus personal identity code generator that sometimes produced 11 characters.
Release Date: 2017-09-13
f.Person.Henkilötunnus personal identity code generator that sometimes produced 11 characters.f.Finance.Ethereum. Generate an Ethereum address.f.Finance.CreditCardCvv. Generate a random credit card CVV number.f.Finance.CreditCardNumber. Generate a random credit card number.f.Random.Hexadecimal. Generates a random hexadecimal string.f.System.DirectoryPath. Generates a random directory path.f.System.FilePath. Generates a random file path.f.Date.Soon. Generates a date and time that will happen soon.f.Random.ArrayElements. Gets a random subset of an array.f.Random.ListItems. Gets a random subset of a list.f.Company.Cnpj extension method for Brazil. Generates Brazilian company document.f.PhoneNumbers. More realistic US phone numbers.f.Address.Latitude/Longitude with min and max parameters.f.Commerce.Price is now $1.00 (not zero).en_AU - Update Australian postcode ranges.en_IND - Indian postcodes are always numeric.ru - Word corrections.Migration to .NET Standard 2.0.
Release Date: 2017-08-24
With additional overloads for .PickRandom(IList) and .PickRandom(ICollection) we can now add .PickRandom("cat", "dog", "fish") back to the API.
Release Date: 2017-08-24
.PickRandom(IList) and .PickRandom(ICollection) we can now add .PickRandom("cat", "dog", "fish") back to the API.BREAKING CHANGE: Faker.Generate(n) now calls .ToList() under the hood to escape LINQ deferred execution. Remembering to call .ToList() after .Generate…
Release Date: 2017-08-23
Faker.Generate(n) now calls .ToList() under the hood to escape LINQ deferred execution. Remembering to call .ToList() after .Generate(n) was a sticking point for new users writing test assertions on generated values. Please do not call Faker.Generate(n).ToList() as it would execute .ToList() twice. Simply, Faker.Generate(n) is enough.f.Generate and f => f.Make now return IList<T> to signify the breaking change above..GenerateLazy to keep old behavior and returns IEnumerable<T>.PickRandom overload to avoid the compiler from picking wrong PickRandom method.f.PickRandomParam("cat","dog","fish").[Obsolete] methods.Nothing published for this version
Issue #88 - API aesthetics: Added Name.FullName() convenience method to generate a full name.
Release Date: 2017-08-20
Name.FullName() convenience method to generate a full name.PR #87: Added .Rules() method on RuleSet. Thanks @digitalcyote.
Release Date: 2017-08-02
.Rules() method on RuleSet. Thanks @digitalcyote.Add parameter for including Currency fund codes (BOV, CLF, COU, MXV, UYI).
Release Date: 2017-07-28
Currency fund codes (BOV, CLF, COU, MXV, UYI).Person.Email having duplicate names.f.PickRandomWithout(ExcludeItem1, ExcludeItem2) added.f.PickRandom("cat", "dog", "fish") added.Nothing published for this version
Added f => f.Rant to generate random user content like product reviews.
Release Date: 2017-05-06
f => f.Rant to generate random user content like product reviews.new Faker[T].Rules( (f, t) => ...) as a shortcut for building rules quickly.Address.FullAddressInternet.UrlWithPath allowing to create URLs with random paths.ru (Russian locale) hacker adjective, ing-verb, noun, and verb.Internet.Mac address separator parameter.Building with Visual Studio 2017.
Release Date: 2017-04-11
ArgumentException that occurs with derived hidden new properties.PR 64: Improved .PickRandom(IEnumerable) performance. Thanks @chuuddo.
Release Date: 2017-03-27
.PickRandom(IEnumerable) performance. Thanks @chuuddo."string".ClampLength(max,min) extension method to clamp length of strings between min and max.Randomizer.Int(int.MaxValue, int.MinValue) range overflow not returning random int32 values.Compatibility with Newtonsoft.Json v10.0.1
Release Date: 2017-03-20
Newtonsoft.Json v10.0.1Added .RuleFor(x.Item, "foo"). Eliminates ceremony of f => for simple values.
Release Date: 2017-03-14
.RuleFor(x.Item, "foo"). Eliminates ceremony of f => for simple values.Added range option to Sentence.
Release Date: 2017-03-13
Sentence.New Feature: Allow implicit and explicit type casts: Order o = orderFaker and var o = (Order)orderFaker without having to call orderFaker.Generate().
Release Date: 2017-02-23
Order o = orderFaker and var o = (Order)orderFaker without having to call orderFaker.Generate().Added IndexGlobal alias for UniqueIndex.
Release Date: 2017-02-21
IndexGlobal alias for UniqueIndex.IndexFaker for uniqueness in Faker[T] lifetime.IndexVariable a developer controlled index convenience variable.Database dataset to f => f.Database facade.UniqueIndex.Internet.Avatars that returned 404.faker.js v4.1.0.Internet.UserAgent - Generates browser user agent strings.
Release Date: 2017-02-18
Internet.UserAgent - Generates browser user agent strings.Internet.Password - Generates user passwords using regex.az/Azerbaijani locale./ character in System.FileName.Helpers.Slugify properly replaces spaces with - dashes.Lorem.Slug slugs some lorem text.Finance.Iban - Generates International Bank Account Numbers (IBAN).Finance.Bic - Generates Bank Identifier Code (BIC) codes.Random.WeightedRandom - Returns a weighted random distribution of items.https:// in random images.Images.DataUri - Generates "data:image/svg" URI with width and height.Database data set for generating column, collation, type stuff.Bug: Issue 54: Work around for Visual Studio IntelliSense.
Release Date: 2017-01-19
New Feature: Bogus is now a signed assembly; PublicToken: fa1bb3f3f218129a
Release Date: 2017-01-18
New Feature: Added PickRandom(IEnumerable) overload. Thanks joleharkes.
Release Date: 2017-01-16
PickRandom(IEnumerable) overload. Thanks joleharkes.New Feature: RuleForType(typeof(string)) allows bulk/default for a particular type on a class. Useful for very large classes with a specific type.
Release Date: 2016-12-20
RuleForType(typeof(string)) allows bulk/default for a particular type on a class. Useful for very large classes with a specific type.Issue 46. Fixed threading deadlock situation with static faker initialization. Thanks Mpdreamz.
Release Date: 2016-12-07
f => f.Generate(count, ()=> f.Phone.PhoneNumber()) helper for better fluency when filling properties with List of T.Added pt_PT Portuguese (Portugal) locale.
Release Date: 2016-11-25
pt_PT Portuguese (Portugal) locale.Nothing published for this version
Faker .AssertConfigurationIsValid to help in unit testing scenarios.
Release Date: 2016-10-11
Faker<T>.AssertConfigurationIsValid to help in unit testing scenarios.Internet.Ipv6 method to generate IPv6 addresses.Added f => f.Commerce on Faker.
Release Date: 2016-08-07
f => f.Commerce on Faker.Updated en, nl, pl, sk, sv locales.
Release Date: 2016-07-27
cz/Czech localeen, nl, pl, sk, sv locales.Randomizer.AlphaNumeric added.Randomizer.Double now accepts (min,max) argumentsRandomizer for random Decimal, Float, Byte, Bytes, SByte, Int, UInt, ULong, Long, Short, UShort, Char and Chars.Newtonsoft Json 9.0.1 dependency support.
Release Date: 2016-07-06
:boom: .NET Core 1.0 RTM Support.
Release Date: 2016-06-27
Nothing published for this version
Roll-up Release for .NET Framework since last non-beta release.
Release Date: 2016-05-16
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →