Custom user interface components

Replace every interface element with React components that match your brand.

Key features

Key features

Key features

Key features

Component overrides

Replace any UI element through simple prop-based component replacement without breaking functionality. Perfect for branded applications that feel completely native.

Component overrides

Replace any UI element through simple prop-based component replacement without breaking functionality. Perfect for branded applications that feel completely native.

Component overrides

Replace any UI element through simple prop-based component replacement without breaking functionality. Perfect for branded applications that feel completely native.

Component overrides

Replace any UI element through simple prop-based component replacement without breaking functionality. Perfect for branded applications that feel completely native.

CSS variable theming

Customize colors, fonts, and spacing through semantic CSS variables, light and dark modes included. Match existing design systems without architectural conflicts.

CSS variable theming

Customize colors, fonts, and spacing through semantic CSS variables, light and dark modes included. Match existing design systems without architectural conflicts.

CSS variable theming

Customize colors, fonts, and spacing through semantic CSS variables, light and dark modes included. Match existing design systems without architectural conflicts.

CSS variable theming

Customize colors, fonts, and spacing through semantic CSS variables, light and dark modes included. Match existing design systems without architectural conflicts.

Menu customization

Extend context menus, toolbars, and panels with custom actions and organize them into logical groups. Ideal for domain-specific workflows and shortcuts.

Menu customization

Extend context menus, toolbars, and panels with custom actions and organize them into logical groups. Ideal for domain-specific workflows and shortcuts.

Menu customization

Extend context menus, toolbars, and panels with custom actions and organize them into logical groups. Ideal for domain-specific workflows and shortcuts.

Menu customization

Extend context menus, toolbars, and panels with custom actions and organize them into logical groups. Ideal for domain-specific workflows and shortcuts.

Style property system

Create shared styling properties that work across multiple shape types for consistent theming and visual unity.

Style property system

Create shared styling properties that work across multiple shape types for consistent theming and visual unity.

Style property system

Create shared styling properties that work across multiple shape types for consistent theming and visual unity.

Style property system

Create shared styling properties that work across multiple shape types for consistent theming and visual unity.

Responsive layouts

Components automatically adapt to different screen sizes with built-in breakpoint handling and mobile-optimized behavior patterns.

Responsive layouts

Components automatically adapt to different screen sizes with built-in breakpoint handling and mobile-optimized behavior patterns.

Responsive layouts

Components automatically adapt to different screen sizes with built-in breakpoint handling and mobile-optimized behavior patterns.

Responsive layouts

Components automatically adapt to different screen sizes with built-in breakpoint handling and mobile-optimized behavior patterns.

Asset replacement

Replace icons, fonts, and visual assets with your branded versions while keeping editor functionality intact.

Asset replacement

Replace icons, fonts, and visual assets with your branded versions while keeping editor functionality intact.

Asset replacement

Replace icons, fonts, and visual assets with your branded versions while keeping editor functionality intact.

Asset replacement

Replace icons, fonts, and visual assets with your branded versions while keeping editor functionality intact.

Customize everything

No black boxes, no compromises. Extend, replace, and control every layer of the canvas.

Customize everything

No black boxes, no compromises. Extend, replace, and control every layer of the canvas.

Customize everything

No black boxes, no compromises. Extend, replace, and control every layer of the canvas.

Customize everything

No black boxes, no compromises. Extend, replace, and control every layer of the canvas.

Engineering details

Engineering details

Engineering details

Engineering details

Component override architecture

The UI system uses a comprehensive interface with over 25 replaceable components covering toolbars, menus, panels, and dialogs. Pass replacement components through props to customize anything from individual buttons to complete interface sections. Components merge with defaults automatically, and setting components to null removes them entirely from the interface.

Component override architecture

The UI system uses a comprehensive interface with over 25 replaceable components covering toolbars, menus, panels, and dialogs. Pass replacement components through props to customize anything from individual buttons to complete interface sections. Components merge with defaults automatically, and setting components to null removes them entirely from the interface.

Component override architecture

The UI system uses a comprehensive interface with over 25 replaceable components covering toolbars, menus, panels, and dialogs. Pass replacement components through props to customize anything from individual buttons to complete interface sections. Components merge with defaults automatically, and setting components to null removes them entirely from the interface.

Component override architecture

The UI system uses a comprehensive interface with over 25 replaceable components covering toolbars, menus, panels, and dialogs. Pass replacement components through props to customize anything from individual buttons to complete interface sections. Components merge with defaults automatically, and setting components to null removes them entirely from the interface.

Container-content separation

Every major UI component follows a consistent pattern where container components handle state and positioning while content components handle rendering. This separation lets you wrap existing content with custom containers or replace content while keeping proven interaction logic. The pattern supports both complete replacement and compositional customization.

Container-content separation

Every major UI component follows a consistent pattern where container components handle state and positioning while content components handle rendering. This separation lets you wrap existing content with custom containers or replace content while keeping proven interaction logic. The pattern supports both complete replacement and compositional customization.

Container-content separation

Every major UI component follows a consistent pattern where container components handle state and positioning while content components handle rendering. This separation lets you wrap existing content with custom containers or replace content while keeping proven interaction logic. The pattern supports both complete replacement and compositional customization.

Container-content separation

Every major UI component follows a consistent pattern where container components handle state and positioning while content components handle rendering. This separation lets you wrap existing content with custom containers or replace content while keeping proven interaction logic. The pattern supports both complete replacement and compositional customization.

Shape utility extensions

Custom shapes inherit from base shape utilities that handle geometry calculations, hit testing, and rendering optimizations automatically. Your custom shape code focuses on unique visual and interactive aspects while the framework handles canvas performance, selection behavior, and collaborative synchronization. The system includes full TypeScript support for type-safe shape definitions.

Shape utility extensions

Custom shapes inherit from base shape utilities that handle geometry calculations, hit testing, and rendering optimizations automatically. Your custom shape code focuses on unique visual and interactive aspects while the framework handles canvas performance, selection behavior, and collaborative synchronization. The system includes full TypeScript support for type-safe shape definitions.

Shape utility extensions

Custom shapes inherit from base shape utilities that handle geometry calculations, hit testing, and rendering optimizations automatically. Your custom shape code focuses on unique visual and interactive aspects while the framework handles canvas performance, selection behavior, and collaborative synchronization. The system includes full TypeScript support for type-safe shape definitions.

Shape utility extensions

Custom shapes inherit from base shape utilities that handle geometry calculations, hit testing, and rendering optimizations automatically. Your custom shape code focuses on unique visual and interactive aspects while the framework handles canvas performance, selection behavior, and collaborative synchronization. The system includes full TypeScript support for type-safe shape definitions.

CSS variable system

The theming system uses semantic CSS variables that map to actual color values for light and dark modes. This two-layer approach lets you customize brand colors while maintaining semantic meaning throughout your interface.

CSS variable system

The theming system uses semantic CSS variables that map to actual color values for light and dark modes. This two-layer approach lets you customize brand colors while maintaining semantic meaning throughout your interface.

CSS variable system

The theming system uses semantic CSS variables that map to actual color values for light and dark modes. This two-layer approach lets you customize brand colors while maintaining semantic meaning throughout your interface.

CSS variable system

The theming system uses semantic CSS variables that map to actual color values for light and dark modes. This two-layer approach lets you customize brand colors while maintaining semantic meaning throughout your interface.

Branching chat starter kit

Build visual conversation interfaces where users create branching chat trees with AI integration. Perfect for interactive chatbots, conversation design tools, and storytelling applications. Create, connect, and organize chat nodes on an infinite canvas with real-time AI responses and context-aware conversation flows.

Agent starter kit

Give your AI agents visual superpowers. Allow them to read drawings, generate diagrams, and interact with canvas elements just like human users. You handle the AI integration, tldraw handles the complex canvas interactions, shape recognition, and visual rendering.

Agent starter kit

Give your AI agents visual superpowers. Allow them to read drawings, generate diagrams, and interact with canvas elements just like human users. You handle the AI integration, tldraw handles the complex canvas interactions, shape recognition, and visual rendering.

Branching chat starter kit

Build visual conversation interfaces where users create branching chat trees with AI integration. Perfect for interactive chatbots, conversation design tools, and storytelling applications. Create, connect, and organize chat nodes on an infinite canvas with real-time AI responses and context-aware conversation flows.

Examples

Examples

Examples

Examples

Full control, simple setup

From menus to theming, adapt every layer of the canvas without breaking flow.

Full control, simple setup

From menus to theming, adapt every layer of the canvas without breaking flow.

Full control, simple setup

From menus to theming, adapt every layer of the canvas without breaking flow.

Full control, simple setup

From menus to theming, adapt every layer of the canvas without breaking flow.

Product

Developers

Resources

Product

Developers

Resources

Product

Developers

Resources

Product

Developers

Resources