Cheat Sheet

View Source

A quick reference for the most commonly used random data generator functions.

Address

building_number(range \\ 1..100, opts \\ [])

iex> NeoFaker.Address.building_number(1..100)
"25"

iex> NeoFaker.Address.building_number(1..100, type: :integer)
25

city(opts \\ [])

iex> NeoFaker.Address.city()
"Saint Marys City"

iex> NeoFaker.Address.city(locale: :id_id)
"Palu"

NeoFaker.Address.country/1 behaves the same way, generating a random country name.

coordinate(opts \\ [])

iex> NeoFaker.Address.coordinate()
{11.5831672, 165.3662683}

iex> NeoFaker.Address.coordinate(type: :latitude)
11.5831672

iex> NeoFaker.Address.coordinate(type: :longitude)
165.3662683

iex> NeoFaker.Address.coordinate(precision: 2)
{11.58, 165.37}

App

author(opts \\ [])

iex> NeoFaker.App.author()
"José Valim"

description(opts \\ [])

iex> NeoFaker.App.description()
"Elixir library for generating fake data in tests and development."

iex> NeoFaker.App.description(locale: :id_id)
"Pustaka Elixir untuk menghasilkan data palsu dalam pengujian dan pengembangan."

license()

iex> NeoFaker.App.license()
"MIT License"

name(opts \\ [])

iex> NeoFaker.App.name()
"Neo Faker"

iex> NeoFaker.App.name(style: :camel_case)
"neoFaker"

iex> NeoFaker.App.name(locale: :id_id)
"Garuda Web"

semver(opts \\ [])

iex> NeoFaker.App.semver()
"1.2.3"

iex> NeoFaker.App.semver(type: :pre_release)
"1.2.3-beta.1"

iex> NeoFaker.App.semver(type: :build)
"1.2.3+20250325"

iex> NeoFaker.App.semver(type: :pre_release_build)
"1.2.3-rc.1+20250325"

version()

iex> NeoFaker.App.version()
"1.2"

Blood

group()

iex> NeoFaker.Blood.group()
"B+"

type()

iex> NeoFaker.Blood.type()
"B"

Boolean

boolean(true_ratio \\ 50, opts \\ [])

iex> NeoFaker.Boolean.boolean()
false

iex> NeoFaker.Boolean.boolean(75)
true

iex> NeoFaker.Boolean.boolean(75, integer: true)
1

Color

cmyk(opts \\ [])

iex> NeoFaker.Color.cmyk()
{0, 25, 50, 100}

iex> NeoFaker.Color.cmyk(format: :w3c)
"cmyk(0%, 25%, 50%, 100%)"

NeoFaker.Color.hsl/1, NeoFaker.Color.hsla/1, NeoFaker.Color.rgb/1 and NeoFaker.Color.rgba/1 behave the same way, generating colors in HSL, HSLA, RGB, and RGBA formats respectively.

hex(opts \\ [])

iex> NeoFaker.Color.hex()
"#613583"

iex> NeoFaker.Color.hex(format: :three_digit)
"#365"

keyword(opts \\ [])

iex> NeoFaker.Color.keyword()
"blueviolet"

iex> NeoFaker.Color.keyword(category: :basic)
"purple"

iex> NeoFaker.Color.keyword(locale: :id_id)
"ungu"

Crypto

md5(opts \\ [])

iex> NeoFaker.Crypto.md5()
"afc4c626c55e4166421d82732163857d"

iex> NeoFaker.Crypto.md5(case: :upper)
"AFC4C626C55E4166421D82732163857D"

NeoFaker.Crypto.sha1/1 and NeoFaker.Crypto.sha256/1 behave the same way, generating SHA-1 and SHA-256 hashes respectively.

Date

add(range \\ -365..365, opts \\ [])

iex> NeoFaker.Date.add()
~D[2025-03-25]

iex> NeoFaker.Date.add(0..31)
~D[2025-03-30]

iex> NeoFaker.Date.add(0..31, format: :iso8601)
"2025-03-25"

between(start \\ ~D[1970-01-01], finish \\ NaiveDateTime.to_date(NaiveDateTime.local_now()), opts \\ [])

iex> NeoFaker.Date.between()
~D[2025-03-25]

iex> NeoFaker.Date.between(~D[2020-01-01], ~D[2025-01-01])
~D[2022-08-17]

iex> NeoFaker.Date.between(~D[2025-03-25], ~D[2025-03-25], format: :iso8601)
"2025-03-25"

birthday(min_age \\ 18, max_age \\ 65, opts \\ [])

iex> NeoFaker.Date.birthday()
~D[1997-01-02]

iex> NeoFaker.Date.birthday(18, 65)
~D[1998-03-04]

iex> NeoFaker.Date.birthday(18, 65, format: :iso8601)
"1999-05-06"

Gravatar

display(email \\ nil, opts \\ [])

iex> NeoFaker.Gravatar.display()
"https://gravatar.com/avatar/<hashed_email>?d=identicon&s=80"

iex> NeoFaker.Gravatar.display("john.doe@example.com")
"https://gravatar.com/avatar/<hashed_email>?d=identicon&s=80"

iex> NeoFaker.Gravatar.display("john.doe@example.com", size: 100)
"https://gravatar.com/avatar/<hashed_email>?d=identicon&s=100"

iex> NeoFaker.Gravatar.display("john.doe@example.com", fallback: :monsterid)
"https://gravatar.com/avatar/<hashed_email>?d=monsterid&s=80"

HTTP

referrer_policy()

iex> NeoFaker.Http.referrer_policy()
"no-referrer"

request_method()

iex> NeoFaker.Http.request_method()
"GET"

status_code(opts \\ [])

iex> NeoFaker.Http.status_code()
"200 OK"

iex> NeoFaker.Http.status_code(type: :simple)
"200"

iex> NeoFaker.Http.status_code(group: :client_error)
"404 Not Found"

user_agent(opts \\ [])

iex> NeoFaker.Http.user_agent()
"Mozilla/5.0 (X11; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0"

iex> NeoFaker.Http.user_agent(type: :browser)
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0"

iex> NeoFaker.Http.user_agent(type: :crawler)
"Mozilla/5.0 (compatible; Google-InspectionTool/1.0)"

Lorem

sentence(opts \\ [])

iex> NeoFaker.Lorem.paragraph()
"Suspendisse ac justo venenatis, tincidunt sapien nec, accumsan augue. Vestibulum urna
risus, egestas ut ultrices non, aliquet eget massa. Mauris id diam eget augue sagittis
convallis sit amet nec diam. Morbi ut blandit est, et placerat neque."

iex> NeoFaker.Lorem.paragraph(type: "meditations")
"Do the things external which fall upon thee distract thee? Give thyself time to learn
something new and good, and cease to be whirled around. But then thou must also avoid being
carried about the other way. For those too are triflers who have wearied themselves in life
by their activity, and yet have no object to which to direct every movement, and, in a word,
all their thoughts."

NeoFaker.Lorem.sentence/1 and NeoFaker.Lorem.word/1 behave the same way, generating random sentences or words.

Number

between(min \\ 0, max \\ 100)

iex> NeoFaker.Number.between()
27

iex> NeoFaker.Number.between(1, 100)
28

iex> NeoFaker.Number.between(20, 100.0)
29.481745280074264

iex> NeoFaker.Number.between(10.0, 100.0)
29.481745280074264

digit()

iex> NeoFaker.Number.digit()
5

float(left_digit \\ 10..100, right_digit \\ 10_000..100_000)

iex> NeoFaker.Number.float()
30.94372

iex> NeoFaker.Number.float(1..9, 10..90)
1.44

Person

age(min \\ 0, max \\ 120)

iex> NeoFaker.Person.age()
44

iex> NeoFaker.Person.age(7, 44)
27

binary_gender(opts \\ [])

iex> NeoFaker.Person.binary_gender()
"Male"

iex> NeoFaker.Person.binary_gender(locale: :id_id)
"Perempuan"

NeoFaker.Person.non_binary_gender/1 and NeoFaker.Person.short_binary_gender/1 behave the same way, generating non-binary or short binary genders.

first_name(opts \\ [])

iex> NeoFaker.Person.first_name()
"Julia"

iex> NeoFaker.Person.first_name(sex: :male)
"José"

iex> NeoFaker.Person.first_name(locale: :id_id)
"Jaka"

NeoFaker.Person.middle_name/1 and NeoFaker.Person.last_name/1 behave the same way, generating middle or last names.

full_name(opts \\ [])

iex> NeoFaker.Person.full_name()
"Abigail Bethany Crawford"

iex> NeoFaker.Person.full_name(sex: :male)
"Daniel Edward Fisher"

iex> NeoFaker.Person.full_name(middle_name: false)
"Gabriella Harrison"

prefix(opts \\ [])

iex> NeoFaker.Person.prefix()
"Mr."

iex> NeoFaker.Person.prefix(locale: :id_id)
"Tn."

NeoFaker.Person.suffix/1 behaves the same way, generating a suffix for the person's name.

Text

character(opts \\ [])

iex> NeoFaker.Text.character()
"a"

iex> NeoFaker.Text.character(type: :digit)
"0"

characters(number \\ 11, opts \\ [])

iex> NeoFaker.Text.characters()
"XfELJU1mRMg"

iex> NeoFaker.Text.characters(20, type: :alphabet_upper)
"BVAJHRGSCEVJFNYSWCJE"

emoji(opts \\ [])

iex> NeoFaker.Text.emoji()
"✨"

iex> NeoFaker.Text.emoji(category: :activities)
"🎉"

word()

iex> NeoFaker.Text.word()
"computer"

Time

add(range \\ -24..24, opts \\ [])

iex> NeoFaker.Time.add()
~T[15:22:10]

iex> NeoFaker.Time.add(-2..2, unit: :minute)
~T[07:23:10]

iex> NeoFaker.Time.add(0..10, format: :iso8601)
"15:22:10"

between(start \\ ~T[00:00:00], finish \\ ~T[23:59:59], opts \\ [])

iex> NeoFaker.Time.between()
~T[15:22:10]

iex> NeoFaker.Time.between(~T[00:00:00], ~T[23:59:59])
~T[19:30:11]

iex> NeoFaker.Time.between(~T[00:00:00], ~T[23:59:59], format: :iso8601)
"15:22:10"

time_zone()

iex> NeoFaker.Time.time_zone()
"Asia/Makassar"