npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rbxts/lucide

v0.1.3

Published

Lucide Icons for Roblox

Readme

Lucide Logo Lucide Icons Library for Roblox

License Latest Release Last Modified Discord Server

Get it from Wally Get it from the Roblox Marketplace

Library to Use the Lucide Icon Set (https://lucide.dev) in Roblox

Unlike the similar plugin (which uses this library as well!), this exists to serve as a library/package that you can access programmatically at runtime in any other games, applications, plugins etc.

This library was originally made for the intent of use with the Commander project, but stands applicable to anything else as well.

See list of rendered icons and their internal identifiers: md/icon-index.md

⚙️ Installation

There are multiple methods of using the library in your project; you can download the model/script file directly, use the Wally package manager, or get it on Roblox's official Developer Marketplace.

Manual Download

From the releases page, on the latest published release, you can download either lucide-roblox.rbxm, or lucide-roblox.luau (built by the Wax bundler) if you want to use the library from one module. From there, just import into your project/Studio, and you're done!

Via the Wally Package Manager

If you're familiar with Wally, you can also import the latte-soft/lucide-icons package in your wally.toml file:

[dependencies]
Lucide = "latte-soft/[email protected]"

Get from the Roblox Developer Marketplace

If you really want to, you could even take the model for your inventory, and import it from Studio's Toolbox etc.

🔨 Usage/API

You must define a Lucide variable mapping to wherever the library's module is located - ReplicatedStorage, Wally's Packages directory, wherever..

For the sake of generalization, here's an example for if the module was under ReplicatedStorage in a standard game/workflow:

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Lucide = require(ReplicatedStorage.Lucide)

From here, you can use any of the API members listed below.

Sections

Constants

  • Lucide.PackageVersion: string

    The version of the lucide-roblox library itself (e.g. 0.1.0)

  • Lucide.LucideVersion: string

    The version of Lucide Icons itself that's aligned with the current library version (e.g. 0.292.0)

  • Lucide.IconNames: {string}

    An alphabetically-sorted array of every icon name/identifier accessible

Functions

  • function Lucide.GetAsset(iconName: string, iconSize: number?): Asset

    Attempts to retrieve and wrap an asset object from a specified icon name, with an optional target icon size argument, fetching the closest to what's supported

    Will throw an error if the icon name provided is invalid/not found

    Example:

    local Asset = Lucide.GetAsset("server", 48) -- iconSize will default to `256` if not provided
    assert(Asset, "Failed to fetch asset!")
    
    print(Asset.IconName) -- "server"
    print(Asset.Id) -- 15269177520
    print(Asset.Url) -- "rbxassetid://15269177520"
    print(Asset.ImageRectSize) -- Vector2.new(48, 48)
    print(Asset.ImageRectOffset) -- Vector2.new(0, 771)
  • function Lucide.GetAllAssets(inputSize: number?): {Asset}

    Returns a dictionary of every Asset from every icon name in Lucide.IconNames

    This could also be useful for, for example, working with a custom asset preloading system via ContentProvider:PreloadAsync() etc

    Example:

    local AllAssets = Lucide.GetAllAssets(256) -- Also defaults to `256`, just like `Lucide.GetAsset()`
    
    for _, Asset in AllAssets do
        print(Asset.IconName, Asset.Url)
    end
  • function Lucide.ImageLabel(iconName: string, imageSize: number?, propertyOverrides: {[string]: any}?): ImageLabel

    Wrapper around Lucide.GetAsset() that fetches asset info for the specified icon name and size, anc creates an ImageLabel Instance. Accepts an additional optional argument for providing a table of properties to automatically apply after the asset has been applied to said ImageLabel

    Without providing any extra property overrides, the icon is colored to its default of #FFFFFF, and theinput from the imageSize argument is the offset value of ImageLabel.Size

    Throws an error under the same terms as Lucide.GetAsset()

    Example:

    local PlayerGui = game:GetService("Players").LocalPlayer.PlayerGui
    local ScreenGui = Instance.new("ScreenGui")
    
    Lucide.ImageLabel("server-crash", 256, {
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.fromScale(0.5, 0.5),
    
        Parent = ScreenGui,
    })
    
    ScreenGui.Parent = PlayerGui

Types

  • export type Asset = {
        IconName: string, -- "icon-name"
        Id: number, -- 123456789
        Url: string, -- "rbxassetid://123456789"
        ImageRectSize: Vector2, -- Vector2.new(48, 48)
        ImageRectOffset: Vector2, -- Vector2.new(648, 266)
    }

License

The lucide-roblox package itself is licensed under the MIT License, while Lucide Icons as a whole is licensed under the ISC License. (Derivatively compatible)

See the complete license notice at LICENSE.md.