# Personalized photo prints with customer uploads

How to sell framed prints of customers’ own photos on Shopify: one product, sizes and frames as variants, a photo upload on the product page, and a preview of the photo in its frame before checkout.

October 18, 2026 · https://frameup.app/guides/personalized-photo-prints

**In short:** Sell one product for every customer’s photo: sizes and frames as variants, and the photo as a file upload on the product page. Check each photo is large enough for the size chosen. With OptionWise and Frame Up, the customer sees their photo in that frame and size before they pay.

## How a personalized print product works

A personalized print is one product that becomes a different print for every customer. You don’t create a product per photo. You create one product with the choices that affect price, and take the photo on the product page.

- **Size and frame** are Shopify variants, because each combination has its own price and often its own cost from your printer.
- **The photo** is a custom option: a file upload attached to the order line.
- **Anything else the customer writes**, such as a caption or a date, is a custom option too.

## Sizes, frames and variants

Set up sizes and frames as for any print: sizes with their units, such as “30 × 40 cm”, and frames named the way your printer names them. If a print-on-demand app creates the products for you, it usually creates these variants as well. [How Frame Up works with Shopify](/guides/how-frame-up-works-with-shopify) covers how Frame Up reads them.

## The photo upload

Shopify’s product pages have no file upload, so it comes from a product options app. [OptionWise](https://optionwise.ai) adds a file upload option to the product page. The photo is stored on Shopify’s CDN and attached to the order line, so it arrives with the order and reaches your print partner or your own workshop without anyone emailing files.

Make the upload required, say which file types you accept, and say what makes a good photo: in focus, well lit and not a screenshot.

## Resolution and shape

A photo that looks sharp on a phone can print soft at 70 × 100 cm. Aim for at least 150 pixels per inch at the print size:

| Print size  | Minimum photo size, about |
| ----------- | ------------------------- |
| 30 × 40 cm  | 1,800 × 2,400 pixels      |
| 50 × 70 cm  | 2,950 × 4,150 pixels      |
| 70 × 100 cm | 4,150 × 5,900 pixels      |

Most phone cameras clear the first two. Say so on the product page, and check large orders before they print.

Photos also come in every shape. A 4:3 phone photo in a 50 × 70 cm frame has to be cropped, or the frame has to change to fit the photo. Choose one, and make sure the customer sees the result before paying.

## Showing the customer’s photo framed

The question every customer has is what their photo will look like in that frame, at that size. [Frame Up](/) answers it on the product page: with OptionWise installed, the uploaded photo appears in the chosen frame and size, in a room or close up, and updates as the customer changes their choices. It uses the frames, materials and rooms you’ve already set up. Try it with a photo of your own:

_The live example is on the page: https://frameup.app/guides/personalized-photo-prints_

## Starter setup

| Option  | Where it lives                                                   | Values                              |
| ------- | ---------------------------------------------------------------- | ----------------------------------- |
| Size    | Variant option 1                                                 | 30 × 40 cm, 50 × 70 cm, 70 × 100 cm |
| Frame   | Variant option 2                                                 | Unframed, Black frame, Oak frame    |
| Photo   | Custom option, file upload ([OptionWise](https://optionwise.ai)) | Required, JPG or PNG                |
| Caption | Custom option, text                                              | Optional, up to 60 characters       |

## Common mistakes

- **Collecting photos by email after checkout.** Orders wait on replies, and files get matched to the wrong order.
- **A product per customer.** It clutters the catalog and can’t be reused.
- **No resolution guidance.** Customers upload thumbnails and receive soft prints.
- **No preview.** The customer finds out how the crop and frame look when the print arrives.

## Questions

**How do I let customers upload a photo on Shopify?**
Shopify’s product pages don’t include a file upload, so it comes from a product options app. OptionWise adds a file upload option to the product page, and the photo is attached to the order line.

**What resolution does a photo need for a print?**
Aim for at least 150 pixels per inch at the print size: about 1,800 × 2,400 pixels for 30 × 40 cm and 2,950 × 4,150 for 50 × 70 cm. Most phone photos clear that for small and medium sizes.

**Can customers see their photo framed before they buy?**
Yes. With Frame Up and OptionWise, the uploaded photo appears in the frame and size the customer chooses, in a room or close up, on the product page.

**What happens when a photo is a different shape from the print?**
Either crop it to the print’s shape or change the frame to fit the photo. Whichever you choose, show it in the preview so the customer sees what will be printed.

## Need a hand?

Connecting OptionWise uploads to Frame Up? Email us and we’ll help you get customers’ photos showing in your frames. contact@frameup.app
