Skip to content

Finance

Module to generate finance and money related entries.

Overview

For a random amount, use amount().

For traditional bank accounts, use: accountNumber(), accountName(), bic(), iban(), pin() and routingNumber().

For credit card related methods, use: creditCardNumber(), creditCardCVV(), creditCardIssuer(), transactionDescription() and transactionType().

For blockchain related methods, use: bitcoinAddress(), ethereumAddress() and litecoinAddress().

accountName

Generates a random account name.

Available since v2.0.1

Returns: string

ts
function accountName(): string;

Examples

ts
faker.finance.accountName() // 'Personal Loan Account'

accountNumber

Generates a random account number.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
optionsOrLength?number | { ... }

An options object or the length of the account number.

optionsOrLength.length?number8

The length of the account number.

Returns: string

ts
function accountNumber(
  optionsOrLength?:
    | number
    | {
        length?: number;
      }
): string;

Examples

ts
faker.finance.accountNumber() // 92842238
faker.finance.accountNumber(5) // 28736
faker.finance.accountNumber({ length: 5 }) // 32564

amount

Generates a random amount between the given bounds (inclusive).

Available since v2.0.1

Parameters

NameTypeDefaultDescription
options{ ... }{}

An options object.

options.autoFormat?booleanfalse

If true this method will use Number.toLocaleString(). Otherwise it will use Number.toFixed().

options.dec?number2

The number of decimal places for the amount.

options.max?number1000

The upper bound for the amount.

options.min?number0

The lower bound for the amount.

options.symbol?string''

The symbol used to prefix the amount.

Returns: string

ts
function amount(
  options: {
    min?: number;
    max?: number;
    dec?: number;
    symbol?: string;
    autoFormat?: boolean;
  } = {}
): string;

Examples

ts
faker.finance.amount() // '617.87'
faker.finance.amount({ min: 5, max: 10 }) // '5.53'
faker.finance.amount({ min: 5, max: 10, dec: 0 }) // '8'
faker.finance.amount({ min: 5, max: 10, dec: 2, symbol: '$' }) // '$5.85'
faker.finance.amount({ min: 5, max: 10, dec: 5, symbol: '', autoFormat: true }) // '9,75067'

bic

Generates a random SWIFT/BIC code based on the ISO-9362 format.

Available since v4.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options object.

options.includeBranchCode?booleanfaker.datatype.boolean()

Whether to include a three-digit branch code at the end of the generated code.

Returns: string

ts
function bic(
  options: {
    includeBranchCode?: boolean;
  } = {}
): string;

Examples

ts
faker.finance.bic() // 'WYAUPGX1'
faker.finance.bic({ includeBranchCode: true }) // 'KCAUPGR1432'
faker.finance.bic({ includeBranchCode: false }) // 'XDAFQGT7'

bitcoinAddress

Generates a random Bitcoin address.

Available since v3.1.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

An optional options object.

options.network?'mainnet' | 'testnet''mainnet'

The bitcoin network ('mainnet' or 'testnet').

options.type?'legacy' | 'segwit' | 'bech32' | 'taproot'faker.helpers.arrayElement(['legacy','sewgit','bech32','taproot'])

The bitcoin address type ('legacy', 'sewgit', 'bech32' or 'taproot').

Returns: string

ts
function bitcoinAddress(
  options: {
    type?: BitcoinAddressFamilyType;
    network?: BitcoinNetworkType;
  } = {}
): string;

Examples

ts
faker.finance.bitcoinAddress() // '1TeZEFLmGPLEQrSRdAcnZLoWwYeiHwmRog'
faker.finance.bitcoinAddress({ type: 'bech32' }) // 'bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4'
faker.finance.bitcoinAddress({ type: 'bech32', network: 'testnet' }) // 'tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx'

creditCardCVV

Generates a random credit card CVV.

Available since v5.0.0

Returns: string

ts
function creditCardCVV(): string;

Examples

ts
faker.finance.creditCardCVV() // '506'

creditCardIssuer

Returns a random credit card issuer.

Available since v6.3.0

Returns: string

ts
function creditCardIssuer(): string;

Examples

ts
faker.finance.creditCardIssuer() // 'discover'

creditCardNumber

Generates a random credit card number.

Available since v5.0.0

Parameters

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

An options object, the issuer or a custom format.

options.issuer?string''

The name of the issuer (case-insensitive) or the format used to generate one.

Returns: string

ts
function creditCardNumber(
  options?:
    | string
    | {
        issuer?: string;
      }
): string;

Examples

ts
faker.finance.creditCardNumber() // '4427163488662'
faker.finance.creditCardNumber({ issuer: 'visa' }) // '4882664999007'
faker.finance.creditCardNumber({ issuer: '63[7-9]#-####-####-###L' }) // '6375-3265-4676-6646'
faker.finance.creditCardNumber('visa') // '1226423499765'

currency

Returns a random currency object, containing code, name and symbol properties.

Available since v8.0.0

Returns: Currency

ts
function currency(): Currency;

Examples

ts
faker.finance.currency() // { code: 'USD', name: 'US Dollar', symbol: '$' }

currencyCode

Returns a random currency code. (The short text/abbreviation for the currency (e.g. US Dollar -> USD))

Available since v2.0.1

Returns: string

ts
function currencyCode(): string;

Examples

ts
faker.finance.currencyCode() // 'USD'

currencyName

Returns a random currency name.

Available since v2.0.1

Returns: string

ts
function currencyName(): string;

Examples

ts
faker.finance.currencyName() // 'US Dollar'

currencySymbol

Returns a random currency symbol.

Available since v2.0.1

Returns: string

ts
function currencySymbol(): string;

Examples

ts
faker.finance.currencySymbol() // '$'

ethereumAddress

Creates a random, non-checksum Ethereum address.

To generate a checksummed Ethereum address (with specific per character casing), wrap this method in a custom method and use third-party libraries to transform the result.

Available since v5.0.0

Returns: string

ts
function ethereumAddress(): string;

Examples

ts
faker.finance.ethereumAddress() // '0xf03dfeecbafc5147241cc4c4ca20b3c9dfd04c4a'

iban

Generates a random IBAN.

Please note that the generated IBAN might be invalid due to randomly generated bank codes/other country specific validation rules.

Available since v4.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

An options object.

options.countryCode?string

The country code from which you want to generate an IBAN, if none is provided a random country will be used.

options.formatted?booleanfalse

Return a formatted version of the generated IBAN.

Returns: string

Throws: Will throw an error if the passed country code is not supported.

ts
function iban(
  options: {
    formatted?: boolean;
    countryCode?: string;
  } = {}
): string;

Examples

ts
faker.finance.iban() // 'TR736918640040966092800056'
faker.finance.iban({ formatted: true }) // 'FR20 8008 2330 8984 74S3 Z620 224'
faker.finance.iban({ formatted: true, countryCode: 'DE' }) // 'DE84 1022 7075 0900 1170 01'

litecoinAddress

Generates a random Litecoin address.

Available since v5.0.0

Returns: string

ts
function litecoinAddress(): string;

Examples

ts
faker.finance.litecoinAddress() // 'MoQaSTGWBRXkWfyxKbNKuPrAWGELzcW'

maskedNumber

Deprecated

This method is deprecated and will be removed in a future version.

Use faker.finance.iban().replace(/(?<=.{4})\w(?=.{2})/g, '*') or a similar approach instead.

Generates a random masked number.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
optionsOrLength?number | { ... }

An options object or the length of the unmask number.

optionsOrLength.ellipsis?booleantrue

Whether to prefix the numbers with an ellipsis.

optionsOrLength.length?number4

The length of the unmasked number.

optionsOrLength.parens?booleantrue

Whether to use surrounding parenthesis.

Returns: string

ts
function maskedNumber(
  optionsOrLength?:
    | number
    | {
        length?: number;
        parens?: boolean;
        ellipsis?: boolean;
      }
): string;

Examples

ts
faker.finance.maskedNumber() // '(...9711)'
faker.finance.maskedNumber(3) // '(...342)'
faker.finance.maskedNumber({ length: 3 }) // '(...342)'
faker.finance.maskedNumber({ length: 3, parens: false }) // '...236'
faker.finance.maskedNumber({ length: 3, parens: false, ellipsis: false }) // '298'

pin

Generates a random PIN number.

Available since v6.2.0

Parameters

NameTypeDefaultDescription
options?number | { ... }{}

An options object or the length of the PIN.

options.length?number4

The length of the PIN to generate.

Returns: string

Throws: Will throw an error if length is less than 1.

ts
function pin(
  options?:
    | number
    | {
        length?: number;
      }
): string;

Examples

ts
faker.finance.pin() // '5067'
faker.finance.pin({ length: 6 }) // '213789'
faker.finance.pin(6) // '213789'

routingNumber

Generates a random routing number.

Available since v5.0.0

Returns: string

ts
function routingNumber(): string;

Examples

ts
faker.finance.routingNumber() // '522814402'

transactionDescription

Generates a random transaction description.

Available since v5.1.0

Returns: string

ts
function transactionDescription(): string;

Examples

ts
faker.finance.transactionDescription()
// 'invoice transaction at Kilback - Durgan using card ending with ************4316 for UAH 783.82 in account ***16168663'

transactionType

Returns a random transaction type.

Available since v2.0.1

Returns: string

ts
function transactionType(): string;

Examples

ts
faker.finance.transactionType() // 'payment'

Released under the MIT License.