--- layout: community_extension_doc title: Overview excerpt: | List of community-contributed open-source DuckDB extensions redirect_from: - /ce --- Community extensions add functionality to DuckDB and are developed by external contributors, not maintained by [DuckLabs](https://ducklabs.com/). This documentation covers installing, using, and developing community extensions. For general information about extensions, see the [core DuckDB documentation]({% link docs/2.0/core_extensions/overview.md %}). ## How to Use a Community Extension To install and load a community extension, for example the `waddle` demo extension, simply run: ```sql INSTALL waddle FROM community; LOAD waddle; ``` The `waddle` extension is now loaded and ready to use: ```sql SELECT waddle('world'); ``` ## What Are Community Extensions? Community Extensions are [DuckDB extensions]({% link docs/2.0/core_extensions/overview.md %}) that are not maintained by the DuckDB team. They are different from the [Core Extensions]({% link docs/2.0/core_extensions/overview.md %}), which *are* maintained by the DuckDB team, or from unsigned extensions, that are extensions that have an empty or invalid key. Community Extensions are distributed via the Community Extension endpoint at `http(s)://community-extensions.duckdb.org`, and on `INSTALL` or `UPDATE EXTENSIONS` are retrieved from there. Community Extension submissions and build process happen via the [Community Extension repository](https://github.com/duckdb/community-extensions). Check the [Development page]({% link community_extensions/development.md %}) on how to contribute an extension. DuckDB Community extensions are conceptually similar to a package manager such as [Homebrew](https://brew.sh/), where code will reside in your own repository, but build and distribution is centralized. ## Security Considerations for Using Community Extensions > Warning Community extensions are contributed by third parties. > They are not written, audited, or maintained by members of DuckLabs or the DuckDB Foundation, and they run with the same privileges as DuckDB itself, including access to your data, filesystem, and network. > Signing proves only that an extension was built by the Community Extension CI from the published source. It does not certify that the code is safe or free of bugs. > Install and load community extensions only if you trust their author and source. DuckDB Community Extensions are signed, so that on `LOAD` a check is performed to prove a given extension has been built by the Community Extension CI. For more information on extensions and how to use them, check the [“Securing Extensions”]({% link docs/2.0/operations_manual/securing_duckdb/securing_extensions.md %}) and [“Installing Extensions”]({% link docs/2.0/extensions/installing_extensions.md %}) pages. In particular, if you want to forbid `LOAD` of Community Extensions, run: ```sql SET allow_community_extensions = false; ``` This will disable any subsequent load of extensions signed with the Community Extension key and lock the `allow_community_extensions` configuration.