Examples of Custom Element Extensions for Kentico Kontent

Gallery Stack Overflow

Build Status Netlify Status

Custom elements help you with extending the basic functionality of Kentico Kontent UI and thus improving the content editing experience. Custom element is essentially a small HTML application that exists in a sandboxed <iframe> and interacts with the Kentico Kontent app via the Custom Elements API.

Note that Custom elements are only supported in the latest versions of our SDKs.

View Gallery

⚠ Disclaimer

Any URLs provided in the repos should not be used in production. You should follow the steps provided in the custom element’s repository to deploy it yourself for testing.

If a custom element is missing deploy instructions, or you’re having trouble with them, please log an issue in the custom element’s repository.

If you wish to use them in a production project, you should perform a code review and fork/deploy the source code on your own as the custom elements in this repository are subject to change without notice.

NOTE: Some of the custom elements may require further configuration such as custom API keys or be subject to CORS limitation. In those cases you will need to fork the source repository and adjust the configuration in your copy repository according to instructions in the element’s README file.

How to create a custom element

You can find a detailed tutorial on how to create a Custom element in our documentation.

Styling your custom elements

By including Kentico Kontent default styles, you can make your Custom element look consistent with the rest of the UI.

The /shared folder in this GitHub repository contains:

We recommend you clone the files and host them locally yourself. The kentico-icons-v1.6.0.woff file needs to be hosted in the same directory as the CSS stylesheet to be properly linked.

Feedback & Contributing

You can contribute by implementing a Custom Element Extension of your choice or pick one from the ideas. Create an HTML web page, include the Custom Elements API in the code, describe what your element does in the Readme file, and send us a pull request.

Pull request

The pull request should include:

Sample element JSON

The element information JSON file named after your element’s name in PascalCase (e.g. YourComonentName.json) must be placed in the /src/data/elements folder with the following format:

  "title": "Your Component Name",
  "description": "Short description of your element's purpose and functionality.",
  "thumbnailUrl": "../assets/YourComponentName.(gif|png|jpg)",
  "readmeUrl": "https://github.com/<YourGitHub>/<YourCustomElementRepoName>",
  "categories": [


We’d also appreciate if you submit your ideas for custom elements or vote for the existing ones.

Check out the Contributing page to see the best places to file issues, start discussions, and begin contributing.