LUCKY.GRAPHICS
Fluent UI by Microsoft
design-systems
Free

Fluent UI by Microsoft

🍀 Directory Note

"The reference system for Microsoft-shaped products: a genuinely token-driven Fluent 2 language with a maintained library per platform, in exchange for adopting Microsoft's stack and styling model on each one."

About Fluent UI by Microsoft

Fluent is Microsoft's design system, and Fluent 2 is its current design language, documented at fluent2.microsoft.design with Figma UI kits for designers. It is the system behind Microsoft 365 and Teams, and unlike most entries in this directory it is not one library: the same language is implemented separately for each platform. On the web the main implementation is Fluent UI React v9, built on React and TypeScript and published on npm as the suite package @fluentui/react-components (version 9.74.11, checked October 2026), which re-exports the individual component packages. A framework-agnostic line, @fluentui/web-components, is built on FAST Element and TypeScript and styles components with tokens exposed as CSS variables. Native work has its own libraries: Fluent UI Apple in Swift for iOS and macOS, Fluent UI Android in Kotlin, and WinUI for native Windows apps.

Tokens are the shared layer. Fluent uses two token layers: global tokens, which are context-agnostic and store raw values for color, typography, border radius, stroke width, and animation, and alias tokens, which add semantic meaning on top and condense many values into one for complex cases like shadows and type. Microsoft states the token system supports light, dark, high-contrast, and branded theming out of the box. In React v9 an app installs @fluentui/react-components, wraps its root in a FluentProvider with a theme such as webLightTheme, and styles are written in CSS-in-JS through Griffel, Microsoft's styling engine, rather than in global stylesheets. Designers get the matching half: the Fluent 2 design language file in Figma houses the global and alias variables for color, stroke width, corner radius, spacing, and size, with light and dark mode toggling, and the UI kits' component properties map to the code.

Two cautions belong in any honest review. The previous React major, v8 (@fluentui/react), is still in wide use, and Microsoft publishes a migration path to v9 rather than an in-place upgrade, so an older codebase is looking at a real migration project. And while the component code is MIT licensed, Microsoft's own notices state that the fonts and icons referenced by Fluent UI React are subject to separate asset license terms, so the code license does not settle the asset question.

Primary Use Cases

  • 1
    Microsoft 365 and Teams-adjacent Products
  • 2
    Enterprise Productivity Software
  • 3
    Cross-platform Product Suites (Web, iOS, Android, Windows)
  • 4
    Admin Consoles and Internal Tools

Technical Data

Guidelines

fluent2.microsoft.design (components, design tokens, get-started guides per platform, Figma UI kits)

Web implementation

Fluent UI React v9: @fluentui/react-components suite package on npm (version 9.74.11, checked October 2026); React and TypeScript; styling via Griffel CSS-in-JS; setup is a FluentProvider with a theme at the app root

Web components

@fluentui/web-components, built on FAST Element and TypeScript, distributed as JavaScript modules; tokens applied as CSS variables via the setTheme utility with themes from @fluentui/tokens

Tokens

Two layers: global tokens (raw, context-agnostic values for color, typography, radius, stroke width, animation) and alias tokens (semantic values, condensing shadows and type); supports light, dark, high-contrast, and branded themes

Native implementations

Fluent UI Apple (Swift, UIKit and AppKit; iOS 14 or later, macOS 10.15 or later) and Fluent UI Android (Kotlin); WinUI carries the language for native Windows apps

Previous version

Fluent UI React v8 (@fluentui/react) remains in wide use; Microsoft documents a migration path to v9 in its Storybook migration topic

Design files

Fluent 2 design language file and UI kits in Figma, with global and alias variables for color, stroke width, corner radius, spacing, and size, and light and dark modes

License

MIT for the component code (npm registry, checked October 2026); fonts and icons referenced by Fluent UI React are subject to Microsoft's separate Fluent UI asset license terms

Editorial review

Editorial score9.3/10

Fluent is best understood as a language with several native speakers, not as a component library with ports. Microsoft maintains a React implementation, a web components implementation, Swift and Kotlin libraries, and WinUI for Windows, and Fluent 2 is the design language they all target. That structure is the main thing worth studying here, and also the main cost of adopting it.

Tokens carry the language Fluent's token system has two layers, and the split is doing real work. Global tokens store raw values with no context: this hex code, this radius, this stroke width. Alias tokens sit on top and say what a value is for, and for shadows and type they condense a bundle of values into a single named token. Because components consume alias tokens, Microsoft can ship light, dark, high-contrast, and branded themes as token sets rather than component variants, and the Figma side mirrors the same structure: the Fluent 2 design language file holds the global and alias variables, so a designer toggling a Figma file between light and dark is using the same mechanism a developer gets from swapping a theme. Most systems claim design and code share tokens; Fluent's two-layer model is one of the clearer public examples of how that is actually organised.

The web story is React v9, with a second door New web work starts with Fluent UI React v9. The install is one suite package, @fluentui/react-components, which re-exports the per-component packages, and the setup is a FluentProvider with a theme at the root of the app. Styling runs through Griffel, a CSS-in-JS engine that renders styles and inserts CSS when needed; styles are written as JavaScript objects beside the component, which keeps them scoped and type-checked, and asks the team to learn that model instead of plain CSS. Teams that are not on React are not locked out, but they take the second door: @fluentui/web-components, custom elements built on FAST Element, themed by setting token CSS variables. It is a real implementation, not a wrapper, which also means its component coverage and documentation are their own thing to evaluate.

The honest costs Three of them. First, per-platform means per-platform: an organisation shipping web, iOS, and Android maintains three Fluent codebases that share tokens and guidelines, not code. Second, the v8 to v9 move is a migration, with its own documented topic, not a version bump; a large @fluentui/react codebase should budget for it as a project. Third, licensing needs one careful read: the code is MIT, but Microsoft's notices carve out the fonts and icons the components reference under separate asset terms, so a team shipping a product should not treat the MIT file as the whole answer.

Bottom line Building a product that should feel at home next to Microsoft 365 and Teams, or a multi-platform product that needs one design language with native implementations? Fluent 2 is a strong public option, and its token architecture is worth studying even if you adopt nothing else. Building a single-platform web app with a strong brand of its own? You will use a fraction of this system and carry its styling model and visual identity anyway, so weigh lighter libraries first.

Directory Analysis & Suitability

Key Advantages

  • One design language with a real implementation per platform: React v9 and web components for the web, Swift for Apple, Kotlin for Android, WinUI for Windows
  • Two-layer token system (global raw values, alias semantic values) with light, dark, high-contrast, and branded theming handled at the token level
  • Designer and code halves match: Figma variables carry the same global and alias tokens, and UI kit component properties map to the code

Considerations

  • Each platform is a separate library with its own setup and release cadence; there is no single cross-platform codebase to adopt
  • React v8 codebases face a documented migration to v9, not an in-place upgrade, and Griffel CSS-in-JS is its own styling model to learn
  • The MIT license covers the code; the fonts and icons the components reference sit under separate Microsoft asset license terms

Platform Compatibility

Web Environment

Primary surface: Fluent UI React v9 (@fluentui/react-components, React and TypeScript, Griffel styling) or @fluentui/web-components on FAST Element for framework-agnostic use.

Mobile & Touch

Separate native libraries, not a port: Fluent UI Apple (Swift, UIKit and AppKit, iOS 14 and macOS 10.15 or later per Microsoft's guide) and Fluent UI Android (Kotlin).

Desktop Software

Native Windows apps use WinUI, which builds on the same Fluent design language; desktop web apps use the React line.

Publisher-Listed Usage
Not independently verified
Developed By
Microsoft Design
License Type
MIT for code (checked October 2026); fonts and icons under Microsoft's separate Fluent UI assets license
Access Model
Open Source