Skip to main content

WelcomeScreen Component

The WelcomeScreen component displays helpful hints and a central menu when users first open the Excalidraw editor. It’s designed to guide new users and can be fully customized to match your application’s branding and onboarding flow.

Basic Usage

Welcome Screen Structure

The WelcomeScreen is composed of several subcomponents that can be used together or individually:

Main Component

React.ReactNode
The content to display in the welcome screen. Typically includes WelcomeScreen.Center and hint components. If not provided, renders the default welcome screen.

WelcomeScreen.Center

The central panel containing the logo, heading, and menu.
React.ReactNode
Content for the center panel. If not provided, renders default logo, heading, and menu.
Displays the Excalidraw logo or a custom logo.
React.ReactNode
Custom logo content. If not provided, displays the Excalidraw logo.

WelcomeScreen.Center.Heading

The main heading text.
React.ReactNode
required
The heading text to display.

WelcomeScreen.Center.Menu

Container for menu items.
React.ReactNode
Menu items to display. Can be built-in items or custom MenuItem components.

Built-in Menu Items

WelcomeScreen.Center.MenuItemLoadScene

Opens the file picker to load a scene.
This item is automatically hidden when viewModeEnabled is true.

WelcomeScreen.Center.MenuItemHelp

Opens the help dialog with keyboard shortcuts.

WelcomeScreen.Center.MenuItemLiveCollaborationTrigger

Triggers live collaboration mode.
function
required
Callback when the collaboration item is clicked.

Custom Menu Items

WelcomeScreen.Center.MenuItem

A clickable menu item.
Props:
  • onSelect (function, required) - Callback when clicked
  • icon (JSX.Element) - Icon to display
  • shortcut (string) - Keyboard shortcut to show
  • children (React.ReactNode) - Item label
A menu item that links to an external URL.
Props:
  • href (string, required) - URL to open
  • icon (JSX.Element) - Icon to display
  • shortcut (string) - Keyboard shortcut to show
  • children (React.ReactNode) - Link label

Welcome Screen Hints

Visual hints that point to different parts of the UI.

WelcomeScreen.Hints.MenuHint

Points to the main menu (hamburger icon) in the top-left corner.
React.ReactNode
Custom hint text. If not provided, uses default localized text.

WelcomeScreen.Hints.ToolbarHint

Points to the toolbar at the top of the canvas.
React.ReactNode
Custom hint text. If not provided, uses default localized text.

WelcomeScreen.Hints.HelpHint

Points to the help button in the bottom-right corner.
React.ReactNode
Custom hint text. If not provided, uses default localized text.

Complete Examples

Controlling Visibility

The welcome screen is controlled by the showWelcomeScreen property in the app state:

Styling

The WelcomeScreen uses these CSS classes:

Internationalization

The default welcome screen text is automatically localized based on the langCode prop:
To use custom text, provide your own content:

Best Practices

  1. Keep it simple - Don’t overwhelm users with too many options
  2. Show value quickly - Highlight the most important actions first
  3. Use clear language - Avoid jargon, be welcoming and friendly
  4. Provide escape - Make it easy for users to dismiss and start working
  5. Consider mobile - Ensure the welcome screen is readable on small screens
  6. Show once - Remember user preference to not show again
  7. Test with users - Validate that your welcome screen actually helps

See Also