How to Create a WordPress File Upload Form Without a Plugin

11 min read

Quick answer

You don't need a plugin to add a file upload form to WordPress. Build the form in EZ File Drop, copy its embed code, and paste it into a Custom HTML block (or your page builder's code module). Files are delivered into your Google Drive, Dropbox, OneDrive, Box, SharePoint, or FTP storage and never touch your WordPress server, so PHP upload limits, hosting quotas, and plugin maintenance don't apply.

There's no shortage of WordPress plugins that add file upload forms: WPForms, Jetpack Forms, Formidable, Gravity Forms. Each lets you drop a file upload field into a contact form and ship it to your WordPress site. For many use cases, that's fine.

For a lot of others, though, installing yet another plugin to collect files is overkill. Plugins add server load, increase your site's attack surface, and often require paid tiers to unlock file uploads at all. And they all share the same underlying limitation: files land on your WordPress server, where PHP upload limits and hosting storage quotas apply.

There's a simpler alternative. Use an embedded form that routes files directly into your existing cloud storage (Google Drive, Dropbox, OneDrive, Box, SharePoint, or FTP), without a plugin, without a database table, and without any of the file size limits imposed by your WordPress host.

This guide walks through how to do that using EZ File Drop, covering native WordPress (block editor), Divi, and other page builders.

Why You Might Want to Skip the Plugin

The plugin approach to WordPress file uploads comes with tradeoffs worth knowing about:

PHP upload limits. WordPress is subject to the PHP upload_max_filesize and post_max_size directives set by your host. On shared hosting, these are often 10–40 MB. Raising them usually requires editing PHP configuration files or contacting support. Any plugin that uploads directly to your server inherits this limit.

Server storage strain. Files uploaded through a plugin typically land in /wp-content/uploads/ on your server. A hundred client submissions of video files can consume your hosting storage quota fast, and backups balloon accordingly.

Plugin bloat. Every active plugin adds code that executes on every page load. File upload plugins in particular often bundle unused features (email marketing integrations, payment processors, survey engines) that you don't need but ship with the plugin anyway.

Security attack surface. Each plugin is a potential vector for vulnerabilities. File upload plugins are a particularly sensitive category because they accept user-provided files, which is exactly what attackers want.

Subscription costs. Most of the popular file upload plugins gate the file upload field behind paid tiers. WPForms' file upload field requires a paid plan. Jetpack Forms requires a paid Jetpack plan for file uploads. Formidable's upload field is Plus-tier or higher.

The plugin-free alternative routes file uploads off your WordPress server entirely. Files go directly from the uploader's browser to the cloud storage destination you choose (Google Drive, Dropbox, OneDrive, Box, SharePoint, or FTP). WordPress only hosts the embed code. This means no upload limits, no server storage strain, no plugin to maintain, and no subscription beyond the file-upload tool itself.

The Short Version

Three steps:

  1. Create a file upload form in EZ File Drop and copy the embed code.
  2. Open the WordPress page or post where you want the form to appear.
  3. Paste the embed code into a Custom HTML block (or a Code module, depending on your editor).

Details below, including step-by-step for the block editor and for Divi.

Step 1: Create the Form in EZ File Drop

Sign up here. Every new account starts on a 7-day Business plan trial, no credit card required.

Connect EZ File Drop to your cloud storage of choice (Google Drive, Dropbox, OneDrive, Box, SharePoint, or FTP), then create a new form to launch the form editor.

Configure the form:

  • Set your page copy (header and welcome message) in Form Setup
  • Add your logo and match colors and fonts to your site in the Style settings
  • Add any form fields you want (name, email, project details, dropdowns, etc.)
  • Select the cloud destination folder for incoming files
  • Set file size and type restrictions as needed (per-submission caps: 5 GB on Starter, 25 GB on Business and Premium)
Form setup in EZ File Drop

Step 2: Copy the Embed Code

Once your form is saved, open it and go to the Share tab. The Embed Code section generates a snippet with two parts: an iframe that renders the form, and a small script that automatically resizes the frame to match the form's height, so the embedded form never shows an awkward inner scrollbar as fields appear or files are added.

Embedding is part of the Business and Premium plans, and since every new account starts on a Business trial, you can embed from day one.

Three toggles (Logo, Header, Description) control what appears in the embedded version. For embedding inside existing WordPress page content, most people turn all three off and let the surrounding WordPress page provide context. The form itself (fields plus drop zone plus submit button) shows up on its own, clean. You can check the result with the Preview button before touching WordPress.

Click Copy Embed Code to grab the snippet.

Copy the emebed code in Share settings for the form

Step 3: Paste the Embed Code into WordPress

WordPress has several editing environments depending on which setup you're using. The three most common are covered below. Pick the one that matches your site.

Option A: Block Editor (Gutenberg)

If you're using the default WordPress block editor (no page builder installed), this is the simplest path.

  1. Open the page or post where you want the form in the block editor.
  2. Click the + button to add a new block.
  3. Search for Custom HTML and select it.
  4. Paste the EZ File Drop embed code into the Custom HTML block.
  5. Click Preview to verify the form appears, then Update or Publish the page.

The Custom HTML block is WordPress's built-in way to handle raw HTML, iframes, script tags, and third-party embeds. It's part of core WordPress, not an add-on. No plugin needed.

Important compatibility note: This approach works on self-hosted WordPress.org sites and on WordPress.com plans with hosting features activated (Business and above). It does NOT work on WordPress.com Free, Personal, or Premium plans, which filter iframe and script tags out of Custom HTML blocks for security reasons. If you're on WordPress.com, check your plan before troubleshooting.

Option B: Divi Page Builder

Divi is one of the most widely used WordPress page builders. If your site uses Divi, the embed goes into a Code module.

  1. Open the page in Divi Builder.
  2. Click the + button to add a new module.
  3. In the module picker, search for or click the Code module.
  4. The Code module opens with a Content tab that has a single code field. Paste the EZ File Drop embed code into that field.
  5. Click the green checkmark to save the module.
  6. Save or update the page.

The Code module is Divi's native way to handle custom HTML. Like the Custom HTML block in Gutenberg, it's part of Divi itself, not an add-on you need to install.

Add a code block in Wordpress
Paste your EZ File Drop embed code in Wordpress

Option C: Other Page Builders

Other popular page builders follow the same pattern: find the widget or module designed for raw HTML code and paste the embed there.

  • Elementor: Drag an HTML widget onto the page and paste the embed code into the code field.
  • Beaver Builder: Add an HTML module and paste the embed code.
  • WPBakery: Add a Raw HTML element and paste the code.
  • Classic Editor: If you're still on the Classic Editor, switch to the Text tab (not Visual) before pasting the code, then switch back.

The specific terminology varies, but the concept is the same: find the HTML-specific module and paste.

What the Uploader Sees

Once embedded, the form appears as a normal part of your page. Visitors can select files (individually or in bulk), add any form field data you set up, and submit. Files route directly to your cloud storage, organized into the folder you chose during form setup.

Because files upload directly to cloud storage and never touch your WordPress server, you don't need to worry about hosting upload limits. A 10 GB video file uploads through the embedded form just as easily as a 500 KB PDF.

EZ File Drop form embedded on a Wordpress site.

Plugin vs. Plugin-Free: How They Compare

Both approaches have their place. Here's how they stack up on the dimensions that usually matter:

Consideration Plugin (WPForms, Jetpack, Formidable, Gravity) Plugin-Free (EZ File Drop embed)
File size limit Subject to PHP upload limits (often 10–40 MB on shared hosting) Up to 25 GB per submission, independent of your WordPress host
Where files are stored WordPress server (/wp-content/uploads/) Your existing cloud storage (Drive, Dropbox, OneDrive, Box, SharePoint, FTP)
Server storage impact Counts against hosting quota None; files don't touch the WordPress server
Plugin installation required Yes No
File upload field gated behind paid tier Usually yes (Basic plan or higher) Yes, but EZ File Drop is the only subscription involved
Form customization In-plugin form builder In EZ File Drop's form editor
Cloud storage integration Usually requires add-on or Zapier Built in
Works on WordPress.com Free Depends on plugin (many don't) No (requires WordPress.com Business or self-hosted)

When a Plugin Is Actually the Better Choice

EZ File Drop isn't the right fit for every WordPress file upload use case. A few situations where a native WordPress plugin might be the better pick:

You need files stored in the WordPress Media Library. If your workflow is specifically about populating the WordPress Media Library with uploaded files (for example, you're crowdsourcing images for a gallery that lives on the site), a plugin like WPForms with the "Store file in WordPress Media Library" option is a better fit.

The form is a multi-step workflow tied to WordPress content. If uploads are tightly coupled to WordPress-specific features (user accounts, Buddypress, WooCommerce product submissions, membership gating), a WordPress-native plugin may integrate better than an embed.

You need advanced form logic. If your form requires calculations, signatures, payments, or appointment scheduling, a full form plugin (WPForms Pro, Gravity Forms, Formidable) may handle all of that plus file uploads in one tool. EZ File Drop focuses on file collection with supporting form fields (including conditional logic), not the full form-builder spectrum.

If those don't describe your use case, and you're mainly trying to collect files into your existing cloud storage from visitors to your WordPress site, the plugin-free approach is simpler, scales further, and keeps your WordPress installation cleaner.

Frequently Asked Questions

Can I add a file upload form to WordPress without a plugin?

Yes. Build the form in an external tool like EZ File Drop, copy its embed code, and paste it into a Custom HTML block in the WordPress block editor (or the code module in your page builder). The Custom HTML block is part of core WordPress, so nothing needs to be installed, and uploaded files route to your cloud storage instead of your WordPress server.

Does an embedded file upload form work on WordPress.com?

It works on WordPress.com plans with hosting features activated (Business and above), and on any self-hosted WordPress.org site. WordPress.com's Free, Personal, and Premium plans filter iframe and script tags out of Custom HTML blocks, so the embed won't render there. If you're on one of those plans, you can link to the form's own share page instead of embedding it.

Where do files uploaded through the form go?

Directly to the cloud storage you connect: Google Drive, Dropbox, OneDrive, Box, SharePoint, or an FTP destination. Files travel from the uploader's browser to your storage without touching your WordPress server, so PHP upload limits and hosting quotas don't apply.

Which EZ File Drop plan do I need to embed a form on WordPress?

Embedding is part of the Business and Premium plans. Every new account starts on a 7-day Business trial, so you can embed on your WordPress site from day one. The Starter plan includes the form builder, cloud destinations, share links, and email notifications; on Starter, you share the form by link rather than embedding it.

Start Collecting Files Through WordPress

Creating a WordPress file upload form without a plugin takes about five minutes: build the form in EZ File Drop, copy the embed code, paste it into a Custom HTML block or your page builder's code module, and publish. Files route directly to your existing cloud storage, skipping WordPress's server and PHP upload limits entirely.

Try EZ File Drop for free with no credit card required.

Written by Matt Townley