> For the complete documentation index, see [llms.txt](https://docs.scandipwa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scandipwa.com/developing-with-scandi/extensions.md).

# Extensions

ScandiPWA allows you to create "plug-and-play" extensions for your applications.

{% hint style="info" %}
**Extension** - is a reusable, isolated part of your application. It can contain a presentation layer, business logic, or even build configuration.
{% endhint %}

Extensions commonly come as two packages:

* [Magento 2 module](/developing-with-scandi/extensions.md#magento-2-module) – back-end only (GraphQl, Admin UI, etc.)
* [ScandiPWA extension](/developing-with-scandi/extensions.md#scandipwa-extension) – front-end only (presentation)

### Looking for an extension?

Visit [ScandiPWA marketplace](https://marketplace.scandipwa.com/modules.html) to find a list of ones already available for download!

## Magento 2 module

Usually, a composer package (or ZIP archive), which contains back-end functionality extensions of Magento 2. The common functionality they provide (in ScandiPWA context) are GraphQl endpoints and Magento 2 admin modifications. In case you plan to create or install one, refer to the guide below.

{% content-ref url="/pages/-MVF\_BE8VZhydDrNynuE" %}
[Working with Magento modules](/developing-with-scandi/working-with-magento/working-with-magento-modules.md)
{% endcontent-ref %}

## ScandiPWA extension

An NPM package, containing a presentation layer (front-end) for your feature. In case you plan to create, install, or publish one, refer to the guides below.

{% content-ref url="/pages/-MVFgFT8\_4bZj6ohK\_qC" %}
[Creating an extension](/developing-with-scandi/extensions/creating-an-extension.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MW-h6S55TA9fiSZkt5e" %}
[Migrating from 3.x to 4.x](/developing-with-scandi/extensions/migrating-from-3.x-to-4.x.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MVFgmDmU-Xa-\_WiW8wn" %}
[Installing an extension](/developing-with-scandi/extensions/installing-an-extension.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MVFo42DGwlckfpYgsJj" %}
[Broken mention](broken://pages/-MVFo42DGwlckfpYgsJj)
{% endcontent-ref %}
