A file upload form in WordPress lets people send you a CV, a photo of a broken part or a signed document, straight into an entry you can find again. It beats asking for attachments by email, because every file arrives next to the answers it belongs to. This guide is ideal for beginners and for teams who collect documents every week. We show how to set safe file types, a sensible size limit and where the files end up, in about 15 minutes.
The short version
- Add a File upload field and list only the file types you need.
- Set a size limit that fits a phone photo, such as 10 MB.
- Files stay on your own site, linked from the entry.
- Tell people what to send in the field’s help text.
Why use a form to upload files instead of email?
Because email attachments get lost, split across threads and blocked by size limits. A form keeps the file with the person’s name, the job they applied for and the date, so you can sort and search later. It also lets you refuse the wrong kind of file before it reaches you, which keeps your inbox and your site safer.
Common uses include:
| Form | Files people send | Good file types |
|---|---|---|
| Job application | CV and cover letter | pdf, doc, docx |
| Repair request | Photos of the problem | jpg, jpeg, png, heic |
| Client onboarding | Logos and brand files | png, svg, pdf, zip |
| Insurance claim | Receipts and reports | pdf, jpg |
How do you choose the allowed file types?
List only what you need; we keep it to two or three types for most forms. In Echo Forms, Allowed file types is a list of file endings without dots, separated by commas, such as pdf, doc, docx for a CV. Anything else is refused before it uploads, and checked again on your server, so nobody can send a program dressed up as a document. If you leave it empty, the usual safe types WordPress accepts are allowed.
What max file size should you set?
Set it to the largest file a normal person will send. A phone photo is about 3 to 5 MB, and a scanned PDF can reach 20 MB, so 10 MB suits most forms. Your web host has its own upload limit, often 64 or 128 MB, and that wins if it is lower. A file over the limit is refused with a message that says the limit, so people know what to do.
How to add a file upload form in WordPress, step by step
- In Echo Forms, start a new form or open a template such as the handyman or roofing request.
- Add a File upload field from Basic fields.
- Fill in Allowed file types and Max file size (MB).
- Write help text that says what to send, such as A photo of the leak, up to 10 MB.
- Mark the field required only if you truly cannot help without the file.
- Put the form on a page and send a test entry with a real file. It takes about 2 minutes, and we always do it from a phone too.
The everyday fields guide covers every option on the field, with pictures.
Where do uploaded files go?
Files stay on your own site, linked from the entry, so you open them from Entries next to the answers. With Echo Forms Signature, each file can also be copied to Google Drive or Dropbox, in a folder for each form, which helps when a whole team works from shared folders. Signature can also clear old entries on a schedule, such as after 90 days for job applications or 365 days for claims. See connections for how to link an account.
Is a file upload form safe?
It is, when you keep the list of types short and the size limit sensible. WordPress has its own list of file types it allows, described in the WordPress developer documentation, and Echo checks every file against your list too. Add spam protection to the form as well, so bots cannot fill your site with junk. The spam protection guide shows the options.
A file upload form in WordPress takes about 15 minutes to set up and saves hours of chasing attachments across a year. Start with one form, test it from a phone, and add more once it works the way your team likes.
Collect files without the email chase
The file upload field is free in Echo Forms, with file types and size limits on every form.


