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
PR 622: Adds music and vehicle faker classes to parse method and unit tests. Thanks Perks-of-Being-a-Cauliflower!
Release Date: 2025-10-25
Release Date: 2025-09-25
Release Date: 2025-04-12
Internet.Avatar() URL generation. Moves from Cloudflare IPFS to IPFS.io.BelgianExtensionTests.Release Date: 2025-02-20
Randomizer.ULong() arithmetic overflow. Thanks @reuterma24!Release Date: 2024-09-02
Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
One column per quarter.
PR 614: Adds Extension Method to generate Iranian National Numbers. THanks @amirh-p!
Release Date: 2025-09-25
Release Date: 2025-04-12
Internet.Avatar() URL generation. Moves from Cloudflare IPFS to IPFS.io.BelgianExtensionTests.Release Date: 2025-02-20
Randomizer.ULong() arithmetic overflow. Thanks @reuterma24!Release Date: 2024-09-02
Release Date: 2024-04-27
Images.LoremPixelUrl() is removed. Thanks @marijnz0r!Bogus.Extensions.Belgium extension methods below. Thanks @vyruz1986!f.Person.NationalNumber() - Rijksregisternummer / Numéro NationaleFull History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
Issue 601: Fixes Internet.Avatar() URL generation. Moves from Cloudflare IPFS to IPFS.io.
Release Date: 2025-04-12
Internet.Avatar() URL generation. Moves from Cloudflare IPFS to IPFS.io.BelgianExtensionTests.Release Date: 2025-02-20
Randomizer.ULong() arithmetic overflow. Thanks @reuterma24!Release Date: 2024-09-02
Release Date: 2024-04-27
Images.LoremPixelUrl() is removed. Thanks @marijnz0r!Bogus.Extensions.Belgium extension methods below. Thanks @vyruz1986!f.Person.NationalNumber() - Rijksregisternummer / Numéro NationaleRelease Date: 2024-04-27
Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 584: Pack LICENSE file with NuGet package. Also, use ProjectIcon.
Release Date: 2025-02-20
Randomizer.ULong() arithmetic overflow. Thanks @reuterma24!Release Date: 2024-09-02
Release Date: 2024-04-27
Images.LoremPixelUrl() is removed. Thanks @marijnz0r!Bogus.Extensions.Belgium extension methods below. Thanks @vyruz1986!f.Person.NationalNumber() - Rijksregisternummer / Numéro NationaleRelease Date: 2024-04-27
Release Date: 2024-03-09
Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 560: Ensure Belgian National Numbers has padded checksum. Thanks @vyruz1986!
Release Date: 2024-09-02
Release Date: 2024-04-27
Images.LoremPixelUrl() is removed. Thanks @marijnz0r!Bogus.Extensions.Belgium extension methods below. Thanks @vyruz1986!f.Person.NationalNumber() - Rijksregisternummer / Numéro NationaleRelease Date: 2024-04-27
Release Date: 2024-03-09
Release Date: 2024-03-02
Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 556: Remove obsolete/non-working LoremPixel image service. Images.LoremPixelUrl() is removed. Thanks @marijnz0r!
Release Date: 2024-04-27
Images.LoremPixelUrl() is removed. Thanks @marijnz0r!Bogus.Extensions.Belgium extension methods below. Thanks @vyruz1986!f.Person.NationalNumber() - Rijksregisternummer / Numéro NationaleRelease Date: 2024-04-27
Release Date: 2024-03-09
Release Date: 2024-03-02
Release Date: 2024-01-14
Bogus.Extensions.Poland extension methods below. Thanks Mik1mak!f.Person.Pesel() - Number of Powszechny Elektroniczny System Ewidencji Ludności (PESEL)f.Company.Nip() - Numer identyfikacji podatkowej (NIP)f.Company.Regon() - Number of Rejestr Gospodarki Narodowej (REGON)f.Person.Samordningsnummer() extension method in Bogus.Extensions.Sweden. Swedish coordination number. Thanks aschan!Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 538: Fixes Invalid Costa Rica IBAN format. Thanks @dangerman!
Release Date: 2024-04-27
Release Date: 2024-03-09
Release Date: 2024-03-02
Release Date: 2024-01-14
Bogus.Extensions.Poland extension methods below. Thanks Mik1mak!f.Person.Pesel() - Number of Powszechny Elektroniczny System Ewidencji Ludności (PESEL)f.Company.Nip() - Numer identyfikacji podatkowej (NIP)f.Company.Regon() - Number of Rejestr Gospodarki Narodowej (REGON)f.Person.Samordningsnummer() extension method in Bogus.Extensions.Sweden. Swedish coordination number. Thanks aschan!Release Date: 2024-01-13
f.Person.Cnp() extension method in Bogus.Extensions.Romania. Generates Romanian Personal Identification number (CNP). Thanks totpero!Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 500: Allows locally set time references for Date calculations instead of global statics. See Faker[T].UseDateTimeReference(), Faker.DateTimeReferen
Release Date: 2024-03-09
Release Date: 2024-03-02
Release Date: 2024-01-14
Bogus.Extensions.Poland extension methods below. Thanks Mik1mak!f.Person.Pesel() - Number of Powszechny Elektroniczny System Ewidencji Ludności (PESEL)f.Company.Nip() - Numer identyfikacji podatkowej (NIP)f.Company.Regon() - Number of Rejestr Gospodarki Narodowej (REGON)f.Person.Samordningsnummer() extension method in Bogus.Extensions.Sweden. Swedish coordination number. Thanks aschan!Release Date: 2024-01-13
f.Person.Cnp() extension method in Bogus.Extensions.Romania. Generates Romanian Personal Identification number (CNP). Thanks totpero!Release Date: 2024-01-12
f.Finance.VatNumber() extension method in Bogus.Extensions.UnitedKingdom. Generates a UK compatible VAT registration number. Thanks p1971!Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 529: XML Docs: Add inclusive / exclusive number ranges documentation for Randomizer. Thanks @Mitchman215!
Release Date: 2024-03-02
Release Date: 2024-01-14
Bogus.Extensions.Poland extension methods below. Thanks Mik1mak!f.Person.Pesel() - Number of Powszechny Elektroniczny System Ewidencji Ludności (PESEL)f.Company.Nip() - Numer identyfikacji podatkowej (NIP)f.Company.Regon() - Number of Rejestr Gospodarki Narodowej (REGON)f.Person.Samordningsnummer() extension method in Bogus.Extensions.Sweden. Swedish coordination number. Thanks aschan!Release Date: 2024-01-13
f.Person.Cnp() extension method in Bogus.Extensions.Romania. Generates Romanian Personal Identification number (CNP). Thanks totpero!Release Date: 2024-01-12
f.Finance.VatNumber() extension method in Bogus.Extensions.UnitedKingdom. Generates a UK compatible VAT registration number. Thanks p1971!Release Date: 2024-01-01
Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 488: Added Bogus.Extensions.Poland extension methods below. Thanks Mik1mak!
Release Date: 2024-01-14
Bogus.Extensions.Poland extension methods below. Thanks Mik1mak!f.Person.Pesel() - Number of Powszechny Elektroniczny System Ewidencji Ludności (PESEL)f.Company.Nip() - Numer identyfikacji podatkowej (NIP)f.Company.Regon() - Number of Rejestr Gospodarki Narodowej (REGON)f.Person.Samordningsnummer() extension method in Bogus.Extensions.Sweden. Swedish coordination number. Thanks aschan!Release Date: 2024-01-13
f.Person.Cnp() extension method in Bogus.Extensions.Romania. Generates Romanian Personal Identification number (CNP). Thanks totpero!Release Date: 2024-01-12
f.Finance.VatNumber() extension method in Bogus.Extensions.UnitedKingdom. Generates a UK compatible VAT registration number. Thanks p1971!Release Date: 2024-01-01
Release Date: 2023-12-26
Full History Here: https://github.com/bchavez/Bogus/blob/master/HISTORY.md
PR 466: Added f.Person.Cnp() extension method in Bogus.Extensions.Romania. Generates Romanian Personal Identification number (CNP). Thanks totpero!
Release Date: 2024-01-13
f.Person.Cnp() extension method in Bogus.Extensions.Romania. Generates Romanian Personal Identification number (CNP). Thanks totpero!PR 510: Added f.Finance.VatNumber() extension method in Bogus.Extensions.UnitedKingdom. Generates a UK compatible VAT registration number. Thanks p197
Release Date: 2024-01-12
f.Finance.VatNumber() extension method in Bogus.Extensions.UnitedKingdom. Generates a UK compatible VAT registration number. Thanks p1971!PR 496: Improves Denmark CPR number generator with checksum validation. Thanks @MunroRaymaker and @NielsPilgaard!
Release Date: 2024-01-01
Issue 497: PR 522 - Better Xamarin AOT compatibility. Renames/removes diacritics from API method names Finland: Henkilötunnus -> Henkilotunnus; Norway
Release Date: 2023-12-26
PR 513: Update Swedish sv locale; first/last names. Thanks @EBD232!
Release Date: 2023-12-11
sv locale; first/last names. Thanks @EBD232!PR 406, 415: Improve XML documentation. Thanks @danielwagn3r, @DanteDeRuwe
Release Date: 2022-03-27
Randomizer.localSeed to protected. Thanks @davermaltbyPR 399: Add support for .NET 6 DateOnly and TimeOnly random generations in Faker.Date. Thanks @prasadtelkikar!
Release Date: 2021-11-22
PR 390: Default Binder changed to allow use of private property setters in base classes. Thanks @thomaslevesque!
Release Date: 2021-08-29
PR 359: Add Bogus.Person.Personnummer() Swedish national identity number
Release Date: 2021-02-21
Bogus.Person.Personnummer() Swedish national identity numberLocale data parity with faker-js@5478d65.
Release Date: 2021-02-07
nep locale renamed to ne.de locale; Date dataset changed.es locale; gender names added.fr locale; Date dataset changed.nb_NO locale; gender names added.nl locale; Address, Commerce, Date, Hacker, Internet datasets changed; gender names added.pt_BR locale; gender names added.tr locale; gender names added.vi locale; gender names added. Date, Lorem, datasets changed.Internet.Port(); generate port numbers from 1 to 65535.Minor improvements to XML docs.
Release Date: 2021-01-31
Issue 342: Use realistic pt_BR city names.
Release Date: 2020-12-12
pt_BR city names.Issue 336: Fixed Internet.Avatar() 403 Forbidden URLs. AWS S3 bucket hosting uifaces.com avatars was disabled. Avatars are now decentrally hosted on I
Release Date: 2020-11-28
Internet.Avatar() 403 Forbidden URLs. AWS S3 bucket hosting uifaces.com avatars was disabled. Avatars are now decentrally hosted on IPFS globally and retrieved from Cloudflare's IPFS gateway.Issue 328, 327: Fixed pt_BR locale where Address.City() threw ArgumentOutOfRangeException.
Release Date: 2020-10-03
pt_BR locale where Address.City() threw ArgumentOutOfRangeException.Release Date: 2020-09-13, UNPUBLISHED FROM NUGET
Release Date: 2020-09-13, UNPUBLISHED FROM NUGET
DataSet.Get(category, path) overload.Release Date: 2020-09-13, UNPUBLISHED FROM NUGET
Release Date: 2020-09-13, UNPUBLISHED FROM NUGET
Music dataset with .Genre() method.Date.TimeZoneString().fi locale.hr locale.cz locale updated.en locale updated.en_IE locale updated.en_IND locale updated.fa locale updated.fr locale updated.ja locale updated.pl locale updated.pt_BR locale updated.ru locale updated.sv locale updated.vi locale updated.zh_CN locale updated.Issue 319: The Random.Decimal() implementation reverted to previous v29 implementation. Avoids arithmetic OverflowException when calling Random.Decima
Release Date: 2020-08-15
Random.Decimal() implementation reverted to previous v29 implementation. Avoids arithmetic OverflowException when calling Random.Decimal(0, decimal.MaxValue). The v30 implementation moved to Bogus.Extensions namespace as Random.Decimal2() which can generate more decimal precision.Release Date: 2020-08-13, UNPUBLISHED FROM NUGET
Release Date: 2020-08-13, UNPUBLISHED FROM NUGET
f.Address.CountryOfUnitedKingdom() extension method in Bogus.Extensions.UnitedKingdom.Release Date: 2020-08-05, UNPUBLISHED FROM NUGET
Release Date: 2020-08-05, UNPUBLISHED FROM NUGET
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Minor update to ru locale data. Two ru city names could appear as one.
Release Date: 2020-04-11
ru locale data. Two ru city names could appear as one.Data parity with faker.js. Deterministic sequences using Internet.Avatar() may have changed.
Release Date: 2020-02-10
Internet.Avatar() may have changed..OrNull(f) extension method signatures for type-safe with nullable primitive types, structs, and reference types via in parameter to avoid ambiguous calls.PR 272: Add extension method for generating Norwegian national identity numbers. Person.Fødselsnummer(). Thanks @mika-s!
Release Date: 2019-12-10
Person.Fødselsnummer(). Thanks @mika-s!Issue 271: Minor bug fix in Brazil Person.Cpf() extension method. Previously, only the first call to Person.Cpf(includeFormatSymbols) respected the in
Release Date: 2019-12-03
Person.Cpf() extension method. Previously, only the first call to Person.Cpf(includeFormatSymbols) respected the includeFormatSymbols parameter due to the final result being saved in Person context. Person.Cpf() now respects the includeFormatSymbols parameter after subsequent repeat calls to Cpf() with the same Person. Thanks for testing @ArthNRick!PR 269: Adds includeFormatSymbols parameter to include or exclude formatting characters for Brazil Person.Cpf() and Company.Cnpj() extension methods.
Release Date: 2019-11-30
includeFormatSymbols parameter to include or exclude formatting characters for Brazil Person.Cpf() and Company.Cnpj() extension methods.Issue 260: Improved social security number (SSN) generation that should pass basic validation by avoiding invalid SSN ranges. Note: Deterministic SSNs
Release Date: 2019-10-14
Person.Ssn() will change.Internet.Ip() now avoids generating IP addresses with a leading zero. For example, Bogus will not generate an IP address with a leading zero like 0.1.2.3. Note: Deterministic IPs generated with Internet.Ip() will change.Internet.IpAddress(), Internet.Ipv6Address(), Internet.IpEndPoint(), and Internet.Ipv6EndPoint().Internet.UrlRootedPath() to generate random /foo/bar paths.Internet.UrlWithPath(fileExt:".txt") fileExt extension parameter to generate URLs with a specific file extension.PR 259: Fixes .GenerateForever(ruleset) to use ruleset parameter when supplied as argument. Thanks @StanleyGoldman!
Release Date: 2019-10-04
.GenerateForever(ruleset) to use ruleset parameter when supplied as argument. Thanks @StanleyGoldman!Issue 255 / PR 256: Allows interfaces with Faker using Faker .CustomInstantiator(f => new Foo()). Thanks Rowland!
Release Date: 2019-09-20
Faker<T> using Faker<IFoo>.CustomInstantiator(f => new Foo()). Thanks Rowland!Added Faker .RuleFor(string, (f, t) => ) overload.
Release Date: 2019-09-10
Faker<T>.RuleFor(string, (f, t) => ) overload..RuleFor overload logic. Simplified overload call chain.Faker<T>.RuleForInternal() renamed to Faker<T>.AddRule()Issue 253, PR 254: New rule overload for Faker .RuleFor('string',...). Helps cases that require rules for protected or hidden members of T.
Release Date: 2019-09-09
Faker<T>.RuleFor('string',...). Helps cases that require rules for protected or hidden members of T.Issue 249: Fixed Internet.Url() including spaces in domain names for pt_BR locale or any locale with compound first names that may contain spaces. Tha
Release Date: 2019-08-28
Internet.Url() including spaces in domain names for pt_BR locale or any locale with compound first names that may contain spaces. Thanks RodrigoRodriguesX10!DataSets.System. Better XML docs and lower array allocations. Thanks bartdebever!DataSets.Lorem. Thanks bartdebever!PR 235: Added Bogus.DataSets.Vehicle.GbRegistrationPlate() in Bogus.Extensions.UnitedKingdom extension namespace to generate GB registration plates. T
Release Date: 2019-07-07
Bogus.DataSets.Vehicle.GbRegistrationPlate() in Bogus.Extensions.UnitedKingdom extension namespace to generate GB registration plates. Thanks @colinangusmackay.BREAKING: Deterministic sequence values may have changed for fake email addresses derived from Internet.Email() or Internet.UserName() in locales othe
Release Date: 2019-07-02
Internet.Email() or Internet.UserName() in locales other than en.Finance.Iban(countryCode) ISO3166 country code parameter. Allows generating IBAN codes for specific countries. The country code must be a supported otherwise an exception is thrown.Internet.Email() and Internet.UserName() are more respectful of specified locale using character transliteration..Transliterate() string extension method in Bogus.Extensions namespace.Internet.UserNameUnicode() that preserves Unicode characters in user names.Utils.Slugify using compiled Regex..OrNull[T]() where T : struct overload which makes it easier to work with nullable types without type casting.defaultValue parameter to .OrDefault(f, weight, defaultValue) that can default to a different value than the default keyword.Issue 218: Fixed bug that prevented global static Faker.DefaultStrictMode from working.
Release Date: 2019-05-02
Faker.DefaultStrictMode from working.Randomizer.Utf16String that generates technically valid Unicode with paired high/low surrogates.placeholder.com image service.New Person(seed) constructor for seeding person objects by integer. Thanks @sgoguen!
Release Date: 2019-03-22
Person(seed) constructor for seeding person objects by integer. Thanks @sgoguen!Person.DateOfBirth not using Date.SystemClock as 'now' reference.Data and feature parity with faker.js @ d3ce6f1
Release Date: 2019-02-26
Vehicle data set added.en_IND state abbreviations and state names updated.en_CA, fr_CA improved Canadian postal codes.pt_PT locale updated with new and changed data.en company names updated.pt_PT locale updated.Date.Weekday and Date.Month that could cause locale weekday/month values to default to en.PR 194: Update Dutch nl locale with extra name.first_name, address.street_suffix, and company.suffix.
Release Date: 2019-01-17
nl locale with extra name.first_name, address.street_suffix, and company.suffix.Added f.Images.LoremFlickrUrl() (https://loremflickr.com) image service.
Release Date: 2019-01-06
f.Images.LoremFlickrUrl() (https://loremflickr.com) image service.Issue 192: Fixed IndexOutOfRangeException when Company.CompanyName() is used with az locale.
Release Date: 2018-12-11
Company.CompanyName() is used with az locale.Add SourceLink compatibility with Visual Studio 2017.
Release Date: 2018-11-27
Image categories. The image service is usually down or very slow. Consider using Images.PicsumUrl() as a replacement. This version is an obsolete-warn, next release will have Image category APIs removed.tr - Turkish locale first/last names updated. Lorem data set updated. Thanks ahmetcanaydemir!
Release Date: 2018-11-03
tr - Turkish locale first/last names updated. Lorem data set updated. Thanks ahmetcanaydemir!f.Image.PicsumUrl (https://picsum.photos) service as faster alternative to Lorem Pixel.Data / feature parity with faker.js @ 9dd5a52
Release Date: 2018-10-02
af_ZA - New South Africa (Afrikaans) locale added.zu_ZA - New South Africa (Zulu) locale added.en_ZA - South Africa (English) locale updatedru - Russian locale updated.id_ID - Indonesia locale updated.es - Spanish locale updated.f.Images.DatUri now accepts an HTML color parameter..ToLower causing invalid JSON dataset path .ToLowerInvariant now used.Issue 179: Fixed regression introduced in 23.0.3 that forbid setting of internal/non-public members of T in when Faker is used.
Release Date: 2018-09-27
T in when Faker<T> is used.Release Date: 2018-09-26, UNPUBLISHED FROM NUGET
Release Date: 2018-09-26, UNPUBLISHED FROM NUGET
nullWeight parameter to .OrNull() extension method for weighted generation of null values..OrDefault() extension method. Thanks @anorborg!Release Date: 2018-09-26, UNPUBLISHED FROM NUGET
Release Date: 2018-09-26, UNPUBLISHED FROM NUGET
en_ZA - South Africa (English) locale added.fr_CH - French (Switzerland) locale added.pl locale "phone numbers" updated.sv locale "names" section updated.en, de, de_AT "names" section updated.f.Commerce.Ean8 EAN-8 product barcode number generator.f.Commerce.Ean13 EAN-13 product barcode number generator.Release Date: 2018-08-29, UNPUBLISHED FROM NUGET
Release Date: 2018-08-29, UNPUBLISHED FROM NUGET
Faker[T].Generate() with setter cache. Approx 1.7x speedup. Thanks Mpdreamz!BREAKING CHANGE: Deterministic sequence values may have changed. Unit tests expecting specific values may be different if Bogus.Person is used.
Release Date: 2018-08-13
Bogus.Person is used.Bogus.Person.Address.State field.Date.SystemClock static property for setting global time Bogus uses for date calculations.Date.Weekday() should return a weekday not a month.Your coding agent can read these notes before it upgrades. Set up the MCP server →