How to Let Customers Upload Artwork for Print and Personalised Products
Setting up artwork uploads for a print, engraving, embroidery or signage store, and the checks that stop a bad file reaching production.
Put the upload on the product page, so each file is tied to the item it belongs to, accept only the formats your equipment can use, and review files before production rather than after. Customer Upload Files for WooCommerce, by FMEAddons, handles all three: per-item uploads with a setup fee, custom extensions such as AI and EPS, and an approval step that emails the customer when you reject a file.
What a bad file actually costs
Every other kind of store treats a file upload as data collection. For production work it is the input to a physical process, and the economics are different.
A 72 dpi logo pulled from a website looks fine on screen and prints as mush. A photo in RGB shifts colour on a CMYK press. An image with no bleed gets a white edge after trimming. A raster file enlarged to banner size is unusable. None of these are visible in a thumbnail, and all of them are discovered either by someone checking the file or by a customer receiving the finished item.
So the job is not receiving files. It is refusing the wrong ones early, and making the right one easy to supply.
Why the upload belongs on the product page
Someone orders a printed mug and a printed t-shirt in one go. A checkout upload gives you one file for the order, and no way to know which item it belongs to. You end up emailing the customer, which costs you a day and makes you look disorganised.
A product page upload attaches the file to that line item. Two items, two uploads, no ambiguity.
| Upload location | Use it when |
|---|---|
| Product page | The artwork belongs to one item. This is the default for print and personalisation |
| Cart | Customers prefer to build the basket first and deal with files afterwards |
| Thank you or order view | Customers often buy before their artwork is ready |
| Checkout | One document for the whole order, such as a purchase order or a brand guideline |
Most production stores end up using two: the product page for artwork and the order view for anything that arrives late.
Accept only the formats your equipment can use
WordPress does not recognise most production formats by default, so this needs setting up before you go live.
- Go to WooCommerce > Settings > Upload Files > Custom File Extension and add the formats you work with as a comma-separated list. For print that is usually
ai, eps, pdf, psd, tif, svg. For cutting and engraving, adddxfandcdr. - In the upload rule itself, set Allowed File Types to that list and nothing more.
- Set Maximum Upload Size high enough for real artwork. Print-ready files are routinely 50 MB and up, which is far above a default.
upload_max_filesize and post_max_size decide the real ceiling, and the lower of the two wins. Check them in WooCommerce > Status before you promise customers a 100 MB limit, and set the plugin slightly below the server value so people get a clear message rather than a request that dies silently.Keep the accepted list tight. Allowing JPG invites phone photos; allowing only vector formats on a product that must be vector prevents the conversation entirely.
The description field is where you prevent most problems
Each upload rule has a description shown next to the button. It is the cheapest quality control you have, and most stores leave it empty.
State the specifics, not general advice:
- Minimum resolution at final size, for example 300 dpi at 100 percent
- Colour mode, for example CMYK for print
- Bleed and safe area, for example 3 mm bleed on all sides
- Whether fonts must be outlined or converted to curves
- Accepted formats, repeated in plain language
Name the button for the job as well. "Upload your artwork" sets an expectation that "Choose file" does not.
Charging a setup fee
Artwork handling is work, and it is reasonable to charge for it. An upload rule can carry a price, as a fixed amount or a percentage, with a discount if you want to waive it above a quantity.
The setting that matters here is multiply by quantity. Without it, a customer ordering fifty engraved items pays one setup fee. With it, the charge follows the quantity, which is usually what you intend when each item carries different text.
If you would rather not charge, leave the price empty. Being able to is the point.
The approval step, which is the one that saves money
Receiving a file is not the same as accepting it. On the order screen you can open each upload, approve or disapprove it, and attach a note saying why. The customer is emailed automatically when the status changes, and can replace the file while the order is pending or on hold.
In practice that turns a vague email thread into a loop that closes itself:
- Order arrives, artwork attached to the line item.
- Someone checks it. If it is wrong, disapprove with a note: "This is 72 dpi and will print blurred at A3. Please send a vector PDF or a 300 dpi file at final size."
- The customer is emailed, replaces the file, and the order moves on.
- Nothing reaches production until the file is approved.
The upload counter column on the Orders screen shows how many files each order carries, which makes it easy to spot orders still waiting on artwork before anyone starts work.
Customers whose artwork is not ready
This is the most common reason a personalisation store loses a sale. The customer wants to buy, their designer has not sent the file, and a required upload stops them at the product page.
Two settings fix it. Leave the product page upload optional, and enable uploads on the thank you and order view pages so the file can arrive later. You keep the order, the customer sends artwork when they have it, and the upload counter tells you which orders are still waiting.
If you do want to make it compulsory, one caveat: a required upload may not be enforced when your theme uses AJAX add to cart on single product pages, because the item can reach the cart without the usual validation. Either turn that off for product pages, or put the required upload on the cart or checkout page instead. Test it on your own theme before relying on it.
- Artwork belongs to the item, so the upload belongs on the product page.
- Add your production formats as custom extensions and accept nothing else.
- Your server's upload limit, not the plugin's, is the one customers hit.
- The description field prevents more bad files than any other setting.
- Approve files before production and let late artwork arrive after the order.
FAQ
How do I let customers upload artwork on a WooCommerce product page?
How do I allow AI, EPS, PSD or DXF uploads?
Can I charge a setup fee for artwork?
Can I reject artwork that is not print ready?
Why do customers' large print files fail to upload?
upload_max_filesize and post_max_size cap uploads regardless of plugin settings. Check the real values in WooCommerce > Status and ask your host to raise them if needed.Can customers upload artwork after placing the order?
Should the upload be required?
How do I handle one order with several personalised items?
Artwork uploads built for production work
Per-item uploads, custom formats like AI and EPS, setup fees that follow quantity, and approval before anything reaches the press.
Get Customer Upload Files →
