NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #398 most downloaded on PyPI
Faker is a Python package that generates fake data for you.
Last release 15 days ago
14 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
16 years old
506 releases · first in 2010
Add automotive provider for tr_TR. Thanks @molcay.
tr_TR. Thanks @molcay.Add province list and add 2 new district to ne_NP. Thanks @iamsauravsharma.
ne_NP. Thanks @iamsauravsharma.One column per quarter.
Add Currency provider for sv_SE. Thanks @frangiz.
sv_SE. Thanks @frangiz.Add pt_PT credit card provider. Thanks @rubenandre.
pt_PT credit card provider. Thanks @rubenandre.Added Company Provider for tr_TR locale. Thanks @iamnotagentleman.
tr_TR locale. Thanks @iamnotagentleman.Add job providers for tr_TR. Thanks @molcay.
tr_TR. Thanks @molcay.Implement color provider for sk_SK locale. Thanks @pipozzz.
sk_SK locale. Thanks @pipozzz.Fix hu_HU color provider inheritance. Thanks @n1ngu.
hu_HU color provider inheritance. Thanks @n1ngu.Bigger zipcode ranges for VA, TX and MD in en_US. Thanks @Antetokounpo.
en_US. Thanks @Antetokounpo.Add new style pt_PT automotive plates. Thanks @gplgps.
pt_PT automotive plates. Thanks @gplgps.Remove duplicate jobs from the pt_PT provider (#1282). Thanks @gplgps.
pt_PT provider (#1282). Thanks @gplgps.Use "Belarus" instead of "Vitryssland" for sv_SE. Thanks @Majsvaffla.
sv_SE. Thanks @Majsvaffla.tr_TR locale. Thanks @iamnotagentleman.Add es_ES autonomous communities (Spanish regions). Thanks @mondeja.
es_ES autonomous communities (Spanish regions). Thanks @mondeja.zh_CN ssn provider to support gender. Thanks @mapoor.de_DE job provider. Thanks @datadominik.or_IN Odia person's name added. Thanks @soumendrak.datetime_safe shim subclass in favor of native Python datetime.datetime. Thanks @samcrang.Extend Person Provider to support non-binary suffixes and prefixes. Thank you @crd.
safe_domain_name generator. Thanks @crd.pyfloat interaction. Thanks @coiax.bban_format for fi_FI locale. Thanks @ALMP-SallaH.person.ja_JP kana and roman characters. Thanks @yameholo.json and fixed_width generators. Thank you @johnbrandborg.swift, swift8 and swift11. Thanks @malefice.es_ES internet provider. Thanks @mondeja.bban_format for fr_FR locale. Thanks @r3gis3r.fr_FR job provider. Thanks @mondeja.es_ES barcode provider. Thanks @mondeja.Add date_time providers for cs_CZ, de_AT, es_ES, it_IT, sk_SK, tr_TR. Thanks @eumiro.
date_time providers for cs_CZ, de_AT, es_ES, it_IT, sk_SK,
tr_TR. Thanks @eumiro.hy_AM provider. Thanks @mdantonio.en_GB. Thanks @craiga.language_name generator. Thanks @ikhomutov and @mondeja.pytimezone generator returning tzinfo objects. Thanks @OJFord.es_ES currency provider. Thanks @mondeja.Add pytest plugin. Thanks @malefice.
pytest plugin. Thanks @malefice.es_ES. Thanks @pablofm.uuid provider to return a uuid4 object when cast_to is set to None. Thanks @rodrigondec.es_ES person provider. Thanks @mondeja.sk_SK birth_number. Thanks @eumiro.day_of_week and month_name for de_DE provider. Thanks @eumiro.Fixed MSISDN for pt_BR to return only mobile numbers. Thanks @rodrigondec.
MSISDN for pt_BR to return only mobile numbers. Thanks @rodrigondec.pydict provider was not returning the correct number of elements. Thanks @mstellon.company_vat for it_IT. Thanks @alitaker.es_ES license plates. Thanks @mondeja.__dir__ method to Faker proxy for better autocompletion. Thanks @douglasfarinelli.es_ES locale. Thanks @mondeja.no_NO license plates. Thanks @bjorskog.value_types a keyword argument in python provider. Thanks @slafs.Add more data for ko_KR address provider. Thanks @alstn2468.
ko_KR address provider. Thanks @alstn2468.pt_PT locale for address and bank. Thanks @mustakarhu.port_number method to internet provider. Thanks @pishchalnikov.fa_IR locale. Thanks @abtinmo.pt_BR postcodes. Thanks @perssonsimon1 and @klaraesr.country_calling_code to phone_number provider. Thanks @perssonsimon1.AutomotiveProvider for fr_FR locale. Thanks @clarissedescamps and @perssonsimon1.cellphone_formats in pt_BR PhoneNumberProvider. Thanks @rodrigondec.Provider improvements for Russian locale:
Provider improvements for Russian locale:
Thanks @valestel.
Add Birth Number to czech locale. Thanks @Jengah.
Add persons provider for fr_QC. Thanks @Lionesk.
Breaking change: Remove support for end-of-life Python 2.7.
NOTE: This is the last release to support Python 2.7.x.
NOTE: This is the last release to support Python 2.7.x.
zip and tar for generating zip and tar files.
Thanks @malefice.en-CA postcode_in_province() method. Thanks @oeuftete.csv, tsv, psv and generic
dsv. Thanks @malefice.de_DE address provider. Thanks
@jerr0328.NIP generator in pl_PL. Thanks @IlfirinPL.Faker.random_number intermittent exceptions. Thanks @Jengah.Breaking change: Add support for multiple locale data generation. Thanks @malefice.
Add Iranian credit card. Thanks @abtinmo.
pt_PT. Thanks @tng10.Fix master card number generator. Thanks @nkthanh98.
person/de_AT. Thanks @Jayday.de_AT and it_IT person providers. Thanks @Jayday.ta_IN support. Thanks @jcopps.*_PH locales. Thanks @malefice.ja_JP. Thanks @shmokmt.en_GB. Thanks @Necrathex.fa_IR locale. Thanks @abtinmo.Use the provider's RNG instead of the random module in invalid_ssn. Thanks @luser.
invalid_ssn. Thanks @luser.randomize_nb_elements max argument. Thanks @jorrit-wehelp.de_DE jobs. Thanks @CodeAndChoke.pt_PT automotive plates. Thanks @rubenandre.el_GR jobs. Thanks @athaks.el_GR. Thanks @athaks.pt_PT. Thanks @rubenandre.Fix typos, misspellings. Add locations, names, dates in hi_IN providers. Thanks @kathawala.
hi_IN providers. Thanks @kathawala.text-unidecode to 1.3. Thanks @moggers87.pyfloat going over max_value. Thanks @fgs-dbudwin.Add nationalities for locale pt_PT. Thanks @tng10.
pt_PT. Thanks @tng10.ios() and android() to user_agent provider. Thanks @gsilvan.zh_CN provinces. Thanks @casen27.Breaking change: Only allow providers to use OrderedDict s, to avoid any more PYTHONHASHSEED problems. Thanks @adamchainz.
OrderedDict s, to avoid any more PYTHONHASHSEED problems. Thanks @adamchainz.Rename pyint min and max to min_value and max_value. Thanks @francoisfreitag.
pyint min and max to min_value and max_value.
Thanks @francoisfreitag.validators. Thanks @kingbuzzman.en_US SSN Provider.
Thanks @darrylwhiting.pr_BR address Provider.
Thanks @G5Olivieri.freezegun and random2.
Thanks @timokau.es_MX. Thanks @mrfunnyshoes.pwz generator for pl_PL. Thanks @torm89.date_of_birth and sex argument to pesel Provider (pl_PL).
Thanks @torm89.Remove dead url from image_placeholder_services. Thanks @Monstrofil.
image_placeholder_services. Thanks @Monstrofil.first_names in Romanian person provider. Thanks @xlotlu.texts to generate list of texts. Thanks @pishchalnikov.pl_PL automotive and Polish pesel number.
Thanks @adwojak.pyfloat. Thanks @ariksu.Add missing commas to company/nl_NL provider. Thanks @francoisfreitag.
pyint. Thanks @francoisfreitag.random_int(). Thanks @francoisfreitag.Add min and max values for pyfloat and pydecimal. Thanks @Lrcezimbra.
pyfloat and pydecimal. Thanks @Lrcezimbra.months and M to the syntax for start_date and end_date.
Thanks @anneclairebrld.PyInstaller. Thanks @arossert.+33 8x.
Thanks @stephane.hy_AM. Thanks @hovikman.1.0.4 - 12-March-2019 <https://github.com/joke2k/faker/compare/v1.0.3...v1.0.4>_
Nothing published for this version
Fix AttributeError in user_Agent provider. Thanks @Mattwmaster58 for the report.
AttributeError in user_Agent provider. Thanks @Mattwmaster58 for
the report.zh_TW person provider. Thanks @TimeFinger.street_prefixes from id_ID address provider.
Thanks @codenoid.date_time provider. Thanks @riconnon for
the report.formats_male and formats_female for de_DE
provider. Thanks @petro-zdebskyi.more-itertools to a version compatible with Python 2.7.
Thanks @canarduck.fr_FR postcodes_format. Thanks @canarduck.yellowgreen color. Thanks @hovikman.Fix state abbreviations for id_ID to be 2-letters. Thanks @dt-ap.
id_ID to be 2-letters. Thanks @dt-ap.city_with_postcode on de_DE locale. Thanks @TZanke.person providers for zh_CN. Thanks @TimeFinger.zipcode_in_state and aliases in en_US locale for generating
a zipcode for a specified state. Thanks @mattyg.zh_CN provider. Thanks @TimeFinger.Fix number of digits in phone_number provider for no_NO. Thanks @aleksanb.
phone_number provider for no_NO.
Thanks @aleksanb.jp_JP company provider. Thanks @shirakia.ru_RU phone numbers. thanks @pishchalnikov.Breaking change: latlng, latitude and longitude no longer return coordinates that are close the locale's country. Use the local_latlng, local_latitude…
latlng, latitude and longitude no longer return
coordinates that are close the locale's country. Use the local_latlng,
local_latitude and local_longitude instead.location_on_land provider. Thanks @shacker.Add cellphone_number method for pt_BR. Thanks @Newman101.
cellphone_number method for pt_BR. Thanks @Newman101.image_url. Thanks @tsiaGeorge.th_TH. Thanks @mesodiar.th_TH. Thanks @zkan.pl_PL locale. Thanks @andrzej3393.pl_PL locale. Thanks @andrzej3393.de_DE provider. Thanks @Newman101.vat_id to ssn providers for bg_BG, cs_CZ, de_AT,
de_CH, de_de, dk_DK, el_CY, el_GR, en_GB, en_IE,
es_ES, et_EE, fi_FI, fr_CH, fr_FR, hr_HR, hu_HU,
it_IT, lb_LU, lt_LT, lv_LV, mt_MT, nl_BE, nl_NL,
no_NO, pl_PL, pt_PT, ro_RO, sk_SK, sl_SI and
sv_SE. Thanks @mastacheata.postcode and city_with_postcode for cs_CZ. Thanks @Newman101.postcode and city_with_postcode for de_AT. Thanks @Newman101.license_plate for ru_RU. Thanks @codaver.en_US. Thanks @stephenross.bs_BA. Thanks @elahmo.hostname provider. Thanks @ediblesushi.sv_SE. Thanks @vilhelmmelkstam.uuid4 to return a UUID object. Thanks @ediblesushi.Add company names to pl_PL provider. Thanks @@twkrol.
pl_PL provider. Thanks @@twkrol.pt_BR. Thanks @clarmso.cs_CZ provider.
Thanks @clarmso.cn top level domain.
Thanks @clarmso.fr_FR localization to lorem provider. Thanks @tristandeborde.flake8 to the CI. Thanks @andrzej3393.Fix missing and misplaced comma's in many providers. Thanks @153957.
ipaddress module.
Thanks @maticomp.en_NZ provider for addresses, phone numbers and email addresses.
Thanks @doctorlard.unique argument to words() for returning unique words.
Thanks @micahstrube.state_abbr() for en_US
provider. Thanks @micahstrube..random_sample() now returns a list of unique elements instead of a set.
.random_sample() now returns a list of unique elements instead of a set..random_sample_unique() is removed in favor of .random_sample().random_choices(), random_elements() and random_letters().faker.utils.distribution.choices_distribution_unique().words(), password(), uri_path and pystr() now use the new the
random_choices() method.Change blood group from 0 (zero) to O (capital letter O). Some locales do use 'zero', but O is more common and it is the medical standard. Thanks @moh
0 (zero) to O (capital letter O). Some
locales do use 'zero', but O is more common and it is the medical
standard. Thanks @mohi7solanki.postcode in address providers. Now all locales are
guaranteed to have a postcode method and may have a localized alias for
it (eg: zipcode). Thanks @straz for the report.pt_BR Person perovider. Thanks @Nichlas.date_of_birth. Thanks @Kelledin.Add ein, itin and refactored ssn Provider for en_US. Thanks @crd.
ein, itin and refactored ssn Provider for en_US.
Thanks @crd.job provider for zh_CN. Thanks @ramwin.date_of_birth provider. Thanks @cdr.country-code provider. Thanks @cdr.Fix test for CPF (Brazilian SSN). Thanks Rubens Takiguti Ribeiro.
start_datetime argument for unix_time(). Thanks @crd.* Change logging level to DEBUG.
DEBUG.Add possibility to make artificial ssn numbers for FI_fi. Thanks @kivipe.
FI_fi. Thanks @kivipe.ko_KR person data based on statistics. Thanks @unace.Add no_NO bank provider. Thanks @cloveras.
no_NO bank provider. Thanks @cloveras.ipv4_network_class, ipv4_private, ipv4_public providers.
Thanks @ZuluPro.address_class and private arguments to ipv4 provider.
Thanks @ZuluPro.currency, currency_name, cryptocurrency,
cryptocurrency_code and cryptocurrency_name to currency provider.
Thanks @ZuluPro.de_DE. Thanks @gsilvan.ssn provider. Thanks @sanga.pt_BR. Thanks @paladini.unix_device and unix_partition to file provider.
Thanks @ZuluPro.random_lowercase_letter and random_uppercase_letter to the base
provider. Thanks @ZuluPro.Fix deprecated syntax for raw strings. Thanks @dchudz.
cx_Freeze. Thanks @sedominik.nl_NL bank provider. Thanks @PatSousa.distrito and freguesia to pt_PT address provider.
Thanks @ZuluPro.person provider. Thanks @karthikarul20.en_SG person provider. Thanks @karthikarul20.de_AT address provider. Thanks @bessl.no_NO address provider. Thanks @cloveras.latitude and longitude to de_AT address provider.
Thanks @bessl.ru_RU.
Thanks @damirazo.Add scheme selection for internet url provider. Thanks @ProvoK.
url provider. Thanks @ProvoK.Pass python_requires argument to setuptools. Thanks @jdufresne.
--
python_requires argument to setuptools. Thanks @jdufresne.en_US lorem ipsum provider. Thanks @Pomax.Remove support for Python 3.3. Thanks @jdufresne.
en_GB localisation to ensure no genuine
phone numbers are generated. Thanks @TheSapper.en_GB localisation for SSN (UK National Insurance Number).
Thanks @TheSapper.ro_RO person Provider. Thanks @vasilesmartup.domain argument to email provider. Thanks @lcd1232.made seed_instance return self for chainability.
seed_instance return self for chainability.en_US locale for lorem. Thanks @shacker.fi_FI gender specific data added. Thanks @mikkhola.fi_FI address and job lists updated. Thanks @mikkhola.iban provider. Thanks @cdaller.Corrected some issues with the Hungarian (hu_HU) providers, such as incorrectly capitalized company suffixes, street/road type names and place names.
hu_HU) providers, such as
incorrectly capitalized company suffixes, street/road type names and place
names. Thanks @chrisvoncsefalvay.providers.job.job provider now returns Hungarian
job names, taken from the Hungarian National Statistical Office (KSH)'s 2008
survey nomenclature of employment (FEOR '08). Thanks @chrisvoncsefalvay.he_IL locale. Thanks @bjesus.random_sample_unique. Thanks @153957.pt_BR address provider compatible with en_US.
Thanks @diegoholiveira.setup.py. Thanks @jdufresne.Replace unidecode dependency in favor of text-unidecode. Faker now requires text-unidecode.
unidecode dependency in favor of text-unidecode. Faker now
requires text-unidecode.Add ASCII emails. Thanks @barseghyanartur.
id_ID Providers. Thanks Sidi Ahmad.date_time.time_series() to ensure start and end bounds are inclusive.
Thanks @bijanvakili.Move email_validator to test_requires and unpinned the version number.
email_validator to test_requires and unpinned the
version number.MSISDN in the phone_number provider. Thanks @patrickporto.* Fix release build.
Revert name change of faker.generator.random. Thanks @adamchainz.
faker.generator.random. Thanks @adamchainz.random.Random and seed_instance().
Thanks @adamchainz.Rolled back breaking change in randomize_nb_elements.
randomize_nb_elements.Add identity_card_number for pl_PL person provider. Thanks @pdaw.
identity_card_number for pl_PL person provider. Thanks @pdaw.time_series provider. Thanks @fcurella..seed_instance method. Thanks @reverbc.tz_TW address provider. Thanks @clarmso.Your coding agent can read these notes before it upgrades. Set up the MCP server →