Upload Native
Shopify product page file upload

Add a file upload field to your Shopify product page

Let customers attach a proof, photo, logo, or document right on the product page, next to the add-to-cart button. Works on any Shopify plan and any Online Store 2.0 theme. Every file saves to your own Shopify Files.

Product page

Let customers upload a file on the product page

Upload Native adds a file upload field to any Shopify product page through the theme app block. A customer picks their proof, photo, logo, or document right next to the add-to-cart button using a clean drag-and-drop card they can also click to browse. It works on any Shopify plan and any Online Store 2.0 theme, with no code: you place the block from the theme editor and it inherits your store’s fonts and colors. Each file saves to your own Shopify Files and its reference is carried onto the order automatically, so made-to-order and personalized products arrive with the artwork already attached.

Personalized products

Built for personalized and made-to-order products

If you sell engraved, printed, or custom-made items, the product page is where customers expect to hand over their file. The block lets a buyer attach one file or several, with the file types and maximum size you choose, so you get usable artwork instead of a follow-up email thread. Validation is inline: a wrong-type or oversized file is rejected on the spot, before the item reaches the cart. The same upload rules can also run on the cart page if you would rather collect one file for the whole order.

Per-product visibility

Show the uploader only where it belongs

Not every product needs a file. Turn on "Only show for flagged products" in the block’s Visibility settings, then enable the "Show file upload" metafield under Metafields on the product page in your Shopify admin for each product that does. The block appears on flagged product pages and stays hidden everywhere else; on the cart page and at checkout it shows whenever a flagged product is in the cart. The toggle is off by default, and the block always stays visible in the theme editor so you can configure it.

Show to controls which customers see the uploader. Leave it on Everyone and nothing changes. Set it to B2B (company) customers only and the uploader appears just for logged-in company buyers — useful when artwork or spec sheets are a wholesale-only step. Set it to Retail customers only for the reverse, when personalisation is a direct-to-consumer offer and your wholesale buyers order plain stock. It combines with per-product visibility: turn on both and the uploader shows only when the product is flagged and the customer matches.

1

Flag the product

In your Shopify admin, open Products and pick a product. Scroll to the Metafields card, click View all, and set "Show file upload" to True. Repeat for every product that needs a file.

2

Turn it on in the theme block

In the theme editor, select the File upload block and tick "Only show for flagged products" under Visibility. The block stays visible inside the editor so you can keep configuring it.

3

Turn it on at checkout (Shopify Plus)

In Settings, open Checkout and click Customize. Select the Upload a file block and set "Only show for flagged products" to True.

Show file upload True or false By Upload Native True False Clear
The unpinned "Show file upload" metafield, behind View all on the product page.
Only show for flagged products True False Show the upload box only when a cart product has "Show file upload" enabled.
The block setting in the checkout editor. The theme block has the same toggle under Visibility.
Storage

Files saved to your own Shopify Files

Bytes go straight from the customer’s browser to your Shopify Files, never through a third-party server or external storage. The file reference is carried onto the finished order automatically, so your fulfillment team opens the attachment from the order like any other Shopify asset. The app never writes or edits the order itself. Nothing new to log into, and no separate storage to manage or pay for.

Shopify Plus

Need it inside checkout? Upgrade on Shopify Plus

The product-page block is the any-plan baseline. If you are on Shopify Plus, you can also capture files inside checkout itself and make the file required to complete the order. See Shopify checkout file upload for the Plus upgrade, or browse all upload surfaces.

FAQ

Questions, answered

How do customers upload a file on a product page?
Upload Native adds a drag-and-drop upload field to the product page through the theme app block. The customer drops in a file or clicks to browse, and it attaches to their order. It works on any Shopify plan and any Online Store 2.0 theme.
Does the product-page upload work on any Shopify plan?
Yes. The product-page and cart app block works on any plan and any Online Store 2.0 theme. Only the checkout upload step requires Shopify Plus.
Can customers upload more than one file per product?
Yes. You choose whether customers attach a single file or several, and set the accepted file types and a maximum size. Customers see inline errors if a file is the wrong type or too large.
Where are product-page uploads stored?
Every file is saved to your store’s own Shopify Files. Its reference is carried onto the order automatically, so the attachment is linked to the order with no manual matching.
Can I show the upload field only on certain products?
Yes. Turn on "Only show for flagged products" in the block settings, then enable the "Show file upload" metafield under Metafields on each product page in your Shopify admin. The upload field appears only for flagged products; on the cart page and at checkout it appears when any flagged product is in the cart. You can also limit the uploader by customer type — show it only to B2B company buyers, or only to retail customers.

Collect product-page uploads today

Install free, add the block to your product page, and let customers attach their file. Live in minutes.

Install the app