Skip to content

Image

Module to generate images.

Overview

For a random image, use url(). This will not return the image directly but a URL pointing to an image from one of two demo image providers "Picsum" and "LoremFlickr". You can request an image specifically from one of two providers using urlLoremFlickr() or urlPicsumPhotos().

For a random placeholder image containing only solid color and text, use urlPlaceholder() (uses a third-party service) or dataUri() (returns a SVG string).

For a random user avatar image, use avatar().

This module previously also contained methods for specifically themed images like "fashion" or "food", but these are now deprecated. If you need more control over image type, you can request categorized images using urlLoremFlickr(), use an image provider directly or provide your own set of placeholder images.

avatar

Generates a random avatar image url.

Available since v2.0.1

Returns: string

ts
function avatar(): string;
faker.image.avatar()
// 'https://avatars.githubusercontent.com/u/97165289'

avatarGitHub

Generates a random avatar from GitHub.

Available since v8.0.0

Returns: string

ts
function avatarGitHub(): string;
faker.image.avatarGitHub()
// 'https://avatars.githubusercontent.com/u/97165289'

avatarLegacy

Generates a random avatar from https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar.

Available since v8.0.0

Returns: string

ts
function avatarLegacy(): string;
faker.image.avatarLegacy()
// 'https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/170.jpg'

dataUri

Generates a random data uri containing an URL-encoded SVG image or a Base64-encoded SVG image.

Available since v4.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options for generating a data uri.

options.color?stringfaker.color.rgb()

The color of the image. Must be a color supported by svg.

options.height?numberfaker.number.int({ min: 1, max: 3999 })

The height of the image.

options.type?'svg-uri' | 'svg-base64'faker.helpers.arrayElements(['svg-uri', 'svg-base64'])

The type of the image to return. Consisting of the file extension and the used encoding.

options.width?numberfaker.number.int({ min: 1, max: 3999 })

The width of the image.

Returns: string

ts
function dataUri(
    options: {
      width?: number;
      height?: number;
      color?: string;
      type?: 'svg-uri' | 'svg-base64';
    } = {}
  ): string;
faker.image.dataUri() // 'data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http...'
faker.image.dataUri({ type: 'svg-base64' }) // 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3...'

url

Generates a random image url.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options for generating a URL for an image.

options.height?numberfaker.number.int({ min: 1, max: 3999 })

The height of the image.

options.width?numberfaker.number.int({ min: 1, max: 3999 })

The width of the image.

Returns: string

ts
function url(
    options: {
      width?: number;
      height?: number;
    } = {}
  ): string;
faker.image.url() // 'https://loremflickr.com/640/480?lock=1234'

urlLoremFlickr

Generates a random image url provided via https://loremflickr.com.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options for generating a URL for an image.

options.category?string

Category to use for the image.

options.height?numberfaker.number.int({ min: 1, max: 3999 })

The height of the image.

options.width?numberfaker.number.int({ min: 1, max: 3999 })

The width of the image.

Returns: string

ts
function urlLoremFlickr(
    options: {
      width?: number;
      height?: number;
      category?: string;
    } = {}
  ): string;
faker.image.urlLoremFlickr() // 'https://loremflickr.com/640/480?lock=1234'
faker.image.urlLoremFlickr({ width: 128 }) // 'https://loremflickr.com/128/480?lock=1234'
faker.image.urlLoremFlickr({ height: 128 }) // 'https://loremflickr.com/640/128?lock=1234'
faker.image.urlLoremFlickr({ category: 'nature' }) // 'https://loremflickr.com/640/480/nature?lock=1234'

urlPicsumPhotos

Generates a random image url provided via https://picsum.photos.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options for generating a URL for an image.

options.blur?0 | 10 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9faker.number.int({ max: 10 })

Whether the image should be blurred. 0 disables the blur.

options.grayscale?booleanfaker.datatype.boolean()

Whether the image should be grayscale.

options.height?numberfaker.number.int({ min: 1, max: 3999 })

The height of the image.

options.width?numberfaker.number.int({ min: 1, max: 3999 })

The width of the image.

Returns: string

ts
function urlPicsumPhotos(
    options: {
      width?: number;
      height?: number;
      grayscale?: boolean;
      blur?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
    } = {}
  ): string;
faker.image.urlPicsumPhotos() // 'https://picsum.photos/seed/NWbJM2B/640/480'
faker.image.urlPicsumPhotos({ width: 128 }) // 'https://picsum.photos/seed/NWbJM2B/128/480'
faker.image.urlPicsumPhotos({ height: 128 }) // 'https://picsum.photos/seed/NWbJM2B/640/128'
faker.image.urlPicsumPhotos({ grayscale: true }) // 'https://picsum.photos/seed/NWbJM2B/640/480?grayscale'
faker.image.urlPicsumPhotos({ blur: 4 }) // 'https://picsum.photos/seed/NWbJM2B/640/480?blur=4'
faker.image.urlPicsumPhotos({ blur: 4, grayscale: true }) // 'https://picsum.photos/seed/NWbJM2B/640/480?grayscale&blur=4'

urlPlaceholder

Generates a random image url provided via https://via.placeholder.com/.

Available since v8.0.0

Parameters

NameTypeDefaultDescription
options{ ... }{}

Options for generating a URL for an image.

options.backgroundColor?stringfaker.color.rgb({ format: 'hex', prefix: '' })

The background color of the image.

options.format?'gif' | 'jpeg' | 'jpg' | 'png' | 'webp'faker.helpers.arrayElement(['gif', 'jpeg', 'jpg', 'png', 'webp'])

The format of the image.

options.height?numberfaker.number.int({ min: 1, max: 3999 })

The height of the image.

options.text?stringfaker.lorem.words()

The text to display on the image.

options.textColor?stringfaker.color.rgb({ format: 'hex', prefix: '' })

The text color of the image.

options.width?numberfaker.number.int({ min: 1, max: 3999 })

The width of the image.

Returns: string

ts
function urlPlaceholder(
    options: {
      width?: number;
      height?: number;
      backgroundColor?: string;
      textColor?: string;
      format?: 'gif' | 'jpeg' | 'jpg' | 'png' | 'webp';
      text?: string;
    } = {}
  ): string;
faker.image.urlPlaceholder() // 'https://via.placeholder.com/150x180/FF0000/FFFFFF.webp?text=lorem'
faker.image.urlPlaceholder({ width: 128 }) // 'https://via.placeholder.com/128x180/FF0000/FFFFFF.webp?text=lorem'
faker.image.urlPlaceholder({ height: 128 }) // 'https://via.placeholder.com/150x128/FF0000/FFFFFF.webp?text=lorem'
faker.image.urlPlaceholder({ backgroundColor: '000000' }) // 'https://via.placeholder.com/150x180/000000/FFFFFF.webp?text=lorem'
faker.image.urlPlaceholder({ textColor: '000000' }) // 'https://via.placeholder.com/150x180/FF0000/000000.webp?text=lorem'
faker.image.urlPlaceholder({ format: 'png' }) // 'https://via.placeholder.com/150x180/FF0000/FFFFFF.png?text=lorem'
faker.image.urlPlaceholder({ text: 'lorem ipsum' }) // 'https://via.placeholder.com/150x180/FF0000/FFFFFF.webp?text=lorem+ipsum'
faker.image.urlPlaceholder({ width: 128, height: 128, backgroundColor: '000000', textColor: 'FF0000', format: 'png', text: 'lorem ipsum' }) // 'https://via.placeholder.com/128x128/000000/FF0000.png?text=lorem+ipsum'

Released under the MIT License.