Canva’s content library is a big part of its charm. This page contains some guidelines for creating a content extension that behaves in a way that's familiar to users.
Choose the best layout
The layout of a content extension affects the appearance of content within the Canva editor. Your extension should use the layout most appropriate to the type of content it provides.
You should use the Grid layout if:
There is variability in the dimensions of the content.
There is a mix of transparent and non-transparent content.
The title of the content (and other metadata) is not essential to the user experience.
The extension doesn't organize content into containers.
Thumbnails exactly match the content that's added to the design.
You should use the List layout if:
There is no variability in the dimensions of the content.
Thumbnails must be displayed at full-width for them to be meaningful.
The content's metadata helps users differentiate between content (for example, videos displaying their title and publish date).
The content's thumbnail is not an exact match for how it appears in the design (for example, videos, maps, forms, etc).
Choose the best content types
You can configure an extension to support one or more content types. This determines the type of content the extension can import into Canva. You must only enable the content types that your extension demonstrably supports at submission time.
There's additional guidelines for each content type.
If you enable the Containers content type, the following requirements apply:
The use of containers improves the user's browsing experience.
Opening a container loads content that belongs to that container.
Users can paginate through containers.
The containers are organized the way they’re shown on the source platform (structure, hierarchy).
The containers are shown in the search results.
If you enable the Embeds content type, the following requirements apply:
If possible, content extensions should provide a search field that allows users to search for content.
If an extension has a search field, ensure that:
Search results match the user's expectations.
Search results are returned in a logical order.
Search results are paginated.
Users can search for partial words.
Thumbnails accurately represent the content.
Thumbnails are clear and not pixelated.
You can also (optionally) customize the placeholder text of the search field. As with all text, it should follow the copy guidelines. These are some good examples of placeholder text:
Enter a location
Enter a website URL
Search your folders
Handle empty states
When a user opens a content extension, they should be shown some initial content, rather than an empty screen. Sometimes though, this isn't possible, such as when an authenticated user doesn't have media uploaded to their account.
If it's not possible to provide initial content, an extension must provide Empty state text. Canva displays this text when there is no initial content.
If an extension provides Empty state text:
Keep the message concise, informative, and actionable.
Use 1-2 sentences.
Use fewer than 150 characters. This avoids overflow and allows the text to be translated into languages that may require more characters to convey the same meaning.
This is a good example of Empty state text:
Content from your Dropbox account will appear here. Check you have content in your account with Dropbox.
Review the content
The content the app returns reflects not only on the app’s quality but also on Canva’s credibility. Review the content and make sure it meets Canva’s standards.