---
description: Capacitor plugin to capture the acceleration force along the x, y, and z axes. Available for Android, iOS, and Web.
title: Capacitor Accelerometer Plugin for Android, iOS & Web - Capawesome
image: https://capawesome.io/docs/assets/images/social/sdks/capacitor/accelerometer.png
---

<!doctype html> 

[Skip to content ](#capacitor-accelerometer-plugin) 

[🖥️ Introducing the **Capacitor Electron Platform** — build desktop apps for macOS, Windows, and Linux. Free & open source. ](/blog/announcing-the-capacitor-electron-platform/) 

* [ SDKs ](/docs/sdks/)
* [ iOS ](#ios)
* [ Usage ](#usage)
* [ API ](#api)
* [ Type Aliases ](#type-aliases)
* [ FAQ ](#faq)
* [ Related Plugins ](#related-plugins)
* [ Newsletter ](#newsletter)
* [ Changelog ](#changelog)
* [ Breaking Changes ](#breaking-changes)
* [ License ](#license)
* [ Accessibility Preferences ](/docs/sdks/capacitor/accessibility-preferences/)
* [ Action Sheet ](/docs/sdks/capacitor/action-sheet/)
* [ Age Signals ](/docs/sdks/capacitor/age-signals/)
* [ Alarm ](/docs/sdks/capacitor/alarm/)
* [ Android Battery Optimization ](/docs/sdks/capacitor/android-battery-optimization/)
* [ Android Dark Mode Support ](/docs/sdks/capacitor/android-dark-mode-support/)
* [ Android Edge-to-Edge Support ](/docs/sdks/capacitor/android-edge-to-edge-support/)
* [ Android Foreground Service ](/docs/sdks/capacitor/android-foreground-service/)
* [ Android Intent Launcher ](/docs/sdks/capacitor/android-intent-launcher/)
* [ Android SMS Retriever ](/docs/sdks/capacitor/android-sms-retriever/)
* [ App Icon ](/docs/sdks/capacitor/app-icon/)
* [ App Integrity ](/docs/sdks/capacitor/app-integrity/)
* [ App Language ](/docs/sdks/capacitor/app-language/)
* [ App Launcher ](/docs/sdks/capacitor/app-launcher/)
* [ App Review ](/docs/sdks/capacitor/app-review/)
* [ App Shortcuts ](/docs/sdks/capacitor/app-shortcuts/)
* [ App Tracking Transparency ](/docs/sdks/capacitor/app-tracking-transparency/)
* [ App Update ](/docs/sdks/capacitor/app-update/)
* [ Apple Sign-In ](/docs/sdks/capacitor/apple-sign-in/)
* [ Asset Manager ](/docs/sdks/capacitor/asset-manager/)
* [ Audio Player ](/docs/sdks/capacitor/audio-player/)
* [ Audio Recorder ](/docs/sdks/capacitor/audio-recorder/)
* [ Audio Session ](/docs/sdks/capacitor/audio-session/)
* [ Background Task ](/docs/sdks/capacitor/background-task/)
* [ Badge ](/docs/sdks/capacitor/badge/)
* [ Barometer ](/docs/sdks/capacitor/barometer/)
* [ Battery ](/docs/sdks/capacitor/battery/)
* [ Biometrics ](/docs/sdks/capacitor/biometrics/)
* [ Bluetooth Low Energy ](/docs/sdks/capacitor/bluetooth-low-energy/)
* [ Clipboard ](/docs/sdks/capacitor/clipboard/)
* [ Cloudinary ](/docs/sdks/capacitor/cloudinary/)
* [ Compass ](/docs/sdks/capacitor/compass/)
* [ Contacts ](/docs/sdks/capacitor/contacts/)
* [ Crisp ](/docs/sdks/capacitor/crisp/)
* [ Datetime Picker ](/docs/sdks/capacitor/datetime-picker/)
* [ Device Info ](/docs/sdks/capacitor/device-info/)
* [ Dialog ](/docs/sdks/capacitor/dialog/)
* [ Electron ](/docs/sdks/capacitor/electron/)
* [ Exif ](/docs/sdks/capacitor/exif/)
* [ Facebook Sign-In ](/docs/sdks/capacitor/facebook-sign-in/)
* [ File Compressor ](/docs/sdks/capacitor/file-compressor/)
* [ File Opener ](/docs/sdks/capacitor/file-opener/)
* [ File Picker ](/docs/sdks/capacitor/file-picker/)
* [ Firebase ](/docs/sdks/capacitor/firebase/)
* [ Formbricks ](/docs/sdks/capacitor/formbricks/)
* [ Geocoder ](/docs/sdks/capacitor/geocoder/)
* [ Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [ Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [ Gyroscope ](/docs/sdks/capacitor/gyroscope/)
* [ Haptics ](/docs/sdks/capacitor/haptics/)
* [ Home Indicator ](/docs/sdks/capacitor/home-indicator/)
* [ In-App Browser ](/docs/sdks/capacitor/in-app-browser/)
* [ Install Referrer ](/docs/sdks/capacitor/install-referrer/)
* [ Intercom ](/docs/sdks/capacitor/intercom/)
* [ Intune ](/docs/sdks/capacitor/intune/)
* [ Keep Awake ](/docs/sdks/capacitor/keep-awake/)
* [ libSQL ](/docs/sdks/capacitor/libsql/)
* [ Light Sensor ](/docs/sdks/capacitor/light-sensor/)
* [ Live Update ](/docs/sdks/capacitor/live-update/)
* [ Localization ](/docs/sdks/capacitor/localization/)
* [ Mail Composer ](/docs/sdks/capacitor/mail-composer/)
* [ Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [ Maps Launcher ](/docs/sdks/capacitor/maps-launcher/)
* [ Media Session ](/docs/sdks/capacitor/media-session/)
* [ ML Kit ](/docs/sdks/capacitor/mlkit/)
* [ Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [ Network ](/docs/sdks/capacitor/network/)
* [ NFC ](/docs/sdks/capacitor/nfc/)
* [ Node.js ](/docs/sdks/capacitor/nodejs/)
* [ OAuth ](/docs/sdks/capacitor/oauth/)
* [ Passkeys ](/docs/sdks/capacitor/passkeys/)
* [ Password Autofill ](/docs/sdks/capacitor/password-autofill/)
* [ PDF Generator ](/docs/sdks/capacitor/pdf-generator/)
* [ PDF Viewer ](/docs/sdks/capacitor/pdf-viewer/)
* [ Pedometer ](/docs/sdks/capacitor/pedometer/)
* [ Permissions ](/docs/sdks/capacitor/permissions/)
* [ Phone Dialer ](/docs/sdks/capacitor/phone-dialer/)
* [ Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [ Photo Manipulator ](/docs/sdks/capacitor/photo-manipulator/)
* [ PixLive ](/docs/sdks/capacitor/pixlive/)
* [ PostHog ](/docs/sdks/capacitor/posthog/)
* [ Printer ](/docs/sdks/capacitor/printer/)
* [ Privacy Screen ](/docs/sdks/capacitor/privacy-screen/)
* [ Proximity Sensor ](/docs/sdks/capacitor/proximity-sensor/)
* [ Purchases ](/docs/sdks/capacitor/purchases/)
* [ RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [ Root Detection ](/docs/sdks/capacitor/root-detection/)
* [ Screen Brightness ](/docs/sdks/capacitor/screen-brightness/)
* [ Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [ Screen Reader ](/docs/sdks/capacitor/screen-reader/)
* [ Screenshot ](/docs/sdks/capacitor/screenshot/)
* [ Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [ Settings Launcher ](/docs/sdks/capacitor/settings-launcher/)
* [ Shake ](/docs/sdks/capacitor/shake/)
* [ Silent Mode ](/docs/sdks/capacitor/silent-mode/)
* [ SIM ](/docs/sdks/capacitor/sim/)
* [ SMS Composer ](/docs/sdks/capacitor/sms-composer/)
* [ Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [ Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [ Share Target ](/docs/sdks/capacitor/share-target/)
* [ Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [ SQLite ](/docs/sdks/capacitor/sqlite/)
* [ Superwall ](/docs/sdks/capacitor/superwall/)
* [ System WebView ](/docs/sdks/capacitor/system-webview/)
* [ Tauri ](/docs/sdks/capacitor/tauri/)
* [ Text Interaction ](/docs/sdks/capacitor/text-interaction/)
* [ Text Zoom ](/docs/sdks/capacitor/text-zoom/)
* [ Thermal State ](/docs/sdks/capacitor/thermal-state/)
* [ Toast ](/docs/sdks/capacitor/toast/)
* [ Torch ](/docs/sdks/capacitor/torch/)
* [ Vault ](/docs/sdks/capacitor/vault/)
* [ Volume ](/docs/sdks/capacitor/volume/)
* [ Wallet ](/docs/sdks/capacitor/wallet/)
* [ Wifi ](/docs/sdks/capacitor/wifi/)
* [ YouTube Player ](/docs/sdks/capacitor/youtube-player/)
* [ Zip ](/docs/sdks/capacitor/zip/)
* [ Cordova ](/docs/sdks/cordova/)
* [ Cloud ](/docs/cloud/)
* [ Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [ Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [ FAQ ](/docs/cloud/live-updates/faq/)
* [ Native Builds ](/docs/cloud/native-builds/)
* [ Set Up Environments ](/docs/cloud/native-builds/environments/)
* [ Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [ Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [ Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [ Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [ Use pnpm, Yarn, or bun ](/docs/cloud/native-builds/package-managers/)
* [ Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [ Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [ Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [ Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [ Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [ Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [ Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [ FAQ ](/docs/cloud/native-builds/faq/)
* [ App Store Publishing ](/docs/cloud/app-store-publishing/)
* [ Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [ Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [ Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [ FAQ ](/docs/cloud/app-store-publishing/faq/)
* [ Automations ](/docs/cloud/automations/)
* [ Reference ](/docs/cloud/automations/reference/)
* [ Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [ FAQ ](/docs/cloud/automations/faq/)
* [ Assist ](/docs/cloud/assist/)
* [ CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [ Webhooks ](/docs/cloud/webhooks/)
* [ Integrations ](/docs/cloud/integrations/)
* Account
* [ Organization ](/docs/cloud/organizations/)
* [ Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [ Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [ Billing ](/docs/cloud/organizations/billing/)
* [ License Keys ](/docs/cloud/license-keys/)
* [ AI ](/docs/ai/)
* [ Insiders ](/docs/insiders/)
* [ Billing & Plans ](/docs/insiders/billing-and-plans/)
* [ FAQ ](/docs/insiders/faq/)
* [ License ](https://capawesome.io/legal/eula/)
* [ Support ](/docs/support/)
* [ Contributing ](/docs/contributing/)
* Contributing code
* [ Code of Conduct ](/docs/contributing/code-of-conduct/)
* [ Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [ Blog ](/blog/)
* Categories

* [ iOS ](#ios)
* [ Usage ](#usage)
* [ API ](#api)
* [ Type Aliases ](#type-aliases)
* [ FAQ ](#faq)
* [ Related Plugins ](#related-plugins)
* [ Newsletter ](#newsletter)
* [ Changelog ](#changelog)
* [ Breaking Changes ](#breaking-changes)
* [ License ](#license)

# Capacitor Accelerometer Plugin[¶](#capacitor-accelerometer-plugin "Permanent link")

Capacitor plugin to capture the acceleration force along the x, y, and z axes.

[ ![Deliver Live Updates to your Capacitor app with Capawesome Cloud](../../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](https://cloud.capawesome.io/) 

## Features[¶](#features "Permanent link")

The Capacitor Accelerometer plugin is one of the most complete motion sensing solutions for Capacitor apps. Here are some of the key features:

* 🖥️ **Cross-platform**: Supports Android and iOS.
* ⚡ **Real-time measurements**: Continuous accelerometer data with event listeners.
* 📊 **High precision**: Accurate x, y, and z-axis acceleration measurements in G's.
* 🔒 **Permission handling**: Built-in permission management for sensor access.
* 🤝 **Compatibility**: Works alongside the [Gyroscope](https://capawesome.io/docs/sdks/capacitor/gyroscope/) and [Shake](https://capawesome.io/docs/sdks/capacitor/shake/) plugins.
* 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.
* 🔁 **Up-to-date**: Always supports the latest Capacitor version.
* ⭐️ **Support**: Priority support from the Capawesome Team.
* ✨ **Handcrafted**: Built from the ground up with care and expertise, not forked or AI-generated.

Missing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!

## Use Cases[¶](#use-cases "Permanent link")

The Accelerometer plugin is typically used whenever an app needs to react to device motion, for example:

* **Shake gestures**: React to rapid device movement, for example to trigger a feedback dialog or undo an action.
* **Motion-based games**: Use the tilt of the device as game input by reading the acceleration along the x, y, and z axes.
* **Fitness and activity tracking**: Analyze continuous motion data to detect movement patterns during workouts.
* **Device orientation**: Determine how the device is being held based on the gravitational force along each axis.

## Compatibility[¶](#compatibility "Permanent link")

| Plugin Version | Capacitor Version | Status         |
| -------------- | ----------------- | -------------- |
| 8.x.x          | \>=8.x.x          | Active support |
| 0.1.x          | 7.x.x             | Deprecated     |

## Guides[¶](#guides "Permanent link")

* [The Complete Guide to Capacitor Device Sensors](https://capawesome.io/blog/capacitor-device-sensors-guide/): How this plugin pairs with the Pedometer for fitness tracking and the Gyroscope for motion-based games.

## Installation[¶](#installation "Permanent link")

This plugin is only available to [Capawesome Insiders](https://capawesome.io/insiders/). First, make sure you have the Capawesome npm registry set up. You can do this by running the following commands:

`[](#%5F%5Fcodelineno-0-1)npm config set @capawesome-team:registry https://npm.registry.capawesome.io
[](#%5F%5Fcodelineno-0-2)npm config set //npm.registry.capawesome.io/:_authToken <YOUR_LICENSE_KEY>
`

**Attention**: Replace `<YOUR_LICENSE_KEY>` with the license key you received from Polar. If you don't have a license key yet, you can get one by becoming a [Capawesome Insider](https://capawesome.io/insiders/).

Next, you can use our **AI-Assisted Setup** to install the plugin. Add the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:

`[](#%5F%5Fcodelineno-1-1)npx skills add capawesome-team/skills --skill capacitor-plugins
`

Then use the following prompt:

`` [](#%5F%5Fcodelineno-2-1)Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome-team/capacitor-accelerometer` plugin in my project.
 ``

If you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:

`[](#%5F%5Fcodelineno-3-1)npm install @capawesome-team/capacitor-accelerometer
[](#%5F%5Fcodelineno-3-2)npx cap sync
`

### Android[¶](#android "Permanent link")

#### Proguard[¶](#proguard "Permanent link")

If you are using Proguard, you need to add the following rules to your `proguard-rules.pro` file:

`[](#%5F%5Fcodelineno-4-1)-keep class io.capawesome.capacitorjs.plugins.** { *; }
`

### iOS[¶](#ios "Permanent link")

#### Privacy Descriptions[¶](#privacy-descriptions "Permanent link")

Add the `NSMotionUsageDescription` key to the `ios/App/App/Info.plist` file, which tells the user why your app needs access to the user's contacts:

`[](#%5F%5Fcodelineno-5-1)<key>NSMotionUsageDescription</key>
[](#%5F%5Fcodelineno-5-2)<string>The app needs to access the motion activity.</string>
`

## Usage[¶](#usage "Permanent link")

The following examples show how to check whether the accelerometer is available, request permissions, read the latest measurement, and start and stop continuous measurement updates.

### Check if the accelerometer is available[¶](#check-if-the-accelerometer-is-available "Permanent link")

Check whether the device has an accelerometer sensor before using the other methods:

`[](#%5F%5Fcodelineno-6-1)import { Accelerometer } from '@capawesome-team/capacitor-accelerometer';
[](#%5F%5Fcodelineno-6-2)
[](#%5F%5Fcodelineno-6-3)const isAvailable = async () => {
[](#%5F%5Fcodelineno-6-4)  const result = await Accelerometer.isAvailable();
[](#%5F%5Fcodelineno-6-5)  return result.isAvailable;
[](#%5F%5Fcodelineno-6-6)};
`

### Check and request permissions[¶](#check-and-request-permissions "Permanent link")

Check and request permission to access the accelerometer sensor. On iOS, make sure you have added the `NSMotionUsageDescription` key to your `Info.plist` file (see [Installation](#installation)):

`[](#%5F%5Fcodelineno-7-1)import { Accelerometer } from '@capawesome-team/capacitor-accelerometer';
[](#%5F%5Fcodelineno-7-2)
[](#%5F%5Fcodelineno-7-3)const checkPermissions = async () => {
[](#%5F%5Fcodelineno-7-4)  const result = await Accelerometer.checkPermissions();
[](#%5F%5Fcodelineno-7-5)  return result;
[](#%5F%5Fcodelineno-7-6)};
[](#%5F%5Fcodelineno-7-7)
[](#%5F%5Fcodelineno-7-8)const requestPermissions = async () => {
[](#%5F%5Fcodelineno-7-9)  const result = await Accelerometer.requestPermissions();
[](#%5F%5Fcodelineno-7-10)  return result;
[](#%5F%5Fcodelineno-7-11)};
`

### Get the latest measurement[¶](#get-the-latest-measurement "Permanent link")

Get the most recent measurement from the accelerometer sensor. The acceleration along the x, y, and z axes is returned in G's (gravitational force):

`[](#%5F%5Fcodelineno-8-1)import { Accelerometer } from '@capawesome-team/capacitor-accelerometer';
[](#%5F%5Fcodelineno-8-2)
[](#%5F%5Fcodelineno-8-3)const getMeasurement = async () => {
[](#%5F%5Fcodelineno-8-4)  const measurement = await Accelerometer.getMeasurement();
[](#%5F%5Fcodelineno-8-5)  console.log("X: ", measurement.x);
[](#%5F%5Fcodelineno-8-6)  console.log("Y: ", measurement.y);
[](#%5F%5Fcodelineno-8-7)  console.log("Z: ", measurement.z);
[](#%5F%5Fcodelineno-8-8)};
`

### Start and stop measurement updates[¶](#start-and-stop-measurement-updates "Permanent link")

Start emitting `measurement` events to receive continuous accelerometer data. When you no longer need updates, stop them and remove your listeners:

`[](#%5F%5Fcodelineno-9-1)import { Accelerometer } from '@capawesome-team/capacitor-accelerometer';
[](#%5F%5Fcodelineno-9-2)
[](#%5F%5Fcodelineno-9-3)const startMeasurementUpdates = async () => {
[](#%5F%5Fcodelineno-9-4)  await Accelerometer.startMeasurementUpdates();
[](#%5F%5Fcodelineno-9-5)};
[](#%5F%5Fcodelineno-9-6)
[](#%5F%5Fcodelineno-9-7)const stopMeasurementUpdates = async () => {
[](#%5F%5Fcodelineno-9-8)  await Accelerometer.stopMeasurementUpdates();
[](#%5F%5Fcodelineno-9-9)};
[](#%5F%5Fcodelineno-9-10)
[](#%5F%5Fcodelineno-9-11)const removeAllListeners = async () => {
[](#%5F%5Fcodelineno-9-12)  await Accelerometer.removeAllListeners();
[](#%5F%5Fcodelineno-9-13)};
`

## API[¶](#api "Permanent link")

* [getMeasurement()](#getmeasurement)
* [isAvailable()](#isavailable)
* [startMeasurementUpdates()](#startmeasurementupdates)
* [stopMeasurementUpdates()](#stopmeasurementupdates)
* [checkPermissions()](#checkpermissions)
* [requestPermissions()](#requestpermissions)
* [addListener('measurement', ...)](#addlistenermeasurement-)
* [removeAllListeners()](#removealllisteners)
* [Interfaces](#interfaces)
* [Type Aliases](#type-aliases)

### getMeasurement()[¶](#getmeasurement "Permanent link")

`[](#%5F%5Fcodelineno-10-1)getMeasurement() => Promise<GetMeasurementResult>
`

Get the latest measurement.

This method returns the most recent measurement from the accelerometer sensor.

**Returns:** `Promise<[Measurement](#measurement)>`

**Since:** 0.1.0

---

### isAvailable()[¶](#isavailable "Permanent link")

`[](#%5F%5Fcodelineno-11-1)isAvailable() => Promise<IsAvailableResult>
`

Check if the accelerometer sensor is available on the device.

**Returns:** `Promise<[IsAvailableResult](#isavailableresult)>`

**Since:** 0.1.0

---

### startMeasurementUpdates()[¶](#startmeasurementupdates "Permanent link")

`[](#%5F%5Fcodelineno-12-1)startMeasurementUpdates() => Promise<void>
`

Starts emitting `measurement` events.

**Since:** 0.1.0

---

### stopMeasurementUpdates()[¶](#stopmeasurementupdates "Permanent link")

`[](#%5F%5Fcodelineno-13-1)stopMeasurementUpdates() => Promise<void>
`

Stops emitting `measurement` events.

**Since:** 0.1.0

---

### checkPermissions()[¶](#checkpermissions "Permanent link")

`[](#%5F%5Fcodelineno-14-1)checkPermissions() => Promise<PermissionStatus>
`

Check if the app has permission to access the accelerometer sensor.

**Returns:** `Promise<[PermissionStatus](#permissionstatus)>`

**Since:** 0.1.0

---

### requestPermissions()[¶](#requestpermissions "Permanent link")

`[](#%5F%5Fcodelineno-15-1)requestPermissions() => Promise<PermissionStatus>
`

Request permission to access the accelerometer sensor.

**Returns:** `Promise<[PermissionStatus](#permissionstatus)>`

**Since:** 0.1.0

---

### addListener('measurement', ...)[¶](#addlistenermeasurement "Permanent link")

`[](#%5F%5Fcodelineno-16-1)addListener(eventName: 'measurement', listenerFunc: (event: MeasurementEvent) => void) => Promise<PluginListenerHandle>
`

Only available on Android and iOS.

| Param            | Type                                         |
| ---------------- | -------------------------------------------- |
| **eventName**    | 'measurement'                                |
| **listenerFunc** | (event: [Measurement](#measurement)) => void |

**Returns:** `Promise<[PluginListenerHandle](#pluginlistenerhandle)>`

**Since:** 0.1.0

---

### removeAllListeners()[¶](#removealllisteners "Permanent link")

`[](#%5F%5Fcodelineno-17-1)removeAllListeners() => Promise<void>
`

Remove all listeners for this plugin.

**Since:** 0.1.0

---

### Interfaces[¶](#interfaces "Permanent link")

#### Measurement[¶](#measurement "Permanent link")

| Prop  | Type   | Description                                           | Since |
| ----- | ------ | ----------------------------------------------------- | ----- |
| **x** | number | The x-axis acceleration in G's (gravitational force). | 0.1.0 |
| **y** | number | The y-axis acceleration in G's (gravitational force). | 0.1.0 |
| **z** | number | The z-axis acceleration in G's (gravitational force). | 0.1.0 |

#### IsAvailableResult[¶](#isavailableresult "Permanent link")

| Prop            | Type    | Description                                                  | Since |
| --------------- | ------- | ------------------------------------------------------------ | ----- |
| **isAvailable** | boolean | Whether the accelerometer sensor is available on the device. | 0.1.0 |

#### PermissionStatus[¶](#permissionstatus "Permanent link")

| Prop              | Type                                                          | Description                             | Since |
| ----------------- | ------------------------------------------------------------- | --------------------------------------- | ----- |
| **accelerometer** | [AccelerometerPermissionState](#accelerometerpermissionstate) | The permission status of accelerometer. | 0.1.0 |

#### PluginListenerHandle[¶](#pluginlistenerhandle "Permanent link")

| Prop       | Type                |
| ---------- | ------------------- |
| **remove** | () => Promise<void> |

### Type Aliases[¶](#type-aliases "Permanent link")

#### GetMeasurementResult[¶](#getmeasurementresult "Permanent link")

`[Measurement](#measurement)`

#### AccelerometerPermissionState[¶](#accelerometerpermissionstate "Permanent link")

`[PermissionState](#permissionstate) | 'limited'`

#### PermissionState[¶](#permissionstate "Permanent link")

`'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'`

#### MeasurementEvent[¶](#measurementevent "Permanent link")

`[Measurement](#measurement)`

## FAQ[¶](#faq "Permanent link")

### Which platforms are supported by this plugin?[¶](#which-platforms-are-supported-by-this-plugin "Permanent link")

The Accelerometer plugin supports Android and iOS. You can use the `isAvailable()` method to check whether the accelerometer sensor is available on the current device.

### What unit are the measurements returned in?[¶](#what-unit-are-the-measurements-returned-in "Permanent link")

The `getMeasurement()` method and the `measurement` event return the acceleration along the x, y, and z axes in G's (gravitational force).

### How do I receive continuous accelerometer updates?[¶](#how-do-i-receive-continuous-accelerometer-updates "Permanent link")

Call `startMeasurementUpdates()` to start emitting `measurement` events and add a listener for the `measurement` event to receive them. When you no longer need updates, call `stopMeasurementUpdates()` and remove your listeners with `removeAllListeners()`. See the [usage example](#start-and-stop-measurement-updates) above.

### Do I need any permissions to use the accelerometer?[¶](#do-i-need-any-permissions-to-use-the-accelerometer "Permanent link")

The plugin provides the `checkPermissions()` and `requestPermissions()` methods to manage access to the accelerometer sensor. On iOS, you also need to add the `NSMotionUsageDescription` key to your `Info.plist` file as described in the [Installation](#installation) section.

### How can I check if a device has an accelerometer sensor?[¶](#how-can-i-check-if-a-device-has-an-accelerometer-sensor "Permanent link")

Call the `isAvailable()` method. It returns whether the accelerometer sensor is available on the device, so you can check this before calling any other methods.

### Can I use this plugin with Ionic, React, Vue or Angular?[¶](#can-i-use-this-plugin-with-ionic-react-vue-or-angular "Permanent link")

Yes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects.

## Related Plugins[¶](#related-plugins "Permanent link")

* [Barometer](https://capawesome.io/docs/sdks/capacitor/barometer/): Obtain the static air pressure, measured in hectopascals (hPa).
* [Compass](https://capawesome.io/docs/sdks/capacitor/compass/): Read the device's compass heading.
* [Gyroscope](https://capawesome.io/docs/sdks/capacitor/gyroscope/): Read the device's gyroscope sensor.
* [Shake](https://capawesome.io/docs/sdks/capacitor/shake/): Detect shake gestures on the device.

## Newsletter[¶](#newsletter "Permanent link")

Stay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).

## Changelog[¶](#changelog "Permanent link")

See [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/accelerometer/CHANGELOG.md).

## Breaking Changes[¶](#breaking-changes "Permanent link")

See [BREAKING.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/accelerometer/BREAKING.md).

## License[¶](#license "Permanent link")

See [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/accelerometer/LICENSE).

July 8, 2026 

Back to top

```json
{"@context": "https://schema.org", "@graph": [{"@type": "TechArticle", "@id": "https://capawesome.io/docs/sdks/capacitor/accelerometer/#article", "headline": "Capacitor Accelerometer Plugin for Android, iOS & Web", "name": "Capacitor Accelerometer Plugin for Android, iOS & Web", "description": "Capacitor plugin to capture the acceleration force along the x, y, and z axes. Available for Android, iOS, and Web.", "inLanguage": "en", "url": "https://capawesome.io/docs/sdks/capacitor/accelerometer/", "mainEntityOfPage": "https://capawesome.io/docs/sdks/capacitor/accelerometer/", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "about": {"@id": "https://capawesome.io/docs/sdks/capacitor/accelerometer/#software"}}, {"@type": "SoftwareSourceCode", "@id": "https://capawesome.io/docs/sdks/capacitor/accelerometer/#software", "name": "Capacitor Accelerometer Plugin for Android, iOS & Web", "description": "Capacitor plugin to capture the acceleration force along the x, y, and z axes. Available for Android, iOS, and Web.", "url": "https://capawesome.io/docs/sdks/capacitor/accelerometer/", "programmingLanguage": "TypeScript", "runtimePlatform": "Capacitor", "codeRepository": "https://github.com/capawesome-team", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}}]}
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Which platforms are supported by this plugin?", "acceptedAnswer": {"@type": "Answer", "text": "The Accelerometer plugin supports Android and iOS. You can use the isAvailable() method to check whether the accelerometer sensor is available on the current device."}}, {"@type": "Question", "name": "What unit are the measurements returned in?", "acceptedAnswer": {"@type": "Answer", "text": "The getMeasurement() method and the measurement event return the acceleration along the x, y, and z axes in G's (gravitational force)."}}, {"@type": "Question", "name": "How do I receive continuous accelerometer updates?", "acceptedAnswer": {"@type": "Answer", "text": "Call startMeasurementUpdates() to start emitting measurement events and add a listener for the measurement event to receive them. When you no longer need updates, call stopMeasurementUpdates() and remove your listeners with removeAllListeners(). See the usage example above."}}, {"@type": "Question", "name": "Do I need any permissions to use the accelerometer?", "acceptedAnswer": {"@type": "Answer", "text": "The plugin provides the checkPermissions() and requestPermissions() methods to manage access to the accelerometer sensor. On iOS, you also need to add the NSMotionUsageDescription key to your Info.plist file as described in the Installation section."}}, {"@type": "Question", "name": "How can I check if a device has an accelerometer sensor?", "acceptedAnswer": {"@type": "Answer", "text": "Call the isAvailable() method. It returns whether the accelerometer sensor is available on the device, so you can check this before calling any other methods."}}, {"@type": "Question", "name": "Can I use this plugin with Ionic, React, Vue or Angular?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects."}}], "url": "https://capawesome.io/docs/sdks/capacitor/accelerometer/"}
```
