---
sidebar_position: 1
keywords:
- EventCatalog components
sidebar_label: What are custom components?
title: Introduction
description: Add custom components to your catalog
---

EventCatalog provides the ability to add custom components to your domains, services and messages within your catalog. These features include:

- Adding reuseable content across all your resources
- Styling components with [Tailwind CSS](https://tailwindcss.com/) 
- Adding custom [JavaScript to your pages](https://docs.astro.build/en/guides/client-side-scripts/#using-script-in-astro)



### Why create components?

Components are a great way to customize your EventCatalog and write shared snippets of code or content you can reuse across your EventCatalog.

Components can be either [markdown files (component.mdx) or astro files (component.astro)](/docs/development/customization/custom-components/adding-components#types-of-components).

:::info Astro components
Custom components are powered by [Astro Components](https://docs.astro.build/en/basics/astro-components/). Read the Astro documentation to learn more about what you can include in your components. Custom components can be very powerful and allow some great customization.
:::


