Skip to main content

API Glossary

In this article you'll learn more about how Stream Deck icon packs are structured and defined.

warning

This API glossary is for reference purposes only — to create icon packs, please use Icon Pack Man.

File Structure

Below is the recommended structure for Stream Deck icon packs.

.
├── icons/
│   └── ...
├── icon.svg
├── icons.json
├── license.txt
└── manifest.json

Manifest

The manifest JSON file defines your icon pack, and provides important metadata that determines how your icon pack is structured, what icons are available; this includes:

  • Your icon pack's name.

  • A reference to your licence file within the icon pack.

  • Version information.

For example:

{
    "Name": "Awesome Icons",
    "Version": "1.0.0",
    "Description": "Awesome icons for making your Stream Deck look... awesome!",
    "Author": "John Doe",
    "URL": "https://www.elgato.com",
    "Icon": "icon.svg",
    "License": "license.txt"
}

Definitions

Name

Required

Description

Author

Yes

Name of the Maker, visible in Stream Deck.

Name

Yes

Name of the icon pack, visible in Stream Deck.

Description

No

Brief description of the icon pack, visible within Stream Deck; this can differ to Marketplace.

Version

Yes

The version, typically represented as three numerical digits, for example 1.0.2, 3.0.8, etc. — we recommend following semantic versioning.

Icon

Yes

Relative path to the image that represents your icon pack in Stream Deck — for best results, this should be 56 × 56 px.

URL

No

URL to get more info about the icon pack.

Licence

No

Relative path to a txt file containing license information.

Icons Folder

The icons folder contains all icons provided by your icon pack, and icons may be provided in one of the following formats:

  • SVG

  • PNG

  • JPG

  • GIF

  • WEBP

For best results, icons should also be 144 × 144 px.

Icons Metadata

The icons JSON file contains metadata for each icon within the icons folder, for example:

[
    { "path": "icon_1.svg", "name": "Train", "tags": ["travel"] },
    { "path": "icon_2.svg", "name": "Salad", "tags": ["food"] },
    { "path": "icon_3.svg", "name": "Bike",  "tags": ["travel", "sport"] },
    ...
]

Definitions

Name

Required

Description

path

Yes

Path to the file, relatives to the icons folder.

name

Yes

Display name of the icon.

tags

Yes

Searchable tags