# Custom Components

Source: https://docs.streamlit.io/develop/concepts/custom-components

Custom Components are powerful extensions for Streamlit that unlock capabilities beyond the built-in widgets. They let you integrate any web technology—from advanced data visualizations to specialized input controls to complete mini-applications—directly into your Streamlit apps.

## Getting started

**[Overview of Custom Components](https://docs.streamlit.io/develop/concepts/custom-components/overview)**: Learn what custom components are, when to use them, and understand the differences between v1 and v2 approaches.

**[Components v2](https://docs.streamlit.io/develop/concepts/custom-components/components-v2)**: The next generation of custom components with enhanced capabilities, bidirectional communication, and simplified development.

**[Components v1](https://docs.streamlit.io/develop/concepts/custom-components/components-v1)**: The original custom components framework. Learn how to use and build v1 components.

**[Publishing Components](https://docs.streamlit.io/develop/concepts/custom-components/publish)**: Learn how to package and distribute your custom components to the community.

## Component gallery

Explore the [Community Component Gallery](https://streamlit.io/components) to discover components built by the Streamlit community.
