How to Create a File Upload Form in Elementor

Updated: January 1, 2020

As you have probably known, the pro version of Elementor comes with a Form widget that you can use to create forms in your WordPress site. With this widget, you can create nearly all types of forms. From a registration form, an email subscription form, a booking form, and so on. There are about 19 field types offered by this widget, including a field to accept a file upload. In this post, we will show you how to create a form that consists of a file upload field.

Before getting started, make sure you have upgraded your Elementor to Pro since, once again, the Form widget is only available on Elementor Pro.

First off, create a new page or post and edit it with Elementor.

Before start creating the page to add your form, set the page layout first. To do so, click the gear icon on the bottom-left corner on the left panel. Set your preferred page layout from the dropdown menu on Page Layout.

Add a new section by clicking the plus icon in the canvas area. You can select any structure according to the design concept you want to create. We choose a single-column structure in this example.

Add the Form widget by dragging it from the left panel to the canvas area.

By default, you will have a form that consists of three fields: Name, Email, and Message. Remove a field you don’t need by clicking the x icon on the field.

In this example, we will create a form that consists of 4 fields: Name, Email, Message and File Upload. Since the form has only 3 fields by default, you need to add a new form for the File Upload field.

Click the ADD ITEM button to add a new field. Set the field type to File Upload. If you want to set it as a required field, enable the Required option. Set the maximum file size from the dropdown menu on Max. File Size. To set the allowed file types, enter the file extensions on Allowed File Types. You can accept multiple file types by separating the file extensions by a comma. If you want to allow your visitors to submit multiple files, enable the Multiple Files option and set the maximum number of files they can upload.

If you want to change the order of the fields, you can simply drag each field up or down. In this example, we place the File Upload field above the Message field.

Setting the action

It would be great if you could connect your Elementor form with form backend services like Getform or Formcarry. Unfortunately, Elementor doesn’t support integration with any form backend service. So in this post, we will set the action to email. This means that the submissions submitted via your form will be sent via the specified email.

By default, the form action has been set to email. You can make it sure from the Action After Submit option.

Next, open the Email option and set the email address where the form submissions will be sent to. Set the subject of the email as well.

Still on the Email option, set the email body on the Message option. By default, all of the form fields are sent via [all-fields] shortcode so your email body will look like the following.

To customize the email body, you can paste the shortcodes of the fields you want to add to the body. You can find them on the ADVANCED tab on each field.

You can also customize the metadata of your email body on the Meta Data section. Remove metadata you don’t want to include.

Metadata itself will appear beneath the email body.

On the From Email, From Name, and Reply-to fields, you can set them empty.

Styling up the form

Until here, your form is ready to publish. Before you publish it, you can style the form to make it more appealing. By default, each field on your form contains a label. If you want to disable it, you can do so from the Form Fields option under the Content tab.

To make more advanced styling options, you can go to the Style tab. Here are some styling options you might want to set.

  • Set the gap between rows and the typography of the label

To set the gap between rows (fields) as well as the typography of the label, you can open the Form option. Set the rows gap on the Rows Gap section. To set the typography of the label (font size, font style, and font family), you can click the pencil icon on Typography on the Label section.

  • Set typography of the field, background color, border color, border width, and border radius

You can open the Field option to set the typography of the field, field background color, border color, border width, and the border radius.

  • Styling up the button

To style the button, you can open the Button option. From here, you can set the background color, text color, typography, border color, border radius, and so on. Switch to the HOVER tab to style the button hover.

There are several other styling options you can set. You can play around with the left panel until you get satisfied with the look of your form. Once done, you can click the PUBLISH button to publish your form.

Potential error

When testing your form, you might see the following error message after pressing the button.

The error above usually happens if you use a shared web hosting service. Most shared web hosting providers disable the PHP send_mail function, which is used by WordPress wp_mail function to send emails. We have covered this issue in this post. Go read the article if you get this issue.

This page may contain affiliate links, which help support WP Pagebuilders.

6 thoughts on “How to Create a File Upload Form in Elementor

  1. You just missed one important bit.
    By adding this below, I was able to view the image uploaded directly into my email witth a bit of html.

    You got a new message!

    Username: [field id=”name”]

    Email: [field id=”email”]

    Phone: [field id=”tel”]


    Don’t forget to call them back soon 🙂

  2. Thanks a lot for your content!
    Do you know where the images uploaded are saved?
    I cannot see them anywhere.
    Cheers, Ben

    1. Hi Benjamin. Unless you connect your form with a form backend service, your images are saved to your server. You can find them under the forms folder (full path wp-content/uploads/elementor/forms). If you set the form action to email, you can find the URL of each image on your email. Starting version 3.2, Elementor offers a bult-in form submission manager. You can set the form action to Collect Submissions. You can then find the URL of images from form submission manager by going to Elementor -> Submissions.

  3. Hi – Is there any way the uploaded images go directly to the wordpress image library? This will save me a lot of time downloading them to my desktop, renaming them (as for some reason the original name of the file is replaced by random numbers) and uploading them back to my media library.
    Hope u have a solution for this

  4. Uploaded files seem to be public— as in anyone can access them if they have a link!

    Is there anyway to make them private to admin or logged in users?

    1. Uploaded files seem to be public— as in anyone can access them if they have a link!

      Is there anyway to make them private to admin or logged in users?

      Same question

Leave a Reply

Your email address will not be published. Required fields are marked *

Pin It on Pinterest

Share This

Share This

Share this post with your friends!