Artwork Upload for Shopify Print on Demand: A Practical Guide
To take customer artwork for print-on-demand on Shopify, collect the file on the product page so it stays tied to the order line item. Publish clear file requirements (format, pixel size, background), then check each file before it reaches your print provider. Most POD apps automatically send the design saved on the product, not the customer's file, so unless your provider supports personalization you'll need a manual review step between the order and production.
Why customer artwork breaks the normal POD flow
A standard print-on-demand setup assumes every order of a product uses the same design. You upload a design once in Printful, Printify, Gelato or a similar app, it syncs to a Shopify product, and every order of that variant goes to production automatically.
Customer artwork changes that. Every order now carries its own file, and the sync between Shopify and your provider usually doesn't know about it. If you add an upload field to a synced product and leave auto-fulfillment on, the provider will often print the placeholder design you set up, ship it, and charge you. The customer's photo of their dog never reaches the printer.
So the first job is deciding how each order's file gets from the customer to production. Everything else (the upload field, file specs, storage) follows from that.
Pick your workflow first
There are three practical models. Most stores end up using one for most products and another for edge cases.
| Model | How it works | Good for | Trade-off |
|---|---|---|---|
| Provider personalization tool | The POD provider's own editor runs on your product page and passes the customer's design through with the order | Simple photo or text placement on mugs, tees, canvases | Limited to what the provider's editor supports. Less control over layout and quality checks |
| Upload + manual submission | Customer uploads a file with the order; you review it and place or edit the order in your provider's dashboard | Logos, full artwork, anything needing a quality check | A few minutes of work per order |
| Order first, artwork after | Customer buys, then sends artwork through an upload page or reply email | Bulk/B2B orders, artwork that isn't ready at purchase | Orders sit waiting on customers. Needs follow-up |
Some providers offer personalization features. Check what yours supports: which products, whether customers can upload their own images or only add text, and whether the file reaches production at full resolution. If it covers your products, it's the least work.
For anything more involved, like a band's logo on 50 hoodies, a pet portrait on canvas, or a business card with the customer's own PDF, most merchants use the upload + manual submission model. You lose a little automation, but you avoid reprints.
Turn off automatic submission for custom products
If you use manual submission, stop the provider from sending custom orders to production on its own. Most POD apps let you require manual confirmation of orders, or you can keep custom products as separate, unsynced products and create orders by hand in the provider's dashboard.
In Shopify you can also put a fulfillment hold on an order (open the order and use the hold option on the fulfillment) so nobody on your team ships it before the artwork is approved. Test the whole path with a real order before launch. Place it, confirm it doesn't reach production automatically, then submit it manually with a test file.
Set file requirements before anyone uploads
Most bad prints come from bad files, and most bad files come from customers who were never told what you need. Put the requirements right next to the upload field, not on a FAQ page nobody opens.
Resolution: think in pixels, not DPI
Customers don't know what 300 DPI means, but they can check pixel dimensions. Do the maths for them. Multiply the print area in inches by 300 for sharp results, or by 150 for an acceptable minimum on apparel and large prints viewed from a distance.
| Product (example print area) | Ideal at 300 DPI | Minimum at 150 DPI |
|---|---|---|
| T-shirt front, 12 × 16 in | 3600 × 4800 px | 1800 × 2400 px |
| Mug wrap, 8.5 × 3.5 in | 2550 × 1050 px | 1275 × 525 px |
| Poster, 18 × 24 in | 5400 × 7200 px | 2700 × 3600 px |
| Canvas, 16 × 20 in | 4800 × 6000 px | 2400 × 3000 px |
Use your provider's actual print areas and templates. They vary by product and brand. A line like "Minimum 1800 × 2400 pixels. Most phone photos taken in the last few years are big enough, screenshots and images saved from social media usually aren't" saves a lot of back-and-forth.
Format and background
- Apparel and stickers: PNG with a transparent background. JPEG can't hold transparency, so a logo saved as JPEG prints as a white rectangle on a black shirt.
- Photo products (canvas, prints, mugs): high-quality JPEG or PNG is fine.
- Flat print (cards, flyers): PDF with bleed (often 0.125 in per side) and text kept away from the trim edge.
- Logos: ask for vector (SVG, PDF, AI, EPS) if you have someone who can prepare it. Otherwise ask for a large PNG.
- Embroidery: the artwork has to be digitized into a stitch file. Tell customers you'll handle that (and whether there's a fee) so they don't try to send a stitch file themselves.
Most POD providers expect RGB files (sRGB) and handle colour conversion themselves. Check your provider's guidelines rather than asking customers for CMYK, which most of them can't produce anyway.
Phone uploads
A large share of POD shoppers upload from their phone. iPhones often save photos as HEIC, which many print workflows don't accept directly. Either accept any format and convert it yourself, or tell customers how to send a JPEG. Also warn against uploading a photo that came through a messaging app, since those apps often compress images heavily.
Where the upload goes in the buying flow
On the product page (best default)
Collecting the file before add to cart means the artwork is attached to the specific line item. When a customer orders two shirts with different designs, each file stays with its own item. You don't have to match emails to orders by hand.
Shopify themes don't include a file upload field by default. Your options are:
- Line item properties with theme code. Shopify supports a file input named like
properties[Artwork]in the product form, and the file link shows up on the order. It needs theme edits, it can conflict with themes that add to cart through AJAX, it gives you limited control over file size and count, and an update to the theme can remove it. - An upload app that adds the field without theme edits and handles large files.
- Your provider's personalization editor, if it fits the product.
Decide whether the upload is required. For a product that's meaningless without artwork (a "custom logo tee"), make it required so nobody checks out empty-handed. For products where the artwork can come later, keep it optional and say so.
After purchase
Some orders aren't ready for artwork at checkout. Think of a company ordering 200 event shirts while the logo is still being finalized. For these, a separate upload page linked in the order confirmation email works well. Edit the order confirmation template in Settings > Notifications to add a sentence and link for orders that need artwork, and ask customers to include their order number on the form.
Don't rely on email attachments as your main channel. Gmail caps attachments at 25 MB and Outlook.com is in the same range, large files get turned into share links that expire, and files sent by email end up in one person's inbox instead of a shared folder.
Shopify's standard checkout doesn't give you a simple file upload field, so plan for the product page or a post-purchase page rather than the checkout.
Reviewing artwork before it goes to print
A two-minute check prevents most reprints. Before submitting each order, open the file and look at:
- Pixel dimensions against your minimum for that product.
- Background. Is it really transparent, or is there a white or checkerboard box baked in? (Customers sometimes upload a screenshot of a transparent image.)
- Edges and crop. Will important parts fall outside the print area or into the seam of a mug?
- Thin lines and small text. Under about 1 pt or 6 pt text often disappears on DTG fabric.
- Rights. Is this obviously a sports team logo, a Disney character or someone else's trademark?
- Matching. Does the file belong to this line item and variant (the right colour shirt, the right size canvas)?
When something fails, email the customer before printing, with a specific fix: "Your image is 640 × 640 pixels; for a 12 × 16 inch print we need at least 1800 × 2400. Do you have the original file?" Offer to print anyway at their risk only if the result will still look reasonable.
Set expectations on the product page as well: "We check every file before printing and will contact you if there's a problem. This can add 1-2 business days." Customers accept a short delay much more readily than a blurry shirt.
Copyright and content
Add a line to your product page or terms stating that customers confirm they have the right to use the artwork they upload, and that you can refuse files. Print providers have their own content policies and can reject orders, and repeated infringing orders can cause problems with your Shopify store and your payment provider. A required "I own or have permission to use this artwork" checkbox is cheap insurance.
Storing and naming files
When you're handling 30 custom orders a week, you'll be looking for "the file for order #1452" constantly. Set up a system early:
- One shared location, like a Google Drive, Dropbox or OneDrive folder your team can reach, not personal inboxes.
- One folder per order, named with the order number:
1452-Smith-hoodie-black. - Keep originals separate from print-ready versions. If you upscale, convert or add bleed, save it as a new file (
1452-print.png) so you can always go back to the original. - Decide on retention. Repeat customers often reorder ("same logo as last time"). Keeping artwork for at least a year makes reorders a one-line email instead of a hunt.
Common mistakes
- Leaving auto-fulfillment on for custom products. The placeholder design ships and you pay for it.
- Requirements hidden in a FAQ. If they're not next to the upload field, customers won't see them.
- Quoting DPI only. Give pixel dimensions per product.
- Setting a file size limit that's too small. A 300 DPI poster-sized PNG can easily run to tens of megabytes, and a layered PDF can be bigger still. Low caps push customers to compress their files, and compression is what you don't want.
- One upload for a multi-item order. Collect artwork per line item, or you'll be guessing which design goes on which product.
- No reply path. If you can't tell which customer and order a file belongs to, you can't ask for a better one.
- Promising same-day production for custom art. Build review time into your stated processing time.
How File Upload To Inbox helps
File To Inbox adds an upload field to the product pages you choose, with no theme code, and attaches the files to the cart line item so each design arrives tied to its order. You can make the upload required, cap the number of files, add a message field, and accept any file type up to 5 GB. Files go to Dropbox, Google Drive, OneDrive, Box, SFTP or built-in storage, with an email notification. A standalone upload page covers artwork that arrives after purchase. Setup steps are in Add a File Upload Field to Shopify Product Pages and Create a Standalone File Upload Page. The app collects and delivers files. It doesn't check or approve artwork, so your review step stays the same.
Don't have File To Inbox yet? Install it from the Shopify App Store →
Frequently asked questions
Can Printful or Printify print a file my customer uploads on Shopify?
Only if the file reaches them with the order. A plain upload field on a synced product usually doesn't pass the file to the provider, which prints the design saved on the product instead. Either use the provider's personalization feature where it's available, or review the upload and submit the order manually with the customer's file.
What resolution should customer artwork be for print on demand?
Aim for 300 DPI at the final print size, with 150 DPI as a workable minimum for apparel and large prints. Turn that into pixels for customers. A 12 × 16 inch shirt print needs 3600 × 4800 px ideally, and at least 1800 × 2400 px.
Does Shopify have a built-in file upload field for products?
Not in standard themes. You can add one with line item properties by editing theme code, use your POD provider's personalization editor, or install an upload app. Shopify's standard checkout doesn't offer a simple file upload field, so the upload usually goes on the product page or on a separate page after purchase.
What file format should I ask customers to upload for t-shirts?
A PNG with a transparent background, at the pixel size your print area needs. JPEGs can't be transparent, so a JPEG logo prints as a solid rectangle. For logos, a vector file (SVG, PDF, AI or EPS) is even better if you can prepare it for print.
How do I handle a customer artwork file that's too low quality?
Hold the order and email the customer before printing. Tell them the exact pixel size you received and the size you need. Ask for the original file, not a screenshot or a copy that came through a messaging app, and only print the low-res version if they accept the result in writing.