Icon registry for Roblox

Every icon set.
One loader.

Lucide, Tabler, Heroicons, Phosphor and Fluent, packed into spritesheets and fonts. Switch providers at runtime and get a ready-to-use asset for any icon.

Browse icons
example.lua
-- load the registry
local Icons = loadstring(
    game:HttpGet("…/source.lua")
)()

-- pick a provider, then look icons up by name
Icons.SetProvider("tabler")
local icon = Icons.GetAsset("moon")

image.Image = icon.Url
image.ImageRectSize = icon.ImageRectSize
image.ImageRectOffset = icon.ImageRectOffset

Providers

Pick the look you want. Every provider shares the same API.

Loading providers…

Built for executors

The loader adapts to what your environment supports.

Switch at runtime

SetProvider changes the default, or pass a provider to a single lookup. Providers load lazily the first time you use them.

Sprites and fonts

Every icon returns an image rect for ImageLabel. Providers with a font also return FontFace and Text for crisp, scalable icons.

Cached on disk

Spritesheets, fonts and data are stored per build, and older builds are pruned. Without file support it falls back to uploaded Roblox assets.

Aliases resolve

Renamed icons keep working. Aliases point at the real icon, so old names from your scripts still find their sprite.

Usage

Three calls cover most scripts.

  1. Load the registry

    local Icons = loadstring(game:HttpGet(""))()
  2. Choose a provider

    print(Icons.Providers) -- sorted provider ids
    Icons.SetProvider("lucide")
  3. Look up an icon

    local icon = Icons.GetAsset("moon")            -- active provider
    local other = Icons.GetAsset("moon", "tabler") -- one-off lookup

Find an icon name