The original version of this document is located at https://docs.qfield.org/how-to/project-setup/pictures
In QField, fields configured with the Attachment widget can:

Refer to the Attribute Form Documentation to configure the widget in QGIS.
📱 Fieldwork
The built-in QField camera interface provides live toggles and post-capture editing tools when taking photos inside an attachment widget:

A preview screen displays after photo capture to inspect and manually adjust images before saving them to your project.
A floating toolbar above the capture button offers the following editing options:
Applied rotations or reflections bake permanently into the saved JPEG image alongside active image stamps or EXIF metadata.
🖥️ Desktop preparation
Add multiple photos to a single feature using multiple attachment attributes or by creating a layer relation to a child photo table.
This section illustrates configuring a 1:N photo relation.
Set up a layer relation in QGIS project properties to store newly captured media in a related table.
Workflow
Apiary (parent feature layer):
| Field | Type |
|---|---|
id |
Text (UUID) |
geometry |
Geometry |
... |
Apiary_pictures:
| Field | Type |
|---|---|
id |
Text (UUID) |
apiary_id |
Text (UUID) |
path |
Text |
... |
Configure a relation in QGIS with the following properties:
apiaryidapiary_pictureapiary_id
Configure attribute forms in feature layers after creating the layer relation.
Specify a default value in the apiary parent layer to generate unique primary keys.
Set the widget type to Attachment in the apiary_picture child layer.
Workflow
Parent layer configuration:
id UUID field and set Widget Type to Text Edit or UUID Generator.uuid('WithoutBraces').

Workflow
Child layer configuration:
path field and set Widget Type to Attachment.
QField includes built-in drawing and sketching tools to annotate captured images, draw on blank canvases, or sketch over templates.
QField supports sketching on top of custom image templates in addition to annotating photos.
Add custom templates using two methods:
drawing_templates directory alongside your QGIS project file and populate it with image files.drawing_templates as sketching templates when loading the project.drawing_templates directory inside the QField application directory on your mobile device.Templates stored alongside projects or inside the QField app directory display when tapping the three-dotted menu (⋮) on an Attachment widget and selecting Draw a sketch.

📱 Fieldwork
The integrated QField camera automatically geotags captured photos.
Location and heading orientation metadata bake directly into the image file structure.
Note
Disable Use native camera in QField general settings to preserve EXIF metadata on modern mobile devices.
QField allows adding customizable image stamps to captured photos.
Configure image stamping options in QFieldSync inside QGIS.
Image stamping embeds formatted text overlays and logos directly onto field photos.
🖥️ Desktop preparation
Workflow

Configure the following image stamping options:
Default template expression:
sql
[% format_date(now(), 'yyyy-MM-dd @ HH:mm') %]
Latitude [% coalesce(format_number(y(@gnss_coordinate), 7), 'N/A') %] | Longitude [% coalesce(format_number(x(@gnss_coordinate), 7), 'N/A') %] | Altitude [% coalesce(format_number(z(@gnss_coordinate), 3) || ' m', 'N/A') %]
Speed [% if(@gnss_ground_speed != 'nan', format_number(@gnss_ground_speed, 3) || ' m/s', 'N/A') %] | Orientation [% if(@gnss_orientation != 'nan', format_number(@gnss_orientation, 1) || ' °', 'N/A') %]

Example

🖥️ Desktop preparation
Store EXIF geotag parameters (such as latitude, longitude, and camera orientation) directly inside vector attribute fields.
To store the EXIF information, follow these steps:
Workflow
exif(@project_folder + '/' + "path", 'Exif.Image.Orientation') retrieves the orientation of the picture stored in path.QField extracts and populates EXIF geotag values into attribute tables when taking photos in the field.
🖥️ Desktop preparation
Rescale captured photos to maximum width and height thresholds to save storage space.
Configure maximum dimensions by navigating to Project > Properties… > QField > Attachments and Directories.

🖥️ Desktop preparation
QFieldSync provides the possibility to configure the path and the file names of picture attachments.
Workflow
Use expressions to specify the path of the attachments.
By default, pictures are saved into the “DCIM” folder, audio are saved into the “audio” folder and videos are saved into “video” with a timestamp as name.

Additional directories can be synchronized with pictures or other attachments.
Extra paths can be configured in Attachment and Directories tab in the QFieldSync settings under Project > Properties > QField.
All extra paths evaluate relative to the project directory.
