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.
# Search by name
<img src="https://img.icons8.com/ios/96/">Latin letters, digits and hyphens, like “shopping-cart”
# Color: six hex digits, monochrome styles
<img src="https://img.icons8.com/ios/96//search">Six hex digits, like 2266EE, without “#”
# Pick a style
<img src="https://img.icons8.com//96/search">Choose one of the styles
# 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
# Choose a format
<img src="https://img.icons8.com/color/96/search.">Choose a format
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.
Icon rendering endpoints with format conversion and customization
Renders an icon by its ID. Supports multiple output formats with customizable size and color.
Example: /?id=1337&format=png&size=128&color=ff0000
Icon ID
Output format for the icon. Animated formats (gif, apng, aep, json) only work with animated icons.
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.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/?id=&format=png')
Successfully returns the rendered icon as binary image data. The icon will be displayed here.
Renders an icon using its name and format.
Example: /android.png or /home.svg
Icon name (e.g., 'android', 'home', 'settings')
File format extension
Successfully returns the icon in the requested format.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/{name}.png')
Successfully returns the icon in the requested format.
Renders an icon with a specific size.
Example: /128/android.png or /64/home.svg
Icon size in pixels or multiplier format ('2x', '3x', '4x')
Icon name
File format extension
Successfully returns the icon in the requested format.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/{size}/{name}.png')
Successfully returns the icon in the requested format.
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)
Hex color code without '#' (e.g., 'ff0000' for red)
Icon name
File format extension
Successfully returns the icon in the requested format.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/{color}/{name}.png')
Successfully returns the icon in the requested format.
Renders an icon with custom color and size.
Example: /ff0000/128/android.png (red icon, 128px)
Hex color code without '#'
Icon size in pixels
Icon name
File format extension
Successfully returns the icon in the requested format.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/{color}/{size}/{name}.png')
Successfully returns the icon in the requested format.
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
Icon size in pixels
Icon platform/style (e.g., 'ios7', 'material', 'fluency', 'color', 'windows')
Icon name
File format extension
Successfully returns the icon in the requested format.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/{size}/{platform}/{name}.png')
Successfully returns the icon in the requested format.
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
Hex color code without '#'
Icon size in pixels
Icon platform/style (e.g., 'ios7', 'material', 'fluency', 'color', 'windows')
Icon name
File format extension
Successfully returns the icon in the requested format.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/{color}/{size}/{platform}/{name}.png')
Successfully returns the icon in the requested format.
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)
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
Successfully returns the icon in the requested format.
import { request } from 'undici'
const { statusCode, body } = await request('https://img.icons8.com/{color1}/{color2}/{size}/{platform}/{name}.png')
Successfully returns the icon in the requested format.