{ "$id": "https://lucide.dev/icons.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$vocabulary": { "https://json-schema.org/draft/2020-12/vocab/core": true, "https://json-schema.org/draft/2020-12/vocab/applicator": true, "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, "https://json-schema.org/draft/2020-12/vocab/validation": true, "https://json-schema.org/draft/2020-12/vocab/meta-data": true, "https://json-schema.org/draft/2020-12/vocab/format-annotation": true, "https://json-schema.org/draft/2020-12/vocab/content": true }, "title": "Lucide Icons icon schema", "type": "object", "additionalProperties": false, "required": ["$schema", "contributors", "categories", "tags", "use-cases"], "properties": { "$schema": { "type": "string" }, "aliases": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["name"], "properties": { "name": { "type": "string" }, "deprecated": { "const": true }, "deprecationReason": { "$ref": "#/$defs/aliasDeprecationReasons" }, "toBeRemovedInVersion": { "$ref": "#/$defs/versionNumber", "description": "The version this icon will be removed in." } }, "dependentRequired": { "deprecated": ["deprecationReason"], "deprecationReason": ["deprecated"], "toBeRemovedInVersion": ["deprecated"] } }, "uniqueItems": true }, "categories": { "type": "array", "items": { "anyOf": [ { "type": "string", "enum": [ "accessibility", "account", "animals", "arrows", "buildings", "charts", "communication", "connectivity", "cursors", "design", "development", "devices", "emoji", "files", "finance", "food-beverage", "gaming", "home", "layout", "letters-digits", "mail", "math", "medical", "multimedia", "nature", "navigation", "notifications", "people", "photography", "science", "seasons", "security", "shapes", "shopping", "social", "sports", "sustainability", "text", "time", "tools", "transportation", "travel", "weather" ] }, { "type": "string", "pattern": "^\\$extends:[a-z0-9]+(-[a-z0-9]+)*$" } ] }, "uniqueItems": true }, "contributors": { "type": "array", "items": { "type": "string", "if": { "pattern": "^\\$[a-zA-Z]" }, "then": { "pattern": "^\\$extends:[a-z0-9]+(-[a-z0-9]+)*$" } }, "minItems": 1, "uniqueItems": true }, "tags": { "type": "array", "items": { "anyOf": [ { "type": "string", "not": { "pattern": "^\\$[a-zA-Z]" } }, { "type": "string", "pattern": "^\\$extends:[a-z0-9]+(-[a-z0-9]+)*$" }, { "$ref": "#/$defs/groupMarker" } ] }, "minItems": 1, "uniqueItems": true }, "use-cases": { "type": "array", "items": { "type": "string" }, "minItems": 0, "uniqueItems": true }, "deprecated": { "const": true }, "deprecationReason": { "$ref": "#/$defs/iconDeprecationReasons" }, "toBeRemovedInVersion": { "$ref": "#/$defs/versionNumber", "description": "The version this icon will be removed in." } }, "dependentRequired": { "deprecated": ["deprecationReason"], "deprecationReason": ["deprecated"], "toBeRemovedInVersion": ["deprecated"] }, "$defs": { "iconDeprecationReasons": { "type": "string", "enum": ["icon.design", "icon.use-case"] }, "aliasDeprecationReasons": { "type": "string", "enum": ["alias.typo", "alias.name", "alias.duplicate"] }, "versionNumber": { "type": "string", "pattern": "v[0-9]+(\\.[0-9]+)+" }, "groupMarker": { "type": "string", "description": "Pulls in the tags of groups/.json.", "enum": [ "$group:chart", "$group:check", "$group:clock", "$group:code", "$group:cog", "$group:currency", "$group:dashed", "$group:digit", "$group:direction-down", "$group:direction-down-left", "$group:direction-down-right", "$group:direction-left", "$group:direction-right", "$group:direction-up", "$group:direction-up-left", "$group:direction-up-right", "$group:dot", "$group:emoticon", "$group:enter", "$group:exclamation-mark", "$group:exit", "$group:graph", "$group:heart", "$group:key", "$group:layout-resize", "$group:letter", "$group:line", "$group:lock", "$group:minus", "$group:navigation-first", "$group:navigation-last", "$group:navigation-next", "$group:navigation-previous", "$group:off", "$group:pause", "$group:pen", "$group:percent", "$group:play", "$group:plus", "$group:position-bottom", "$group:position-left", "$group:position-right", "$group:position-top", "$group:question-mark", "$group:search", "$group:shield", "$group:sort", "$group:sparkles", "$group:star", "$group:stop", "$group:sync", "$group:user", "$group:x" ] } }, "description": "A JSON Schema for icons defined by Lucide Icons." }