Vanquish Upload Files for WooCommerce lets you collect files from your customers — logos, artwork, documents, photos — exactly where you need them: on the product page, in the cart, during checkout, or on the order details page. Whether you run a print shop, a personalization service, or any store t
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.9 and PHP 7.4.
SourceWordPress plugins · Nov 5, 2026
01 / Source details
Aboutthistool.
Vanquish Upload Files for WooCommerce lets you collect files from your customers — logos, artwork, documents, photos — exactly where you need them: on the product page, in the cart, during checkout, or on the order details page.
Whether you run a print shop, a personalization service, or any store that sells custom products, this plugin makes it effortless for customers to provide the files you need to fulfill their orders, with a clean upload experience and a real-time progress bar.
Large files are handled properly. Every upload is split into chunks and reassembled on the server, so a single request never runs into the size limit your host or CDN enforces — the usual cause of an upload that dies at 90% with no explanation.
Why store owners choose it
Receive uploads bound to each order — no more chasing files over email.
Show upload fields exactly where they make sense: product, cart, checkout, order pages.
Make uploads required so customers can’t order without providing their files.
Restrict by file type, size and image dimensions.
Get notified by email the moment a customer uploads a file.
Fully translatable — upload field texts get a box per language, with or without WPML.
Handle large files on any host — uploads are split into chunks, so no single request runs into your server’s or your CDN’s size limit.
What’s included for free
Multiple upload fields per product
Single file per upload field
Display on product, cart, checkout and order pages (classic and block-based cart & checkout)
Individual products — add the same product multiple times with distinct uploads
Accept extra file types for uploads – EPS, AI, CDR and other print formats WordPress refuses by default
Email notifications for the shop, and the uploaded files in the order emails – one row per file, with a thumbnail and a download link
Upload progress bar, file delete, and a tile for every uploaded file – its preview or a label of its type – in the upload area, under the cart items and in a summary box
Light or dark colour scheme for the upload boxes, and your own colours for the upload buttons, to match your theme
Chunked uploads for large files — with automatic retry on a failed chunk
Translatable button texts, and a box per language for every upload field text
Send a proof of an uploaded file with Vanquish Attach Me (its Premium): a button on each file of the order, and the state of the proof next to the file, for you and for your customer
Premium features
The Premium version, distributed separately, adds:
Multiple files per upload field — let customers attach several files to a single field, and download all the files of a field as one zip when they are kept on your server
Image crop editor with rotation and aspect-ratio control
Low print resolution warning — tell customers when a photo has too few pixels for the size it will be printed at
iPhone photos (HEIC) converted to JPEG in the customer’s browser, so they can be previewed, cropped and checked like any photo
Compress images – store uploaded photos as lighter JPEG files, compressed and resized to a longest side, to save disk space
Extra costs & discounts per uploaded file — fixed or percentage
Per-second (audio/video), per-file-size and per-PDF-page surcharges
Set the product price based on the number of uploaded files
Cloud storage : Dropbox, Amazon S3 or an S3-compatible service (Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces…) and Google Drive, with “Download all files as zip” on the order page also for the files kept there
File name pattern – rename uploaded files with the order number, SKU, product name and more
Upload protection – a per-visitor upload limit and a minimum free disk space, so nobody can fill your server through the upload fields
Clean up old uploads – delete the files of old orders by age and order status, on request or automatically every night
Approve / reject uploaded files with customer feedback
Visibility rules by product, category, tag, brand, user role, order status, payment gateway, shipping method and time
Show the upload fields from the last order on the My Account dashboard
Advanced shortcodes to place upload forms anywhere
Priority support and updates
Screenshots, plans and answers on the plugin’s page: vanquishplugins.com/plugins/upload-files .
External services
This plugin connects to the following third-party services.
Freemius — Used to deliver plugin updates, manage the optional Premium license, and (only if you opt in) collect anonymous usage data to help improve the plugin. Your site URL and basic environment information are sent to Freemius when you activate the plugin, check for updates, or activate/deactivate a license. Provided by Freemius, Inc. Terms of Service: https://freemius.com/terms/ Privacy Policy: https://freemius.com/privacy/
Cloud storage (Premium only) — The free version stores uploaded files on your own server and uses no external storage. If you enable a cloud storage destination in the Premium version, the files your customers upload are sent to the storage account you configure, and only at the moment an order is created (when the customer reaches the order-received/thank-you page, or uploads files on the thank-you or order details page). Files are never sent before an order exists. Available providers and their policies:
Amazon S3 (AWS) — Service Terms: https://aws.amazon.com/service-terms/ — Privacy: https://aws.amazon.com/privacy/
An S3-compatible service (Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces…), when you enter its endpoint instead of Amazon’s — under the terms and privacy policy of the service you choose
Google Drive — Google APIs Terms: https://developers.google.com/terms — Privacy: https://policies.google.com/privacy
More WooCommerce plugins by Vanquish
Vanquish Shipping Tracking for WooCommerce – tracking numbers on orders and emails, with 1,600+ carriers and their logos, a direct tracking link and a Track button. No account needed.
Vanquish Multiple Addresses for WooCommerce – give customers an address book: save multiple billing and shipping addresses and pick one at checkout.
Vanquish Attach Me – Order & Product Attachments for WooCommerce – attach files to orders and products, show them to the customer and send them with the order emails.
Vanquish Request a Quote for WooCommerce – a quote list, a request form, quotes you price as orders, and online payment once the quote is accepted. With Upload Files Premium, the files customers upload go with their quote.
Vanquish Order Approval for WooCommerce – review every order before it goes ahead, and let the customer pay before or after you approve it.
See it in action
Screenshots & previews.
The Upload fields page - create and arrange your upload fields.The upload area on the product page: the files as tiles, and "Add more files" (several files per field: Premium).The classic cart: the files of each product with their cost, and the upload area.The uploads summary after the block cart, product by product.Uploaded files on the admin order page: a tile per file under each item, an image lightbox, and a compact box to download, approve (Premium) or delete each file.The uploads summary on the customer's order page, with approval status (Premium) and download.The Cleaner (Premium) - delete the files of old orders, on request or automatically every night.
02 / Source details
Gettingstarted.
01Upload the plugin files to the /wp-content/plugins/vanquish-upload-files-for-woocommerce directory, or install the plugin through the WordPress Plugins screen directly.
02Activate the plugin through the ‘Plugins’ screen in WordPress.
03Make sure WooCommerce is installed and active.
04Go to Upload Files for WooCommerce → Upload fields to create your first upload field; the general settings are under Settings .
05Choose on which pages the field appears (product, cart, checkout, order). Fine-grained visibility rules (by product/category, role, gateway, shipping method and time) are available in Premium.
03 / Source details
Frequently asked questions.
Does it work without WooCommerce?
No. WooCommerce must be installed and active, since uploads are bound to WooCommerce products and orders.
Which product types are supported?
Native WooCommerce simple and variable products. Custom product types added by third-party plugins are not officially supported.
How many files can customers upload in the free version?
The free version supports multiple upload fields per product, with one file per field — you configure how many fields to add on the Upload fields page. The separately distributed Premium version adds multiple files per upload field, cloud storage (Dropbox, Amazon S3 or S3-compatible, Google Drive), the image crop editor and full PDF preview, among other extras.
Can customers upload large files?
Yes, and there is nothing to configure. Every upload is split into chunks in the browser and reassembled on the server, so the file never travels as a single request – which is what usually produces a 413 error behind Cloudflare, a reverse proxy, or a host with a low post_max_size .
The chunk size is taken from your own server limits – the smaller of post_max_size and upload_max_filesize – and never exceeds 10 MB, however large the file is. If a chunk fails it is retried on its own instead of restarting the whole upload, and the server checks the reassembled file against the size the browser reported before accepting it.
This works in the free version too. What still applies is the maximum size you set on the upload field itself, along with your server’s disk space and PHP execution time.
Does it support the block-based cart and checkout?
Yes. Both the classic (shortcode) and the block-based WooCommerce cart and checkout are supported. On the block cart/checkout the upload fields appear in the order-summary area.
Does it work with Vanquish Request a Quote? (Premium)
Yes. With Vanquish Request a Quote for WooCommerce 1.0.3 or newer, the files a customer uploads on the product page go with the product when it is added to the quote list, and reach the quote when the request is sent. Required upload fields are required for a quote too: the request is not sent until their files are there. The quote list shows the files under each product (Request a Quote 1.0.4 or newer), the customer sees them on the quote’s page, and you see them on the quote’s page in the admin, as for an order. The “Request a quote” button of Request a Quote Premium 1.2.0, which sends a quote for one product straight from its page, takes that product’s files with it as well.
Can I send the customer a proof of their file to approve?
Yes, with Vanquish Attach Me for WooCommerce Premium, 1.6.3 or newer. On the admin order page every uploaded file has a “Send a proof” button: it opens Attach Me’s proof form with a title and a message already written, and you choose the proof and save it. The state of the proof – to approve, approved, changes requested – appears next to the file, on the order page in the admin and on the customer’s order page, where the customer approves it or asks for changes. This works with the free version of Upload Files too.
Is it translatable?
Yes, and it does not depend on any one translation plugin. Button texts are translatable, and every text of an upload field — title, description, disclaimer and the rest — has a box per language in the Translations tab of the field itself. That works with WPML, with Polylang, or with nothing more than the languages installed in WordPress.
If you have been translating those texts in WPML String Translation, they are moved over automatically the first time you open the admin after updating, and nothing is deleted from WPML.
Customers upload files, but the order shows none. What should I check?
The uploads stay in a visitor session until the order is created, and the session is identified by a cookie named vanupfi_uid . If that cookie does not survive from the upload to the checkout, the order is created with nothing attached.
Turn on Settings → General → Debug log and place a test order. The plugin records when each file was saved, which order events WooCommerce fired, whether the uploads were still reachable at each one, and whether they were attached to the order. Read it under WooCommerce → Status → Logs , source vanquish-upload-files . If nothing appears there, check that logging is enabled in that screen’s settings. Then check, in this order:
01Is the vanupfi_uid cookie present in the browser while on the checkout page? The most common cause of a missing one is a cookie consent banner , which blocks cookies it does not recognise until consent is given. A full-page cache or a CDN dropping the Set-Cookie header does the same.
02How long passes between the upload and the completed order, compared with Settings → General → Keep files of visitors who have not ordered (minutes) ? When that time elapses the session is deleted, and the temporary files go with it.
03If both look right, deactivate your other plugins, confirm that a test order keeps its files, then re-enable them one at a time.
Temporary uploads live in the tmp folder of the plugin’s uploads folder; files attached to an order live in the same folder, in a subfolder per order (see “Where are uploaded files stored?”).
Where are uploaded files stored?
By default on your own server, in wp-content/uploads/vanquish-upload-files/ (sites that used the plugin before version 2.7.6 keep their wp-content/uploads/wcuf/ folder). Premium adds Dropbox, Amazon S3 (or any S3-compatible service, such as Cloudflare R2 or Backblaze B2) and Google Drive as storage destinations.
Can I place the upload form anywhere with shortcodes? (Premium)
Yes. The Premium version provides shortcodes to render the upload form on any page:
[vanupfi_upload_form] – a generic upload form.
[vanupfi_product_page_upload_form] – the product-page upload form.
[vanupfi_cart_page_upload_form] – the cart upload form.
[vanupfi_checkout_page_upload_form] – the checkout upload form.
[vanupfi_upload_form_last_order] – the upload form for the customer’s last order.
Important: when you place one of these forms on the product, cart or checkout page, tick that page in Settings → General → Your own layout → Place the upload area with a shortcode , so the plugin stops drawing its own upload area there and the fields are not shown twice. For example, if you use the product-page form shortcode, tick Product page . Two things to know: required upload fields stay required, so a ticked page without its shortcode leaves the customer unable to complete the order; and the option is for the classic cart and checkout only – on the block cart and checkout, add the Upload fields block instead.
Migrating from the CodeCanyon version? The old [wcuf_...] shortcodes keep working as aliases of the new [vanupfi_...] ones, so you do not need to edit your product content.
I migrated from the CodeCanyon version and my shortcodes show as plain text (Premium)
The shortcode prefix changed from wcuf_ to vanupfi_ . Since version 1.0.11 the old tags keep working as aliases, so simply updating the plugin is enough. If you prefer to update your content, the mapping is 1:1:
Will my translations of the old plugin carry over?
Partly, and on their own. The CodeCanyon version (WooCommerce Upload Files) was translated under another text domain, woocommerce-files-upload . The languages it came with – German, Spanish, French, Italian, Polish and Portuguese (Brazil) – are in this plugin too. If you made your own translation of the old plugin, with Loco Translate or into another language, since version 2.7.2 the plugin reads it for the texts that did not change – about one in seven, among them the upload buttons and messages your customers see – whenever it has no translation of its own for them. Your old files are only read, never changed, and the old plugin does not need to stay installed. The other texts are new: translate them with Loco Translate under the new text domain, vanquish-upload-files-for-woocommerce , or on translate.wordpress.org.
Can I customize the templates?
Yes. Copy the template you want to change from the plugin’s templates folder into a vanquish-upload-files folder of your theme (a child theme is best), keeping its sub-folder: templates/order/upload-form.php , for example, becomes your-theme/vanquish-upload-files/order/upload-form.php . The plugin then uses your copy instead of its own. Copies made for versions before 1.10.0, in the theme’s wcuf folder under the old file names, keep working. When the plugin changes a template you have copied, its admin pages tell you, so you can bring your copy up to date.
How much does Premium cost?
You can see all Premium plans and prices on the pricing page: https://vanquishplugins.com/migration/pricing/ – single site or 3, 5 and 10 sites, billed monthly, yearly, or once (lifetime). The same plans are also shown inside the plugin, under the “Upgrade” menu.
Can I try the plugin before buying Premium?
Yes, and it is strongly recommended. The free version on WordPress.org is the same plugin with fewer features: install it on your own site, with your own theme, and check that the upload fields fit your product, cart and checkout pages before upgrading. Premium adds features on top of it, on the same foundations.
I bought this plugin on CodeCanyon. How do I get the Premium version?
The CodeCanyon item (WooCommerce Upload Files) has been retired and continues here as the free Vanquish Upload Files for WooCommerce. Existing CodeCanyon customers can convert their purchase into a Premium license – including 1 year of updates and support at no extra cost – on the migration page: https://vanquishplugins.com/migration/
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati