Skip to main content
Version: v5

Cordova Plugins

When developing an app that uses Capacitor, it's possible to use Cordova plugins.

Installing Cordova Pluginsโ€‹

Capacitor plugins are installed using your regular package manager and then synced to the native project(s). The installation process is the same for Cordova plugins in Capacitor.

Install the plugin, sync, and then finish any required native project configuration (see Variables and Hooks):

npm install cordova-plugin-name
npx cap sync

If the Cordova plugin has an @awesome-cordova-plugins wrapper, you can also install it for TypeScript support:

npm install @awesome-cordova-plugins/plugin-name

Updating Cordova Pluginsโ€‹

Use your regular package manager to update plugins. Then, sync the updated plugin to the native project(s):

npm install cordova-plugin-name@version
npx cap sync

Determining Installed Plugin Versionโ€‹

See the list of Capacitor and Cordova plugins (and their exact version numbers) installed in your project with:

npx cap ls

Compatibility Issuesโ€‹

There may be compatibility issues with Capacitor and some Cordova plugins. Many of the official Cordova plugins should not be used, as Capacitor offers official alternatives. Cordova plugins that use variables and hooks may be partially compatible. Some Cordova plugins are completely incompatible (see this list).

If you find an issue with an existing Cordova plugin, please let us know by providing the issue's details and plugin information.

Variables and Hooksโ€‹

Capacitor does not support Cordova install variables, auto configuration, or hooks, due to our philosophy of letting you control your native project source code (meaning things like hooks are unnecessary). If your plugin requires variables or settings to be set, you'll need to apply those configuration settings manually by mapping between the plugin's plugin.xml and required settings on iOS and Android.

Consult the iOS and Android configuration guides for info on how to configure each platform.

Known Incompatible Pluginsโ€‹

If a plugin is known to conflict or cause build issues, it will be skipped when running npx cap sync.

Here is a list of known incompatible plugins: