MARKETPLACE
PLUGINS
CAMERA CAPTURE (MOBILE)
Camera Capture (Mobile) logo

Camera Capture (Mobile)

Published June 2026
   •    Updated today

Plugin details

A full-featured native camera element for Bubble mobile apps! Capture photos with a live custom viewport or the device's native camera, pick from the gallery, and capture single or multiple photos. Includes configurable facing, flash, quality, output format and resize; selfie/ID alignment guide shapes with a rule-of-thirds grid and an interactive guide-fit colour indicator; save-to-gallery and native share; and a full set of states, events and actions for workflow control. Works only in Bubble's native mobile environment (test on BubbleGo / TestFlight / Android testing track).

Free

For everyone

stars   •   0 ratings
11 installs  
This plugin does not collect or track your personal data.

Other actions

Platform

Native mobile

Contributor details

ANKHARA Studios logo
ANKHARA Studios
Joined 2022   •   2 Plugins
View contributor profile

Instructions

Camera Capture (Bubble Mobile)
A full-featured native camera element for Bubble mobile apps, powered by expo-camera. It displays a live custom camera viewport (or opens the device's native camera), requests camera and media-library permissions, captures single or multiple photos, lets users pick from the gallery, uploads photos to Bubble storage, and exposes everything through states and events. It also offers selfie/ID alignment guides, a rule-of-thirds grid, an interactive guide-fit colour indicator, save-to-gallery, and native sharing.

REQUIREMENTS
This plugin works only inside Bubble's native mobile environment. It cannot run in the web preview because it accesses device hardware. Test it on BubbleGo, TestFlight (iOS), or the Android testing track.

HOW TO USE
1. Drag the Camera Capture element onto a mobile page and give it a width and height (it is resizable).
2. On first load the element requests camera permission. The result is written to the Permission status state and, if denied, the Camera permission is denied event fires.
3. To take a photo from the live custom camera, run the Take picture action (for example on a button's Click workflow). The photo is captured, uploaded to Bubble storage, written to the Captured image state, and the A photo is captured event fires.
4. To use the device's built-in camera app instead, run the Open native camera action (or set the Capture source field to native). The returned photo flows into the same Captured image / Images list states as custom captures.
5. For multiple capture, set the Capture mode field to multiple (or run the Set capture mode action). Each photo is appended to the Images list state and Photo count updates; use Remove photo, Remove photo by URL, Move photo and Clear all photos to manage the collection.
6. To let users choose an existing image, enable the gallery button (Enable gallery field) or run Pick from gallery. To save a captured photo back to the device, run Save to gallery; to share it, run Share last.
7. To switch between the front and back camera, run the Flip camera action.

FIELDS
Camera facing: which camera to open on load, back or front. Default back.
Flash mode: flash behaviour when taking a photo, off, on or auto. Default off.
Photo quality: compression quality from 0 to 1.
Max width: resize the longest side to this many pixels (0 = no resize).
Output format: jpeg or png.
Enable gallery: show the in-element gallery pick button.
Capture mode: single or multiple.
Max photos: limit for multiple mode (0 = unlimited).
Capture source: custom (live in-element camera) or native (device camera app).
Selfie guide: show a selfie/ID alignment guide overlay.
Guide shape: oval, rectangle, circle, square, portrait, landscape or document.
Show grid: show a rule-of-thirds composition grid.
Guide fit colour: the success colour the guide turns when a good fit is indicated.
Guide fit mode: how the guide-fit indicator is triggered, tap, hold or manual.
Camera border width, corner radius, border colour and background colour: styling of the camera frame.

STATES
Captured image: the Bubble file URL of the most recently captured photo.
Images list: the list of file URLs captured in multiple mode.
Photo count: how many photos are in the current collection.
Permission status / Media permission status: granted, denied or undetermined.
Camera ready: yes once the live camera has actually mounted and is ready to capture.
Is busy: yes while a capture, upload or save is in progress.
Save status: the result of the last Save to gallery action.
Last file URL / Last file type: details of the most recent file.
Current capture mode / Current capture source: the active mode and source.
Guide fit: yes when the guide-fit indicator is currently showing a good fit.
Last error: a descriptive message if the camera fails to mount or an action fails.

EVENTS
A photo is captured: fires after a photo is taken and uploaded. Read it from the Captured image state.
An image is picked from the gallery: fires after the user selects an image from the gallery.
An image is saved to the gallery: fires after a photo is saved to the device media library.
An image is shared: fires after the native share sheet completes.
The camera is ready: fires once the live camera viewport has actually mounted.
Camera permission is denied / Media permission denied / Media permission granted: permission outcomes.
The stored image is cleared: fires after the captured image is cleared.
A photo is removed / Photos are cleared / A photo is moved: collection changes in multiple mode.
Maximum photos reached: fires when the Max photos limit is hit.
Guide fit changed: fires when the guide-fit indicator switches between neutral and good-fit.
Capture mode changed / Capture source changed: fires when the mode or source changes.
On error: fires when the camera fails to mount or an action fails. Read Last error.

ACTIONS
Take picture: captures a photo from the live custom camera.
Open native camera: opens the device's built-in camera app.
Pick from gallery: opens the gallery picker.
Flip camera: toggles between the front and back camera.
Save to gallery: saves the last photo to the device media library.
Share last: opens the native share sheet for the last photo.
Clear camera: clears the current captured image.
Remove photo / Remove photo by URL / Clear all photos / Move photo: manage the multiple-capture collection.
Set capture mode / Set capture source: switch between single/multiple and custom/native from a workflow.
Request media permission: prompts for media-library access.
Reset save status: clears the Save status state.
Set guide fit / Toggle guide fit: drive the interactive guide-fit colour indicator from a workflow.

NOTES
Captured photos are uploaded to your app's Bubble storage and the permanent file URL is returned, so you can save it to the database or display it like any other Bubble image. The guide-fit indicator is interactive (tap/hold or workflow-driven), not automatic subject detection, because Bubble's current mobile runtime has no computer-vision library. The live camera and most actions only run on a real device.

Types

This plugin can be found under the following types:
Element   •   Event   •   Action

Categories

This plugin can be found under the following categories:
Image   •   Media   •   Visual Elements

Resources

Support contact
Tutorial

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble