Live examples · no key needed
  1. # Search by name

    <img src="https://img.icons8.com/ios/96/">

    Latin letters, digits and hyphens, like “shopping-cart”

    search icon, ios style, 96 pxLoading the icon…
  2. # Color: six hex digits, monochrome styles

    <img src="https://img.icons8.com/ios/96//search">

    Six hex digits, like 2266EE, without “#”

    search icon, ios style, 96 pxLoading the icon…
  3. # Pick a style

    <img src="https://img.icons8.com//96/search">

    Choose one of the styles

    search icon, fluency style, 96 pxLoading the icon…
  4. # Size in pixels, up to 1600

    <img src="https://img.icons8.com/color//search">

    A whole number from 1 to 4096. Anything above 1600 comes back as 1600

    search icon, color style, 256 pxLoading the icon…
  5. # Choose a format

    <img src="https://img.icons8.com/color/96/search.">

    Choose a format

    search icon, color style, 96 pxLoading the icon…
Free Free, no key
FormatsPNG, JPG, WebP
Sizes1 to 1600 px. Larger sizes come back at 1600 px
Link attribution is required while you use the free tier. License terms
License With a license
Extra formatsSVG, PDF
SVG and PDF need a license. See pricing
v1.0.0
OpenAPI 2.0

Icons Renderer API

Dynamic icon rendering service that generates icons in multiple formats (PNG, SVG, PDF, JPG, GIF, APNG). Customize size, color, and format with simple URL patterns or query parameters.

Server:https://img.icons8.com
Client Libraries

Rendering

​

Render icon by ID

​

Renders an icon by its ID. Supports multiple output formats with customizable size and color.

Example: /?id=1337&format=png&size=128&color=ff0000

Query Parameters

  • Icon ID

  • Output format for the icon. Animated formats (gif, apng, aep, json) only work with animated icons.

    values
    pngsvgsvg.editablepdfgifapngwebpjpgepsaepjson
  • Icon size in pixels (e.g., '100', '256') or multiplier format ('2x', '3x', '4x').

  • Icon color in hex format without '#'. Supports single color (e.g., 'ff0000') or gradient with two colors separated by comma (e.g., 'ff0000,00ff00'). Gradients only work with gradient-style icon sets.

Responses

Request Example for get/
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/?id=&format=png')
No Body

Render icon by name

​

Renders an icon using its name and format.

Example: /android.png or /home.svg

Path Parameters

  • Icon name (e.g., 'android', 'home', 'settings')

  • File format extension

    values
    pngsvgpdfgifapngwebpjpg

Responses

  • Successfully returns the icon in the requested format.

Request Example for get/{name}.{format}
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/{name}.png')
No Body

Render icon with specific size

​

Renders an icon with a specific size.

Example: /128/android.png or /64/home.svg

Path Parameters

  • Icon size in pixels or multiplier format ('2x', '3x', '4x')

  • Icon name

  • File format extension

    values
    pngsvgpdfgifapngwebpjpg

Responses

  • Successfully returns the icon in the requested format.

Request Example for get/{size}/{name}.{format}
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/{size}/{name}.png')
No Body

Render icon with specific color

​

Renders an icon with a custom color. Only works with non-color icons.

Example: /ff0000/android.png (red icon) or /00ff00/home.svg (green icon)

Path Parameters

  • Hex color code without '#' (e.g., 'ff0000' for red)

  • Icon name

  • File format extension

    values
    pngsvgpdfgifapngwebpjpg

Responses

  • Successfully returns the icon in the requested format.

Request Example for get/{color}/{name}.{format}
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/{color}/{name}.png')
No Body

Render icon with color and size

​

Renders an icon with custom color and size.

Example: /ff0000/128/android.png (red icon, 128px)

Path Parameters

  • Hex color code without '#'

  • Icon size in pixels

  • Icon name

  • File format extension

    values
    pngsvgpdfgifapngwebpjpg

Responses

  • Successfully returns the icon in the requested format.

Request Example for get/{color}/{size}/{name}.{format}
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/{color}/{size}/{name}.png')
No Body

Render icon with size and platform

​

Renders an icon with specific size and platform style. Platform determines the icon style (e.g., ios7, material, fluency, color, windows).

Example: /128/ios7/android.png or /64/material/home.svg

Path Parameters

  • Icon size in pixels

  • Icon platform/style (e.g., 'ios7', 'material', 'fluency', 'color', 'windows')

  • Icon name

  • File format extension

    values
    pngsvgpdfgifapngwebpjpg

Responses

  • Successfully returns the icon in the requested format.

Request Example for get/{size}/{platform}/{name}.{format}
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/{size}/{platform}/{name}.png')
No Body

Render icon with color, size, and platform

​

Renders an icon with custom color, size, and platform style. Platform determines the icon style (e.g., ios7, material, fluency). Parameters can be in any order except the filename with extension must be last.

Example: /ff0000/128/ios7/android.png or /00ff00/64/material/home.svg

Path Parameters

  • Hex color code without '#'

  • Icon size in pixels

  • Icon platform/style (e.g., 'ios7', 'material', 'fluency', 'color', 'windows')

  • Icon name

  • File format extension

    values
    pngsvgpdfgifapngwebpjpg

Responses

  • Successfully returns the icon in the requested format.

Request Example for get/{color}/{size}/{platform}/{name}.{format}
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/{color}/{size}/{platform}/{name}.png')
No Body

Render icon with gradient (two colors)

​

Renders an icon with a gradient using two colors. Only works with gradient-style icon sets. Parameters can be in any order except the filename with extension must be last.

Example: /ff0000/00ff00/128/ios7/android.png (red-to-green gradient, 128px, ios7 style)

Path Parameters

  • First hex color code for gradient start

  • Second hex color code for gradient end

  • Icon size in pixels

  • Icon platform/style

  • Icon name

  • File format extension

    values
    pngsvgpdfgifapngwebpjpg

Responses

  • Successfully returns the icon in the requested format.

Request Example for get/{color1}/{color2}/{size}/{platform}/{name}.{format}
import { request } from 'undici'

const { statusCode, body } = await request('https://img.icons8.com/{color1}/{color2}/{size}/{platform}/{name}.png')
No Body