> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capwrapper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart Guide

> Create a Capwrapper account, configure your first build, and download a signed APK or IPA in under 2 minutes. No native code required.

This guide walks you through every step of your first Capwrapper build, from creating an account to downloading your signed app file. The entire process takes under 2 minutes once your account is set up.

<Note>
  Your web app URL must be publicly accessible and use HTTPS. Apps served over HTTP or behind authentication that blocks the builder will not load correctly in the native wrapper.
</Note>

<Steps>
  <Step title="Create a Capwrapper account">
    Go to [capwrapper.com](https://capwrapper.com) and sign up for an account. No credit card is required to get started.
  </Step>

  <Step title="Click Get Started and choose a build type">
    From the dashboard, click **Get Started**. You'll be asked to choose a build type:

    * **Android APK / AAB** — for distributing on the Google Play Store or sideloading directly to Android devices
    * **iOS IPA** — for distributing on the Apple App Store or via TestFlight

    Select the platform you want to target first. You can create separate builds for each platform at any time.
  </Step>

  <Step title="Enter your web app URL and app details">
    Provide the following information:

    * **Web app URL** — the public HTTPS address of your web app (e.g. `https://myapp.vercel.app`)
    * **App name** — the display name shown on the device home screen and in store listings. Keep it under 12–15 characters to avoid truncation on most devices.
    * **App version** — a semantic version string in `major.minor.patch` format (e.g. `1.0.0`). Each new store submission must use a higher version than the previous one.
  </Step>

  <Step title="Set your bundle ID">
    Enter a bundle ID in reverse domain notation, for example `com.yourcompany.appname`.

    <Tip>
      Your bundle ID is permanent. Once you publish your app to the Play Store or App Store under a given bundle ID, you cannot change it without creating a completely new store listing. Choose it carefully before your first production release.
    </Tip>

    The bundle ID must be lowercase and contain only letters, numbers, and periods, with at least two segments (e.g. `com.example`).
  </Step>

  <Step title="Choose native capabilities">
    Select the native features your app needs. Available capabilities include:

    * **Camera** — access the device camera for photos, video, QR scanning, and document scanning
    * **GPS** — foreground and background location access
    * **Push notifications** — schedule local notifications or send push via your backend
    * **Biometrics** — fingerprint and Face ID authentication
    * **Contacts, Calendar, Health** — read device contacts, add calendar events, access step count data
    * **In-app purchases** — monetize via RevenueCat integration
    * **Analytics** — log events to Firebase Analytics

    You can select as many capabilities as your app requires. Unused capabilities can be left off to keep your app's permission request list minimal.
  </Step>

  <Step title="Submit your build">
    Review your configuration and click **Submit**. Capwrapper's cloud pipeline compiles, signs, and packages your app. Build time is under 2 minutes in most cases.

    When the build completes, you can:

    * **Download the signed APK or IPA** directly from the dashboard
    * **Download the AAB** for Play Store submission
    * **Submit to TestFlight** for iOS beta distribution

    Your build history and downloadable artifacts remain accessible from the dashboard at any time.
  </Step>
</Steps>

## Next steps

Once you have your first signed build, you can configure more advanced settings using `capwrap.config.json` for fine-grained control over app metadata, appearance, permissions, and integrations. See the [Build Config Reference](/configuration/build-config) for all available options.
