Examples

Explore our collection of example apps to learn how to implement common features and patterns in your Canva app.

The Canva Apps SDK Starter Kit(opens in a new tab or window) contains a collection of example apps that demonstrate how to implement common features and patterns in your Canva app.

Getting started

The Apps SDK Starter Kit includes atomic examples for our various features. To run the examples locally, follow these steps:

  1. Create a new app in the Developer Portal(opens in a new tab or window). For more information, refer to our Quickstart guide.

  2. In your app's configuration on the Developer Portal(opens in a new tab or window), ensure the "Development URL" is set to http://localhost:8080.

  3. Clone the starter kit:

    git clone https://github.com/canva-sdks/canva-apps-sdk-starter-kit.git
    cd canva-apps-sdk-starter-kit
    SHELL
  4. Install dependencies:

    npm install
    SHELL
  5. Run the examples explorer:

    npm run start examples
    SHELL
  6. Click the Preview URL link shown in the terminal to open the example in the Canva editor.

Examples

App elements

App element children

Build composite app elements from multiple child elements.

App embed elements

Create embed elements inside app elements.

App image elements

Create image elements inside app elements.

App shape elements

Create shape elements inside app elements.

App text elements

Create text elements inside app elements.

App video elements

Create video elements inside app elements.

Assets and media

Asset upload

Upload and manage assets directly into Canva.

Digital asset management

Digital asset management system using Canva app components.

Fonts

Use the fonts picker to apply custom fonts to text elements in designs.

Image editing overlay

Create custom image editing overlays and filters.

Fundamentals

Authentication

Third-party authentication integration for external platforms.

Feature support

Feature detection and conditional functionality based on platform support.

Fetch

Secure communication between apps and servers using the browser's Fetch API.

UI

Color

Color picker for Brand, Document, and custom colors.

Masonry

Masonry layout implementation using the App UI Kit.

Notification

Display toast notifications to users.

Open external link

Open external URLs safely from within Canva apps.

Intents

Data connector intent

Data connector integration for external data sources.

Design interaction

Design editing

Edit and modify design properties and content.

Design metadata

Retrieve and access design metadata and properties.

Design token

Secure token-based authentication and design access.

Export

Export designs in various formats and resolutions.

Page addition

Add new pages with pre-populated elements to designs.

Page background

Set and modify page background colors and images.

Positioning elements

Position elements precisely using page dimensions and coordinates.

Drag and drop

Drag and drop audio

Drag-and-drop functionality for audio elements.

Drag and drop embed

Drag-and-drop functionality for embed elements.

Drag and drop image

Drag-and-drop functionality for image elements.

Drag and drop text

Drag-and-drop functionality for text elements.

Drag and drop video

Drag-and-drop functionality for video elements.

Design elements

Embed elements

Add interactive embed elements to designs.

Group elements

Group multiple elements together for unified manipulation.

Image elements

Add image elements to designs with editing capabilities.

Richtext elements

Add rich text elements with formatting to designs.

Shape elements

Add geometric shape elements to designs.

Shape elements with asset

Create shape elements with image and video fills.

Table elements

Add structured table elements with rows and columns.

Text elements

Create and style text elements in designs.

Video elements

Add video elements to designs with playback controls.

Localization

I18n

Internationalization support using react-intl with ICU syntax implementation.

Content replacement

Image replacement

Replace selected image elements with custom images.

Richtext replacement

Replace selected rich text elements with formatted content.

Text replacement

Replace selected text elements with custom content.

Text translation

Replace and translate text elements across different languages.

Video replacement

Replace selected video elements in designs with custom content.

Testing

UI test

UI and snapshot testing App UI.

Unit test

Unit testing Apps SDK packages.

Need Help?