Forms
How to collect photos through a form
Collect photos through a form by giving every shot you need its own named photo field, telling people in one sentence what to frame, and setting a size limit. Reach for a file upload set to images only when you genuinely need several pictures of the same thing in one place.
Nuwan Madhusanka · Co-founder
8 min read · Published
A photo arrives as one of two things: evidence that settles a question at a glance, or a blurry close up of something nobody can place. The difference is almost never the camera. It is whether the form said which shot it wanted, gave that shot its own field, and set a limit the phone could meet.
So the short answer is this. Give every picture you need its own photo field, label it with what it shows, put a one sentence framing instruction underneath, and leave the size limit at a sensible default. Use a file upload field set to images only when you really want a batch of pictures of the same thing. Everything below is detail on those four decisions.
Photo field or file upload
There are two ways to take an image, and they suit different jobs.
The photo field holds one image, by design. That sounds like a limitation until you read the responses. A form with a field called “Photo of the fault” and another called “Photo of the whole item” produces two labelled pictures every time, in the same order, for every claim. The warranty claim form works this way: the close up of the fault is a required photo field whose instruction says the photo of the whole item goes in the next field, and that next field is an optional file upload for extra pictures.
The file upload field takes between one and ten files, and its allowed types are two switches: images and PDF. It suits a batch of similar pictures, such as every angle of storm damage, or a mix of photos and a PDF report in one place. What it gives up is labelling. Five files in one field arrive as five files, and somebody has to work out which is which.
One hard constraint shapes the choice. The photo field only works on a classic form. On a published conversational form it becomes a plain text box, so a conversational form that needs a picture uses a file upload field with Maximum Files set to 1 and images switched on. The conversational form definition covers the format itself, and the post on conversational against classic forms covers what else changes.
Size and count limits
The photo field has one setting, a maximum file size, which starts at 10 MB and can go from 1 to 50. The file upload field has three: maximum files from 1 to 10, maximum file size from 1 to 100 MB per file, though the upload service refuses any single file over 50 MB, and the two type switches. A file over the limit is refused on the spot with a message naming the file, and selecting more files than the field allows is refused too, so the respondent finds out while they are still holding the phone.
Why does size matter at all? Because pixels add up quickly. Google’s web.dev guide to image formats makes the point with screens: double the resolution in both directions and the pixel count quadruples, and a raster image’s file size grows with its pixel count. A photo is also the kind of image that guide recommends storing as JPEG or a lossy format, which is what phone cameras produce. Leave the default alone until somebody actually reports a rejection, then raise it once.
Count limits deserve more thought than size. Ask how many pictures you will genuinely open. A maintenance team deciding which trade to send needs one clear shot of the fault, not nine. The maintenance request form asks for exactly one required photo and gets on with it.
What to ask for in each photo
The label names the picture. The description tells people how to take it. On a classic form the description is shown under photo and file upload fields, so this is the one place a framing instruction reliably appears.
Good instructions are short and physical. They say what should be in frame and where to stand:
- The property inspection form uses four photo fields, one per area, each with its own line: “One wide shot from the doorway.” for living areas, “One shot showing shower and vanity.” for the bathroom.
- The maintenance request asks for “One photo of the fault itself. Include the model plate if it is an appliance.” That second sentence saves a return visit, because the model plate is what the technician orders parts from.
- The custom cake order form sets an expectation instead: “One picture of a cake you like. We will match the feel, not copy it.” A reference photo that comes with a promise about how it will be used starts fewer arguments later.
Safety belongs in the instruction when the subject is dangerous. The hazard report form, built for a fictional hospital facilities team, asks for “One photo from a safe distance. Do not touch electrical faults.” and leaves the field optional. Safe Work Australia describes hazards as things and situations that could harm a person, and managing them starts with identifying them. A report that is blocked because the reporter could not safely take a picture has failed at that first step, so the photo is welcome but never a condition of reporting.
Naming, storage and where photos end up
People will not rename files, and you should not ask them to. The field label is the name. “Photo: kitchen” tells whoever opens the response what the image is, whatever the phone called it.
Know where each kind of image lands before you promise anyone a copy:
- In the response PDF, a photo prints in place in the body of the form, next to the answers around it. Files from a file upload field, images and PDFs alike, are appended as extra pages at the end.
- In the responses table, a file upload cell shows how many files arrived and a View button that lists each one with a Download button.
- In the CSV export, there are no images at all. The spreadsheet is text.
Uploaded files go to storage directly from the respondent’s browser rather than through your inbox. If a photo has to reach a claims system or a job board as it arrives, the webhook add-on posts each submission once, as JSON, with no retry, so the receiving end must be reliable. It sends the answers, not the image files themselves.
Privacy: a face is personal information
A photo of a leaking tap is rarely personal. A photo of a hallway with a resident in it is. The OAIC’s guidance is plain that photos and videos of a person are treated as personal information under the Privacy Act 1988 if their identity is clear or could reasonably be worked out, and the Act covers organisations with an annual turnover above $3 million plus some others.
Three habits keep a photo form on the right side of that line. Ask for the object, not the scene, as the hazard and maintenance examples both do. Say why you want the picture and who sees it, in the description or a paragraph above the field. And choose the access type to match. A public link lets anyone who has it upload. A form that collects photos inside people’s homes, or of patients’ rooms, suits a secret key or, for staff completed forms like the inspection, login required with your company’s email domain on the allowlist. None of this is legal advice; check the rules that apply to your organisation.
The settings, in one table
The table at the end of this article lists the ten settings that decide how a photo form behaves, the value to start from and the reason. Two rows are worth reading first. Form type, because a photo field on a conversational form silently becomes a text box. And Required, because a required photo is the most common way a quick report turns into no report.
Common mistakes
- One upload field called “Photos” with ten slots. Everything arrives unlabelled. Split it into named photo fields for the shots you need, and keep one optional file upload for extras.
- Asking for video. The file upload field offers only two type switches, images and PDF. The warranty example handles this honestly, telling people to paste a link to a video in the description field instead.
- No framing instruction. Without “from the doorway” or “the model plate”, you get close ups nobody can place.
- Requiring a photo that is unsafe or impossible to take. Keep it optional where the reporter might be in danger or the item is out of reach.
- Planning to read photos from the CSV. They are not there. Work from the response PDF or the responses table.
- Photographing people when you need the thing. It adds privacy obligations and helps nobody decide anything.
Build it
The form with photo upload page shows the photo field on a finished form, and the guide to every form field covers the photo and file upload settings in the builder. The builder has 41 component types across its classic and conversational toolkits. Photo Upload takes a single image with one size setting and works on classic forms only; File Upload works in both formats and offers Maximum Files, Maximum File Size and the images and PDF switches. Around them you get the four access types (public, secret key, login required and domain restricted) and four add-ons: e-signing, webhooks, email alerts to one address, and a redirect after submit.
| Setting | Value to start from | Reason |
|---|---|---|
| Field for one specific shot | Photo upload, one field per shot | The field holds one image, so the label names the picture and nothing arrives unlabelled |
| Field for several shots of one thing | File upload with Images on and PDF off | One field can take up to 10 files, which suits a batch of damage photos |
| Photo maximum file size | 10 MB, the default | The panel allows 1 to 50 MB; raise it only when people report the rejection message |
| File upload maximum file size | 10 MB each, the default | The setting allows 1 to 100 MB, but the upload service refuses any single file over 50 MB |
| File upload maximum files | The number you will actually look at, often 3 to 5 | More slots invite near duplicates that someone has to open one by one |
| Required | Only when the decision cannot be made without the picture | A required photo blocks the report when taking it is unsafe or impossible |
| Description under the field | One sentence on what to frame and from where | On a classic form the description is shown for photo and file upload fields |
| Form type | Classic | A photo field on a published conversational form turns into a plain text box |
| Conversational alternative | File upload, Maximum Files 1, Images only | The conversational form renders a working upload control for file upload |
| Access type | Secret key or login required when photos show people or homes | A public link lets anyone with it upload, and what they upload is personal information if a person can be identified |
A finished example
Hazards go unreported because the form is longer than the hazard is worth. This one is nine questions, a photo, a four phrase risk rating and a choice of how soon someone has to come, and it is designed to be filled in standing next to the thing.
Read the hazard report form short enough to useQuestions people ask
Can people take the photo with their phone camera?
Usually, yes. The photo field accepts image files, and MDN's documentation of file inputs notes that many mobile devices let the user take a picture with the camera when a field asks for images. The field does not force the camera open, so a person can also pick a picture they took earlier, which matters when the damage was photographed before the form was sent.
Can a conversational form collect a photo?
Not with the photo field. On a published conversational form it falls through to a plain text box with no upload control, even though the conversational toolkit still offers it. Use a file upload field instead, set Maximum Files to 1 and switch on Images only. That renders a real upload control, one question per screen, and collects exactly one picture.
How many photos can one form collect?
As many as you add fields for. A photo field holds one image, so four photo fields collect four labelled pictures, which is how a room by room inspection works. A single file upload field takes between one and ten files. Several named photo fields read better afterwards, because each image arrives already labelled with what it is supposed to show.
Do the photos come through in the CSV export?
No. The CSV is text, one column per field, and it carries no images or files. Photos print in place in the response PDF, and files from a file upload field are appended to that PDF as extra pages. In the responses table a file upload cell shows how many files arrived and a View button that lists each one for download.
Can a person draw on or mark up a photo before sending it?
No. The form takes the image as it is, with no annotation or drawing tools. If you need a location marked, ask for it in words in the next field, such as which tap, which corner or which panel, or ask for a second, wider photo that shows where the close up was taken. That combination usually beats an arrow scribbled on a phone screen.
Is a photo of a person personal information?
In Australia, often. The OAIC says photos and videos of a person are treated as personal information under the Privacy Act 1988 if their identity is clear or could reasonably be worked out. The Act covers organisations with an annual turnover above $3 million and some others. Ask for the thing rather than the person, and check your own obligations. This is general information, not legal advice.
Written by
Nuwan Madhusanka · Co-founder
Works across the builders and the export paths: how a form becomes a PDF, how a flyer canvas becomes a print file, and how a signed document carries its audit trail.
LinkedIn profileWritten and checked by the OneCraft team. Last checked .
Make your own form
Describe what you need and the generator writes and designs it, then you edit anything you like.
See what it can makeRead next
How to collect file uploads with a form
Collect file uploads safely by allowing only the file types you can open, capping the count and size at what the job needs, and saying in one sentence what a good file looks like. Then limit who can reach the form and decide how long you keep what arrives.
How to write a quote request form tradies can price from
A quote request form works when the person pricing the job can put a number on it from the answers alone: what the job is, how big it is, what the site is like, when it is wanted and roughly what the customer expects to spend. Ask for a measurement and a specific photo instead of a free text description, and most jobs can be quoted without a call to arrange a call.
How to run an exit interview survey
Send the survey after the resignation is settled and well before the last day, promise the confidentiality you can actually keep, and ask mostly about what started the search and what could have changed it. Then name the people who read it and report themes on a fixed cycle, so the answers change something for the people who stay.
For the steps inside the builder, read the guideon this topic.