---
description: The Capacitor Audio Recorder plugin allows you to record audio in your Capacitor app with cross-platform support for Android, iOS, and web.
title: Capacitor Audio Recorder Plugin: Record Audio - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/announcing-the-capacitor-audio-recorder-plugin.png
---

<!doctype html> 

[Skip to content ](#capacitor-audio-recorder-plugin-record-audio) 

[🖥️ 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/)
* [ 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

* [ FAQ ](#faq)
* [ Conclusion ](#conclusion)

* Related links

# Capacitor Audio Recorder Plugin: Record Audio[¶](#capacitor-audio-recorder-plugin-record-audio "Permanent link")

Need to capture microphone audio in a Capacitor app — voice notes, audio messages, or an in-app recorder? The [Capacitor Audio Recorder plugin](/docs/sdks/capacitor/audio-recorder/) handles recording, pausing, and resuming through a single API, with cross-platform support for Android, iOS, and web. It's available to all Capawesome [Insiders](/docs/insiders/).

Let's take a quick look at the [API](/docs/sdks/capacitor/audio-recorder/#api) and how you can use the plugin to record audio.

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

To install the Capacitor Audio Recorder plugin, please refer to the [Installation](/docs/sdks/capacitor/audio-recorder/#installation) section in the plugin documentation.

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

Let's take a look at the basic usage of the plugin.

### Start recording[¶](#start-recording "Permanent link")

You can immediately start recording audio with the [startRecording()](/docs/sdks/capacitor/audio-recorder/#startrecording) method:

`[](#%5F%5Fcodelineno-0-1)import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";
[](#%5F%5Fcodelineno-0-2)
[](#%5F%5Fcodelineno-0-3)const startRecording = async () => {
[](#%5F%5Fcodelineno-0-4)  await AudioRecorder.startRecording();
[](#%5F%5Fcodelineno-0-5)};
`

There are no additional parameters required.

### Pause recording[¶](#pause-recording "Permanent link")

You can pause the recording at any time with the [pauseRecording()](/docs/sdks/capacitor/audio-recorder/#pauserecording) method:

`[](#%5F%5Fcodelineno-1-1)import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";
[](#%5F%5Fcodelineno-1-2)
[](#%5F%5Fcodelineno-1-3)const pauseRecording = async () => {
[](#%5F%5Fcodelineno-1-4)  await AudioRecorder.pauseRecording();
[](#%5F%5Fcodelineno-1-5)};
`

### Resume recording[¶](#resume-recording "Permanent link")

After pausing the recording, you can resume it with the [resumeRecording()](/docs/sdks/capacitor/audio-recorder/#resumerecording) method:

`[](#%5F%5Fcodelineno-2-1)import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";
[](#%5F%5Fcodelineno-2-2)
[](#%5F%5Fcodelineno-2-3)const resumeRecording = async () => {
[](#%5F%5Fcodelineno-2-4)  await AudioRecorder.resumeRecording();
[](#%5F%5Fcodelineno-2-5)};
`

### Stop recording[¶](#stop-recording "Permanent link")

Finally, you can stop the recording with the [stopRecording()](/docs/sdks/capacitor/audio-recorder/#stoprecording) method:

`[](#%5F%5Fcodelineno-3-1)import { AudioRecorder } from '@capawesome-team/capacitor-audio-recorder';
[](#%5F%5Fcodelineno-3-2)import { NativeAudio } from '@capacitor-community/native-audio';
[](#%5F%5Fcodelineno-3-3)
[](#%5F%5Fcodelineno-3-4)const stopRecording = async () => {
[](#%5F%5Fcodelineno-3-5)  // Stop recording and get the audio blob or URI
[](#%5F%5Fcodelineno-3-6)  const { blob, uri } = await AudioRecorder.stopRecording();
[](#%5F%5Fcodelineno-3-7)  // Play the audio
[](#%5F%5Fcodelineno-3-8)  if (blob) {
[](#%5F%5Fcodelineno-3-9)    // Only available on Web
[](#%5F%5Fcodelineno-3-10)    const audio = new Audio();
[](#%5F%5Fcodelineno-3-11)    audio.src = URL.createObjectURL(blob);
[](#%5F%5Fcodelineno-3-12)    audio.play();
[](#%5F%5Fcodelineno-3-13)  } else if (uri) {
[](#%5F%5Fcodelineno-3-14)    // Only available on Android and iOS
[](#%5F%5Fcodelineno-3-15)    await NativeAudio.preload({
[](#%5F%5Fcodelineno-3-16)      assetId: 'recording',
[](#%5F%5Fcodelineno-3-17)      assetPath: uri,
[](#%5F%5Fcodelineno-3-18)      isUrl: true,
[](#%5F%5Fcodelineno-3-19)    });
[](#%5F%5Fcodelineno-3-20)    await NativeAudio.play({ assetId: 'recording' });
[](#%5F%5Fcodelineno-3-21)  }
[](#%5F%5Fcodelineno-3-22)};
`

This method returns a `blob` or `uri` depending on the platform. The `blob` is only available on web, while the `uri` is only available on Android and iOS. You can then upload the audio file to your server or play it back in your app.

### Get recording status[¶](#get-recording-status "Permanent link")

Additionally, you can check the recording status at any time with the [getRecordingStatus()](/docs/sdks/capacitor/audio-recorder/#getrecordingstatus) method:

`[](#%5F%5Fcodelineno-4-1)import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";
[](#%5F%5Fcodelineno-4-2)
[](#%5F%5Fcodelineno-4-3)const getRecordingStatus = async () => {
[](#%5F%5Fcodelineno-4-4)  const { status } = await AudioRecorder.getRecordingStatus();
[](#%5F%5Fcodelineno-4-5)  console.log("Recording status:", status);
[](#%5F%5Fcodelineno-4-6)};
`

This method returns the current recording status, which can be either `INACTIVE`, `RECORDING` or `PAUSED`.

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

### Does the Capacitor Audio Recorder plugin work on the web?[¶](#does-the-capacitor-audio-recorder-plugin-work-on-the-web "Permanent link")

Yes. The plugin supports Android, iOS, and the web. When you stop a recording, `stopRecording()` returns a `blob` on the web and a file `uri` on Android and iOS, so you can handle the result on whichever platform your app runs on.

### Can I pause and resume a recording?[¶](#can-i-pause-and-resume-a-recording "Permanent link")

Yes. Call `pauseRecording()` to pause and `resumeRecording()` to continue the same recording. You can check the current state at any time with `getRecordingStatus()`, which returns `INACTIVE`, `RECORDING`, or `PAUSED`.

### How do I play back or upload the recorded audio?[¶](#how-do-i-play-back-or-upload-the-recorded-audio "Permanent link")

`stopRecording()` returns a `blob` on the web and a file `uri` on Android and iOS. On the web you can play the blob with an `Audio` element; on Android and iOS you can play the file with a native audio plugin or upload it to your server.

### Is the Capacitor Audio Recorder plugin free to use?[¶](#is-the-capacitor-audio-recorder-plugin-free-to-use "Permanent link")

The plugin is available to all Capawesome [Insiders](/docs/insiders/). See the [plugin documentation](/docs/sdks/capacitor/audio-recorder/) for the latest details on access and installation.

### How do I handle interruptions, silent mode, and volume while recording?[¶](#how-do-i-handle-interruptions-silent-mode-and-volume-while-recording "Permanent link")

Audio apps rarely live in isolation — a phone call can interrupt you, the device might be muted, and users expect the hardware buttons to work. A few companion plugins cover these cases: the [Capacitor Audio Session plugin](/docs/sdks/capacitor/audio-session/) lets you configure the iOS audio session category and mode and listen for interruptions, the [Capacitor Silent Mode plugin](/docs/sdks/capacitor/silent-mode/) detects whether the device is in silent mode so you can warn the user before recording or playback, and the [Capacitor Volume plugin](/docs/sdks/capacitor/volume/) gets and sets the volume level and observes hardware volume button presses.

## Conclusion[¶](#conclusion "Permanent link")

The [Capacitor Audio Recorder plugin](/docs/sdks/capacitor/audio-recorder/) gives you a small, consistent API for recording audio across Android, iOS, and web — start, pause, resume, stop, and check status, without writing platform-specific glue code.

**Related reading:**

* [Exploring the Capacitor Audio Recorder API](/blog/exploring-the-capacitor-audio-recorder-api/) — a closer look at the API in practice
* [API Reference](/docs/sdks/capacitor/audio-recorder/#api) — the full method and type reference

**Missing a feature?** [Create a feature request](https://github.com/capawesome-team/capacitor-plugins/issues/new/choose) in our [GitHub repository](https://github.com/capawesome-team/capacitor-plugins).

Join the Capawesome [Discord](https://discord.gg/VCXxSVjefW) server for questions and subscribe to the Capawesome [newsletter](https://capawesome.io/newsletter/) to stay updated.

July 16, 2026 

Back to top

```json
{
      "@context": "https://schema.org",
      "@type": "BlogPosting",
      "headline": "Capacitor Audio Recorder Plugin: Record Audio",
      "description": "The Capacitor Audio Recorder plugin allows you to record audio in your Capacitor app with cross-platform support for Android, iOS, and web.",
      "image": "https://capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png",
      "datePublished": "2025-03-31T00:00:00+00:00",
      "dateModified": "2026-07-14T00:00:00+00:00",
      "author": [
        {
          "@type": "Person",
          "name": "Robin Genz",
          "url": "https://github.com/robingenz"
        }
      ],
      "publisher": {
        "@type": "Organization",
        "name": "Capawesome",
        "url": "https://capawesome.io",
        "logo": {
          "@type": "ImageObject",
          "url": "https://capawesome.io/assets/images/logo.svg"
        }
      },
      "articleSection": "Announcements",
      "keywords": ["Announcements", "Capacitor", "SDKs"],
      "isPartOf": {
        "@type": "Blog",
        "@id": "https://capawesome.io/blog/#blog"
      },
      "mainEntityOfPage": "https://capawesome.io/blog/announcing-the-capacitor-audio-recorder-plugin/",
      "url": "https://capawesome.io/blog/announcing-the-capacitor-audio-recorder-plugin/"
    }
{
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://capawesome.io/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://capawesome.io/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Capacitor Audio Recorder Plugin: Record Audio",
          "item": "https://capawesome.io/blog/announcing-the-capacitor-audio-recorder-plugin/"
        }
      ]
    }
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Does the Capacitor Audio Recorder plugin work on the web?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. The plugin supports Android, iOS, and the web. When you stop a recording, stopRecording() returns a blob on the web and a file uri on Android and iOS, so you can handle the result on whichever platform your app runs on."}}, {"@type": "Question", "name": "Can I pause and resume a recording?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. Call pauseRecording() to pause and resumeRecording() to continue the same recording. You can check the current state at any time with getRecordingStatus(), which returns INACTIVE, RECORDING, or PAUSED."}}, {"@type": "Question", "name": "How do I play back or upload the recorded audio?", "acceptedAnswer": {"@type": "Answer", "text": "stopRecording() returns a blob on the web and a file uri on Android and iOS. On the web you can play the blob with an Audio element; on Android and iOS you can play the file with a native audio plugin or upload it to your server."}}, {"@type": "Question", "name": "Is the Capacitor Audio Recorder plugin free to use?", "acceptedAnswer": {"@type": "Answer", "text": "The plugin is available to all Capawesome Insiders. See the plugin documentation for the latest details on access and installation."}}, {"@type": "Question", "name": "How do I handle interruptions, silent mode, and volume while recording?", "acceptedAnswer": {"@type": "Answer", "text": "Audio apps rarely live in isolation — a phone call can interrupt you, the device might be muted, and users expect the hardware buttons to work. A few companion plugins cover these cases: the Capacitor Audio Session plugin lets you configure the iOS audio session category and mode and listen for interruptions, the Capacitor Silent Mode plugin detects whether the device is in silent mode so you can warn the user before recording or playback, and the Capacitor Volume plugin gets and sets the volume level and observes hardware volume button presses."}}], "url": "https://capawesome.io/blog/announcing-the-capacitor-audio-recorder-plugin/"}
```
