Title: NDV Product Image Upload for WooCommerce
Author: Muhammad Faizan (NowDigiVerse)
Published: <strong>July 9, 2026</strong>
Last modified: July 9, 2026

---

Search plugins

![](https://ps.w.org/nowdigiverse-product-image-upload/assets/banner-772x250.png?
rev=3601764)

![](https://ps.w.org/nowdigiverse-product-image-upload/assets/icon-256x256.png?rev
=3601764)

# NDV Product Image Upload for WooCommerce

 By [Muhammad Faizan (NowDigiVerse)](https://profiles.wordpress.org/nowdigiverse/)

[Download](https://downloads.wordpress.org/plugin/nowdigiverse-product-image-upload.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/nowdigiverse-product-image-upload/#description)
 * [Reviews](https://wordpress.org/plugins/nowdigiverse-product-image-upload/#reviews)
 *  [Installation](https://wordpress.org/plugins/nowdigiverse-product-image-upload/#installation)
 * [Development](https://wordpress.org/plugins/nowdigiverse-product-image-upload/#developers)

 [Support](https://wordpress.org/support/plugin/nowdigiverse-product-image-upload/)

## Description

NDV Product Image Upload for WooCommerce lets both logged-in customers and guests
upload and crop custom images (and PDFs) for specific WooCommerce products before
adding them to the cart. It is ideal for personalised products, custom prints, photo
gifts, and any store where customers supply their own artwork.

Everything is configured per product, so each product can have its own required 
file count, file-size limit, allowed file types, button styling, and cropping rules.

#### Key Features

 * **Guest & logged-in uploads** — customers can upload without creating an account.
 * **Per-product configuration** — set required file count, max file size, allowed
   types, button text and colour for each product.
 * **Built-in cropping** — crop before uploading with Cropper.js, including shape
   presets (square, rectangle, circle, heart) and fixed aspect ratios.
 * **PDF upload support** — accept PDFs alongside images.
 * **Resolution validation** — optionally enforce minimum/maximum image dimensions.
 * **Default settings** — define fallback settings used by products without their
   own configuration.
 * **Global controls** — hide express checkout buttons (Apple Pay, Google Pay, PayPal
   Express) on product pages, and auto-clean uploaded images from completed/cancelled/
   refunded orders after a chosen number of days.
 * **Secure file handling** — uploaded files are validated by type, size and content,
   stored outside the media library, protected with an `.htaccess` rule on Apache/
   LiteSpeed, and served through a tokenised endpoint.
 * **HPOS compatible** — works with WooCommerce High-Performance Order Storage.
 * **Data control** — choose whether to keep or delete plugin data on uninstall.

#### Use Cases

 * Custom T-shirts and apparel — customers upload their designs
 * Photo products — personalised photo books, mugs, or prints
 * Custom artwork and logo printing
 * Wedding and event stationery

#### Premium version

A separate **Pro add-on** extends this free plugin with:

 * Bulk operations — apply settings to many products at once
 * Import / Export all settings as JSON
 * Security Logs dashboard — monitor upload attempts and events
 * Dedicated Elementor widget for the upload interface
 * CDN cache management
 * Per-upload pricing and fees (charge or discount based on uploads)

The Pro add-on requires this free plugin and is available from the developer at 
https://nowdigiverse.com/. The free plugin is fully functional on its own.

### Privacy Policy

This plugin does not send any data to third parties. Uploaded files are stored on
your own server. For guests, a temporary session identifier is created to manage
uploads; it is cleaned up when sessions expire or orders complete.

During an upload request the visitor’s IP address is read from the server and used
transiently for rate limiting (a short cooldown between consecutive guest requests).
It is not stored permanently and never leaves your server.

### Credits

 * [Cropper.js](https://github.com/fengyuanchen/cropperjs) (MIT) for image cropping
 * [Select2](https://github.com/select2/select2) (MIT) for the admin product search
   field
 * WooCommerce for the e-commerce framework

## Screenshots

[⌊Global Settings and Default Settings in the admin area⌉⌊Global Settings and Default
Settings in the admin area⌉[

Global Settings and Default Settings in the admin area

[⌊Frontend upload dialog and the built-in cropping tool with shape presets⌉⌊Frontend
upload dialog and the built-in cropping tool with shape presets⌉[

Frontend upload dialog and the built-in cropping tool with shape presets

[⌊Cart page showing the customer's uploaded files on the line item⌉⌊Cart page showing
the customer's uploaded files on the line item⌉[

Cart page showing the customer’s uploaded files on the line item

[⌊Checkout page with the uploaded files shown in the order summary⌉⌊Checkout page
with the uploaded files shown in the order summary⌉[

Checkout page with the uploaded files shown in the order summary

## Installation

 1. Upload the plugin files to `/wp-content/plugins/nowdigiverse-product-image-upload`,
    or install through the WordPress Plugins screen.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.
 3. Ensure WooCommerce is installed and active.
 4. Go to **NDV Image Upload** in the admin menu and configure a product under “Add
    Configuration”.

## FAQ

### Does this plugin require WooCommerce?

Yes. It integrates with WooCommerce products and the cart, and requires WooCommerce
to be installed and active.

### Can guests upload without an account?

Yes. Guests can upload using a temporary session identifier; no account is required.

### What file types are supported?

JPG, JPEG, PNG, GIF, WEBP and PDF. You can enable or disable types per product.

### Can I set different rules for different products?

Yes. Each product can have its own required file count, file-size limit, allowed
types, button styling, cropping and resolution rules. Products without a configuration
use your Default Settings.

### How are uploads kept secure?

Every file is validated by type, size and content (including a scan for executable
content), filenames are randomised, files are stored in a protected directory, and
they are served through a tokenised endpoint. A short cooldown between consecutive
guest requests helps deter abuse.

### How do I protect the uploads folder on Nginx?

Because Nginx ignores `.htaccess`, add this to your server block for strict protection(
filenames are already randomised so they cannot be guessed):

    ```
    location ^~ /wp-content/uploads/custom_product_images/ { deny all; return 403; }
    ```

### What happens to my data when I uninstall?

You choose. On the “Uninstall Preferences” tab you can keep all data (default) or
delete it on uninstall. Files referenced by orders are preserved either way for 
data integrity.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“NDV Product Image Upload for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Muhammad Faizan (NowDigiVerse) ](https://profiles.wordpress.org/nowdigiverse/)

[Translate “NDV Product Image Upload for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/nowdigiverse-product-image-upload)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/nowdigiverse-product-image-upload/),
check out the [SVN repository](https://plugins.svn.wordpress.org/nowdigiverse-product-image-upload/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/nowdigiverse-product-image-upload/)
by [RSS](https://plugins.trac.wordpress.org/log/nowdigiverse-product-image-upload/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial WordPress.org release.
 * Per-product image/PDF upload with a built-in cropper (shapes, aspect ratios, 
   zoom/rotate/flip).
 * Guest and logged-in uploads with secure, validated file handling.
 * Resolution validation, default settings, and global controls (express-checkout
   hiding, order-image auto-cleanup).
 * HPOS compatibility and uninstall data preferences.

## Meta

 *  Version **1.0.0**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 7.2 or higher **
 * Tags
 * [cropping](https://wordpress.org/plugins/tags/cropping/)[file upload](https://wordpress.org/plugins/tags/file-upload/)
   [image upload](https://wordpress.org/plugins/tags/image-upload/)[product customization](https://wordpress.org/plugins/tags/product-customization/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/nowdigiverse-product-image-upload/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/nowdigiverse-product-image-upload/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/nowdigiverse-product-image-upload/reviews/)

## Contributors

 *   [ Muhammad Faizan (NowDigiVerse) ](https://profiles.wordpress.org/nowdigiverse/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/nowdigiverse-product-image-upload/)