Instructure UI
Instructure UI (or InstUI) is the React component library and design system that powers Instructure's products, including Canvas LMS. It contains 100+ packages (one per component, plus theme, icon, and utility packages) and is published under the @instructure/* scope on npm. For most consumers, the easiest way to get started is to add the @instructure/ui meta-package, wrap your app in the settings provider, and start rendering components. There are no global stylesheets to import and no CSS classes to memorize: styling is handled internally with Emotion, and every component is themeable through the same provider.
We aim to make InstUI easy to use, easy to learn, and free from bloat. For this reason every component is built on a few shared principles. All components target WCAG 2.1 AA (and AAA when paired with the canvas-high-contrast theme), support RTL languages, work with VoiceOver, NVDA and JAWS, and never hardcode user-facing strings, so every label is localizable.
Out of the box InstUI ships with 4 themes. Theming is scoped: you can swap themes for an entire app, or for a subtree, by nesting another settings provider. For teams using AI coding agents, the whole component library is also available as a single downloadable archive of markdown at instructure.design/markdowns/documentation.zip, with an llms.txt catalog at instructure.design/llms.txt. For everyone else, the rendered docs at instructure.design are the best place to start.
Last updated
Was this helpful?