Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Allow Users to Upload Images on a WordPress Site

Want to let users upload images on your WordPress site without giving them access to the admin area? You’re not alone.

Many site owners want to allow image submissions while keeping their site safe and easy to manage. Whether you’re running a photo contest or collecting user-submitted content, the easiest way is by adding an image upload form to your site.

We’ve tested several tools and found that WPForms offers the most effective way to do it. We’ve helped many WordPress users set up image upload functionality using this plugin, and it truly makes everything quick and easy — no coding required.

In this guide, we’ll show you how to easily allow users to upload images on your WordPress site. We also have a video tutorial if you prefer to follow along with the steps in action!

How to allow users to upload images on a WordPress site

Allowing Users to Safely Upload Images in WordPress

If you want to run a multi-author blog, then the easiest way to allow users to upload images is by adding them as authors on your website.

However, giving users access to the WordPress admin area isn’t ideal for one-time scenarios such as guest post submissions, product reviews, photo contests, and more.

Luckily, there are several WordPress plugins that let users upload images without compromising your website security or giving them access to the WordPress admin area.

Having said that, let’s take a look at some ways to easily allow users to upload images in WordPress. You can use the quick links below to jump to the method you want to use:

Let’s get started.

Method 1: Let Users Upload Images Using a File Upload Form

This method is perfect if you want users to upload an image or other files, like job applications, cover letters, and so on.

You can easily create a file upload form that collects the user’s name, email address, uploaded file, and an optional message.

For this method, we’ll be using WPForms, the best WordPress form builder plugin. It comes with a built-in file upload field and makes the whole process quick and beginner-friendly.

At WPBeginner, we use WPForms for everything from our contact and website migration forms to our annual reader survey. We’ve seen firsthand how flexible it is to create all kinds of forms, including ones with image upload fields!

For more information about the plugin, please see our complete WPForms review!

WPForms homepage

To get started, you will need to install and activate the WPForms plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you need to visit the WPForms » Settings page in your WordPress dashboard to enter your license key.

Entering the WPForms license key

You can find your license key in your account area on the WPForms site in the ‘Downloads’ tab.

With that done, go to WPForms » Add New to create your form.

On the ‘Setup’ page, you can name your form in the ‘Name Your Form’ field. This is for your reference only, but make sure to use a clear name for easier organization.

name your form

Then, you’ll see that WPForms lets you create your forms using a blank canvas, WPForms AI, and ready-to-use templates.

Let’s say you want to use the AI form builder. Then, you can hover over the ‘Generate With AI’ box and click ‘Generate Form.’

Generate form with AI

On the next screen, all you have to do is write a simple prompt. Alternatively, you can choose from the available prompt examples, if relevant.

The AI tool will then generate the form for you, just like that!

WPForms AI forms in action

If you want to use one of the templates, then you’ll want to hover over it and click ‘Use Template.

WPForms has more than 2,000 ready-made templates. You can always use the search feature to narrow down your options.

For example, here, we’re going to use the ‘Simple Contact Form.’

Choosing the Simple Contact Form template

This will take you to the drag-and-drop form builder.

On your left, you can see all the fields you can add to your form. And on your right, you have the live preview.

A contact form template

Next, let’s drag and drop a ‘File Upload’ field onto your form.

You can find this field under the ‘Fancy Fields’ section on the left.

Adding a File Upload field to the form

Once added, click on the ‘File Upload’ field on your form to edit it.

We will change the name of this field (its label) to ‘Your Photograph’ and specify which file extensions are allowed. We only want image files, so we are going to allow JPG/JPEG, GIF, and PNG files.

💡 Editor’s Note: By default, WordPress only allows certain image file types to be uploaded. For instance, users won’t be able to upload .svg images or .zip files unless you explicitly add them to the allowed list.

We’re going to explain how to do that in a moment. For now, let’s continue tweaking our field settings.

After that, let’s set a file size limit.

We recommend specifying it up to 5 MB, as it helps you save disk costs on your WordPress hosting account. Plus, this makes sure user uploads don’t slow down your site.

Then, don’t forget to check the box next to ‘Required’ so that the user can’t submit the form until they’ve uploaded an image.

Configuring setting for file upload form field

You can also set further options for this field by clicking the ‘Advanced’ tab.

Here, you can choose the style of your upload field. It defaults to a ‘Modern’ drag-and-drop field. If you want, you can replace it with a ‘Classic’ field.

Styling file upload form

Additionally, you can choose to store the image in the WordPress Media Library by switching on the toggle. This is a good idea if you are going to collate your submitted images for a blog post or similar.

Once you are satisfied with your form, you can save and exit the form builder.

Adding Your Image Upload Form in WordPress

Next, you need to embed your form into a WordPress post or page and accept user-submitted images. WPForms makes it super easy to add your forms anywhere on your website.

Simply edit the post or page where you want to add the image upload form. In the WordPress content editor, you need to add the WPForms block to your content area.

Adding a WPForms block to your page

After that, you need to select the form you created earlier from the dropdown menu. WPForms will display a preview of your form inside the content area.

You can now save your post or page and view it live to see your image upload form in action.

Allowing Additional File Types to Be Uploaded

Sometimes, your users might see this error when trying to upload a file, even when you’ve allowed that file type in your upload field’s settings:

Sorry, this file type is not permitted for security reasons

The problem is that WordPress only allows certain file types by default. The easiest way to allow more file types is to use a companion plugin.

We recommend the File Upload Types plugin from WPForms. Once you’ve installed the plugin in WordPress and activated it, go to Settings » File Upload Types.

You can then pick file types from the list that you want to allow, or you can add custom file types.

File Upload Types' admin area

Note that the list doesn’t include the types that WordPress already allows by default.

If you are just looking to allow SVG image uploads, then you can use the free WPCode plugin. You can learn more in our guide on how to add SVG image files in WordPress.

Method 2: Allow Users to Upload Images as Guest Authors

A key reason to let users upload images is if you are collecting guest post submissions. You could also use a very similar method for other user-generated content, like testimonials.

First, you will need to install and activate the WPForms plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

💡 Note: You’ll need the ‘Pro’ version (or higher) in order to use the ‘Post Submissions’ addon.

After activating the plugin, you need to visit the WPForms » Settings page in your WordPress dashboard to enter your license key. You can find your license key under the ‘Downloads’ tab of your account on the WPForms site.

This is what you’ll see when you enter the license key on your site:

Entering the WPForms license key

Next, go to WPForms » Addons to install the Post Submission Addon.

Click the ‘Install Addon’ button. It will automatically install and activate

Installing the WPForms post submissions addon

Now, you can start building your guest post submission form.

Go to WPForms » Add New, then scroll down to find the Blog Post Submissions Form.

Blog post submission form template

Click on it, and your new form will be created. It will have default fields for the guest author’s details, as well as the post’s proposed title, featured image, content, post excerpt, and category.

You can add more fields (sections of your form) if you want.

For instance, you might want to add a ‘Website / URL’ field where the author can enter the URL of their own WordPress blog.

Adding a website/URL field

To change the label on a field or any text on the form, just click on it.

For instance, you can click on the ‘Featured Image’ box and change the ‘Description’ to give your preferred size for featured images.

Change featured image form field settings

Files uploaded through the preset ‘Featured Image’ field will be stored in your Media Library within WordPress.

You can toggle this option on and off by clicking on the ‘Advanced Options’ dropdown for the field.

Store files in media library

🧑‍💻 Expert Tip: If you want to create a form from scratch, then note that the ‘File Upload’ field does not store files in the Media Library by default. Make sure you switch this setting on if you want to use it.

If you want, you can change the image types that the ‘File Upload’ field will accept. For instance, you might want users to only upload PNG files.

You can also enter a maximum file size in MB. If you want, you can allow users to upload 2 or more files.

Changing the file upload settings

The ‘Modern’ upload field (the default) allows users to drag and drop files.

If you prefer, you can change it to a ‘Classic’ field under advanced options. Note that this only allows users to upload a single file.

Once you’ve got all the fields you want on your form, go to the ‘Settings’ tab. You may want to change details under ‘Notifications’ here.

For instance, if your guest posts go to an editor, you’ll want their address in the ‘Send to Email Address’ box.

Changing your form's settings

You might also want to change the confirmation message that a user sees after submitting the form. You can do this under Settings » Confirmation.

Once you are happy with your form, just click the ‘Save’ button at the top of the screen.

Adding the Guest Post Submission Form to Your Site

You can add your form to your site in any post or page. You might want to create a new page specifically for guest post submissions.

If you are using the Gutenberg (block) editor, simply click the (+) icon to create a new block. Then, select the ‘WPForms’ block to add to the editor.

Next, you’ll see a WPForms dropdown. Select your form from the list, and it will be added to your post.

Add the WPForms block

🧑‍💻 Expert Tip: If you are still using the Classic editor, then you’ll see an ‘Add Form’ button next to ‘Add Media’ instead. Click this to get a dropdown list of your forms. Select the one you want, then click ‘Add Form’ to put it into your post.

You can use the ‘File Upload’ field in any form you create, of course. That means you can use the above method for any type of user-generated content you’d like to collect.

Bonus Method: Allow Users to Upload Photos for a Contest

While a file upload form allows users to upload any type of file, it may not be the best solution if you’re running a photo contest.

That’s because WPForms is a form builder, not a contest plugin. It doesn’t come with features like selecting winners, viral sharing, etc.

That’s where RafflePress comes in. It’s the best WordPress giveaway plugin that lets you create viral contests to grow your traffic and social media followers.

The RafflePress website

You can use it to design a contest widget that lets users upload photos but also incentivizes sharing and other engagement actions to grow your following.

We actually use RafflePress to run our annual WPBeginner birthday giveaway. It’s helped us grow our email list, increase social shares, and boost overall site engagement – all while keeping everything easy to manage from our WordPress dashboard.

Explore all its features in our full RafflePress review!

Submit an image action

We have created a detailed guide on how to create a photo contest in WordPress with RafflePress that you can follow for more details.

Video Tutorial

Before you go, don’t miss our video tutorial for how to allow users to upload images on a WordPress site:

Subscribe to WPBeginner

We hope this article has helped you learn how to allow users to upload images on a WordPress site. You may also want to see our guide on how to create a photo gallery with albums or our step-by-step tutorial for how to create AMP forms in WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

2 CommentsLeave a Reply

  1. Juri

    Helllo, exist plugin to check images licence? Thank you.

    • WPBeginner Support

      We do not have a recommended plugin for that specific purpose at this time.

      Admin

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.