Skip to content

Internet

Module to generate internet related entries.

Overview

For user accounts, you may need an email() and a password(), as well as a ASCII userName() or Unicode displayName(). Since the emails generated could coincidentally be real email addresses, you should not use these for sending real email addresses. If this is a concern, use exampleEmail() instead.

For websites, you can generate a domainName() or a full url().

To make your data more 🔥, you can use emoji().

You also have access to a number of the more technical elements of web requests, such as httpMethod, httpStatusCode, ip, mac, userAgent, and port.

color

Generates a random css hex color code in aesthetically pleasing color palette.

Based on http://stackoverflow.com/questions/43044/algorithm-to-randomly-generate-an-aesthetically-pleasing-color-palette

Available since v2.0.1

Parameters

NameTypeDefaultDescription
options{ ... }{}

An options object.

options.blueBase?number0

The optional base blue in range between 0 and 255.

options.greenBase?number0

The optional base green in range between 0 and 255.

options.redBase?number0

The optional base red in range between 0 and 255.

Returns: string

ts
function color(
    options: {
      redBase?: number;
      greenBase?: number;
      blueBase?: number;
    } = {}
  ): string;
faker.internet.color() // '#30686e'
faker.internet.color({ redBase: 100, greenBase: 100, blueBase: 100 }) // '#4e5f8b'

displayName

Generates a display name using the given person's name as base. The resulting display name may use one or both of the provided names. If the input names include Unicode characters, the resulting display name will contain Unicode characters. It will not contain spaces.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

An options object.

options.firstName?stringfaker.person.firstName()

The optional first name to use.

options.lastName?stringfaker.person.lastName()

The optional last name to use.

Returns: string

ts
function displayName(
    options: {
      firstName?: string;
      lastName?: string;
    } = {}
  ): string;
faker.internet.displayName() // 'Nettie_Zboncak40'
faker.internet.displayName({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne98' - note surname not used.
faker.internet.displayName({ firstName: 'John', lastName: 'Doe' }) // 'John.Doe'
faker.internet.displayName({ firstName: 'Hélene', lastName: 'Müller' }) // 'Hélene_Müller11'
faker.internet.displayName({ firstName: 'Фёдор', lastName: 'Достоевский' }) // 'Фёдор.Достоевский50'
faker.internet.displayName({ firstName: '大羽', lastName: '陳' }) // '大羽.陳'

domainName

Generates a random domain name.

Available since v2.0.1

Returns: string

ts
function domainName(): string;
faker.internet.domainName() // 'slow-timer.info'

domainSuffix

Returns a random domain suffix.

Available since v2.0.1

Returns: string

ts
function domainSuffix(): string;
faker.internet.domainSuffix() // 'com'
faker.internet.domainSuffix() // 'name'

domainWord

Generates a random domain word.

Available since v2.0.1

Returns: string

ts
function domainWord(): string;
faker.internet.domainWord() // 'close-reality'
faker.internet.domainWord() // 'weird-cytoplasm'

email

Generates an email address using the given person's name as base.

Available since v2.0.1

Parameters

NameTypeDefaultDescription
options{ ... }{}

The options to use.

options.allowSpecialCharacters?booleanfalse

Whether special characters such as .!#$%&'*+-/=?^_`{|}~ should be included in the email address.

options.firstName?stringfaker.person.firstName()

The optional first name to use.

options.lastName?stringfaker.person.lastName()

The optional last name to use.

options.provider?string

The mail provider domain to use. If not specified, a random free mail provider will be chosen.

Returns: string

ts
function email(
    options: {
      firstName?: string;
      lastName?: string;
      provider?: string;
      allowSpecialCharacters?: boolean;
    } = {}
  ): string;
faker.internet.email() // 'Kassandra4@hotmail.com'
faker.internet.email({ firstName: 'Jeanne'}) // 'Jeanne63@yahoo.com'
faker.internet.email({ firstName: 'Jeanne'}) // 'Jeanne_Smith63@yahoo.com'
faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne.Doe63@yahoo.com'
faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe', provider: 'example.fakerjs.dev' }) // 'Jeanne_Doe88@example.fakerjs.dev'
faker.internet.email({ firstName: 'Jeanne', lastName: 'Doe', provider: 'example.fakerjs.dev', allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.fakerjs.dev'

emoji

Generates a random emoji.

Available since v6.2.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options object.

options.types?EmojiType[]Object.keys(faker.definitions.internet.emoji)

A list of the emoji types that should be used.

Returns: string

ts
function emoji(
    options: {
      types?: ReadonlyArray<EmojiType>;
    } = {}
  ): string;
faker.internet.emoji() // '🥰'
faker.internet.emoji({ types: ['food', 'nature'] }) // '🥐'

exampleEmail

Generates an email address using an example mail provider using the given person's name as base.

Available since v3.1.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

An options object.

options.allowSpecialCharacters?booleanfalse

Whether special characters such as .!#$%&'*+-/=?^_`{|}~ should be included in the email address.

options.firstName?stringfaker.person.firstName()

The optional first name to use.

options.lastName?stringfaker.person.lastName()

The optional last name to use.

Returns: string

ts
function exampleEmail(
    options: {
      firstName?: string;
      lastName?: string;
      allowSpecialCharacters?: boolean;
    } = {}
  ): string;
faker.internet.exampleEmail() // 'Helmer.Graham23@example.com'
faker.internet.exampleEmail({ firstName: 'Jeanne' }) // 'Jeanne96@example.net'
faker.internet.exampleEmail({ firstName: 'Jeanne' }) // 'Jeanne.Smith96@example.net'
faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe' }) // 'Jeanne_Doe96@example.net'
faker.internet.exampleEmail({ firstName: 'Jeanne', lastName: 'Doe', allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.com'

httpMethod

Returns a random http method.

Can be either of the following:

  • GET
  • POST
  • PUT
  • DELETE
  • PATCH

Available since v5.4.0

Returns: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'

ts
function httpMethod(): 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
faker.internet.httpMethod() // 'PATCH'

httpStatusCode

Generates a random HTTP status code.

Available since v7.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options object.

options.types?HTTPStatusCodeType[]Object.keys(faker.definitions.internet.http_status_code)

A list of the HTTP status code types that should be used.

Returns: number

ts
function httpStatusCode(
    options: {
      types?: ReadonlyArray<HTTPStatusCodeType>;
    } = {}
  ): number;
faker.internet.httpStatusCode() // 200
faker.internet.httpStatusCode({ types: ['success', 'serverError'] }) // 500

ip

Generates a random IPv4 or IPv6 address.

Available since v2.0.1

Returns: string

ts
function ip(): string;
faker.internet.ip() // '245.108.222.0'
faker.internet.ip() // '4e5:f9c5:4337:abfd:9caf:1135:41ad:d8d3'

ipv4

Generates a random IPv4 address.

Available since v6.1.1

Returns: string

ts
function ipv4(): string;
faker.internet.ipv4() // '245.108.222.0'

ipv6

Generates a random IPv6 address.

Available since v4.0.0

Returns: string

ts
function ipv6(): string;
faker.internet.ipv6() // '269f:1230:73e3:318d:842b:daab:326d:897b'

mac

Generates a random mac address.

Available since v3.0.0

Parameters

NameTypeDefaultDescription
options?string | { ... }{}

The optional separator or an options object.

options.separator?string':'

The optional separator to use. Can be either ':', '-' or ''.

Returns: string

ts
function mac(
    options?:
      | string
      | {
          separator?: string;
        }
  ): string;
faker.internet.mac() // '32:8e:2e:09:c6:05'

password

Generates a random password-like string. Do not use this method for generating actual passwords for users. Since the source of the randomness is not cryptographically secure, neither is this generator.

Available since v2.0.1

Parameters

NameTypeDefaultDescription
options{ ... }{}

An options object.

options.length?number15

The length of the password to generate.

options.memorable?booleanfalse

Whether the generated password should be memorable.

options.pattern?RegExp/\w/

The pattern that all chars should match. This option will be ignored, if memorable is true.

options.prefix?string''

The prefix to use.

Returns: string

ts
function password(
    options: {
      length?: number;
      memorable?: boolean;
      pattern?: RegExp;
      prefix?: string;
    } = {}
  ): string;
faker.internet.password() // '89G1wJuBLbGziIs'
faker.internet.password({ length: 20 }) // 'aF55c_8O9kZaPOrysFB_'
faker.internet.password({ length: 20, memorable: true }) // 'lawetimufozujosodedi'
faker.internet.password({ length: 20, memorable: true, pattern: /[A-Z]/ }) // 'HMAQDFFYLDDUTBKVNFVS'
faker.internet.password({ length: 20, memorable: true, pattern: /[A-Z]/, prefix: 'Hello ' }) // 'Hello IREOXTDWPERQSB'

port

Generates a random port number.

Available since v5.4.0

Returns: number

ts
function port(): number;
faker.internet.port() // '9414'

protocol

Returns a random web protocol. Either http or https.

Available since v2.1.5

Returns: 'http' | 'https'

ts
function protocol(): 'http' | 'https';
faker.internet.protocol() // 'http'
faker.internet.protocol() // 'https'

url

Generates a random http(s) url.

Available since v2.1.5

Parameters

NameTypeDefaultDescription
options{ ... }{}

Optional options object.

options.appendSlash?booleanfaker.datatype.boolean()

Whether to append a slash to the end of the url (path).

options.protocol?HTTPProtocolType'https'

The protocol to use.

Returns: string

ts
function url(
    options: {
      appendSlash?: boolean;
      protocol?: HTTPProtocolType;
    } = {}
  ): string;
faker.internet.url() // 'https://remarkable-hackwork.info'
faker.internet.url({ appendSlash: true }) // 'https://slow-timer.info/'
faker.internet.url({ protocol: 'http', appendSlash: false }) // 'http://www.terrible-idea.com'

userAgent

Generates a random user agent string.

Available since v2.0.1

Returns: string

ts
function userAgent(): string;
faker.internet.userAgent()
// 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_8_8)  AppleWebKit/536.0.2 (KHTML, like Gecko) Chrome/27.0.849.0 Safari/536.0.2'

userName

Generates a username using the given person's name as base. The resulting username may use neither, one or both of the names provided. This will always return a plain ASCII string. Some basic stripping of accents and transliteration of characters will be done.

Available since v2.0.1

Parameters

NameTypeDefaultDescription
options{ ... }{}

An options object.

options.firstName?stringfaker.person.firstName()

The optional first name to use.

options.lastName?stringfaker.person.lastName()

The optional last name to use.

Returns: string

ts
function userName(
    options: {
      firstName?: string;
      lastName?: string;
    } = {}
  ): string;
faker.internet.userName() // 'Nettie_Zboncak40'
faker.internet.userName({ firstName: 'Jeanne' }) // 'Jeanne98'
faker.internet.userName({ firstName: 'Jeanne' }) // 'Jeanne.Smith98'
faker.internet.userName({ firstName: 'Jeanne', lastName: 'Doe'}) // 'Jeanne_Doe98'
faker.internet.userName({ firstName: 'John', lastName: 'Doe' }) // 'John.Doe'
faker.internet.userName({ firstName: 'Hélene', lastName: 'Müller' }) // 'Helene_Muller11'
faker.internet.userName({ firstName: 'Фёдор', lastName: 'Достоевский' }) // 'Fedor.Dostoevskii50'
faker.internet.userName({ firstName: '大羽', lastName: '陳' }) // 'hlzp8d.tpv45' - note neither name is used

Released under the MIT License.