Create a custom phone case builder (+ live preview) in WooCommerce

Illustration of a custom phone case product in WooCommerce

Selling custom phone cases with WooCommerce is a smart move — there’s a strong demand and solid profit potential. But one feature is essential: customers should be able to personalize their case — and “live preview” the result — by uploading images, resizing, rotating, and positioning them exactly how they want on the phone case.

WooCommerce doesn’t support file upload and live previews out of the box, so we’ll use the Advanced Product Fields for WooCommerce (APF) plugin to make it happen.

In this tutorial, we’ll show you how to create a custom phone case builder in WooCommerce, and allow customers to personalize their phone case by uploading & positioning imagery.

What we’re building

We’ll create a WooCommerce product that allows customers to select their phone model and upload an image to be printed on the custom phone case. Customers will be able to preview their image on the case and interact with it: they can reposition, resize, or rotate it. Here’s a demo video of the product we’ll build:

A custom phone case builder in WooCommerce

Let’s dive in, there’s a lot to cover!

How to create a custom phone case builder (+ live preview) with WooCommerce

Before you get started, make sure your store has the following:

Step 1: Add phone model and file upload options to your product

We want to offer the customer a way to select their phone model and allow them to upload an image to print on the custom phone case. First, we need to add those options (form fields) to the product page. This is what the end result will look like:

WooCommerce product page with options to select a phone model and upload an image

If you have APF up & running, edit your WooCommerce product and find the Custom fields section under Product Data.

Adding a custom field to a single product

In this section, you can add all the options that belong to your product.

Phone model option

Click Add Your First Field to get started. You’ll see several new settings pop up. Make the following changes:

Settings in the WooCommerce backend for the "Choose your phone model" option.
  • Set the Type to Select List. This will display a dropdown field with options on the product page.
  • As Label, we chose “1. Choose your phone model”. It will appear above the dropdown list, so it should be short and descriptive.
  • Mark the field as Required, so the customer is obligated to select a phone model.
  • In the Options section, you can add the entries for the dropdown list. You can add as many as you like! Click Add Option to get started.

Image upload option

Next step is to offer the customer a way to upload an image they can put on the custom phone case. In the same product admin section as before, click Add A Field to add another option. Use these settings:

Settings in the WooCommerce backend for the "Upload your photo" option of the custom phone case product.
  • Set the Type to File Upload. This creates a file upload option on the product page.
  • As Label, we chose “2. Upload your photo”. It will appear above the upload field.
  • We’ve added some extra Instructions to inform customers about the allowed file types and maximum file size.
  • Mark the field as Required, because we need the user to upload an image.
  • Do not enable Allow Multiple as we only need 1 image.
  • Set the Accepted File Types to JPG and PNG, as those are standard formats for working with print.
  • Define the maximum file size (in megabytes). We chose 5MB, as the image will be used for print so it shouldn’t be too small.

Don’t forget to update the product to save your work!

Bonus: Conditional logic

We want to give the customer the best user experience (UX) possible, so we want to hide the upload field and only show it when the user has selected a phone model. To do this, we can add conditional logic to the second field. Head over to the file upload field’s Advanced tab and define the conditional logic:

Add conditional logic to an APF field

This approach makes sure the image upload field is displayed only after customers choose their phone model, which helps you to keep the page clean and organized.

Step 2: Prepare your base images

When customers select their phone model, we want to replace the main product image with a blank model-specific image. This blank image acts as a canvas for displaying the uploaded picture.

This means you’ll have to create a basic PNG image of each phone case you offer. The area that should show the custom case needs to be transparent, so the Live Content Preview plugin can insert the customer’s image. This step takes a bit of preparation, but the end result is well worth it!

For our demo, we found some images of phone models online and used Photopea (free image editor) to create uniform 1000×1000 pixel images, positioning the phone at the center and adding white margins around it:

Bae phone case image in photoshop
Example of a transparent PNG of an iPhone 16 Pro.

You’re free to use the images we created for demo purposes: iPhone 16 Pro (Max), iPhone 16, iPhone 15 Pro (Max), iPhone 15, iPhone SE, Samsung Galaxy 25, Samsung Galaxy 24, Google Pixel 9 Pro, Google Pixel 9.

Step 3: Swap out the main image

Now that you have the base images, we need to display them on the product page when the customer selects their phone model.

Head back to the Custom fields section on the product admin screen, scroll down until you find the Change product image setting and turn it on. Click Add New to add a new image:

Turn on the "Change Product Image" setting in the APF backend.

Now, you can change the main product image to a new one for each phone selection:

"Change Product Image" rules in APF

Once you save your product, check the product page for the result:

Demo of changing the main gallery image based on product selection in WooCommerce

Step 4: Configure the live preview

In the last step, we’ll offer the customer a way to position, rotate, and resize their uploaded image and preview the final result.

Head back to the Custom fields section on the product admin screen, and scroll all the way down until you find the Live Content Preview section. This is where we’ll define all the live preview functionality.

Click Add New to get started.

Add new live preview configuration in the WooCommerce backend

Next, you can define everything in 3 easy steps.

In step 1, you need to select the image to add the live preview to. Select the first image in the list as that’s the main product image:

Live Preview configuration: select the image to display content on

In the next step, you can select which content to display. We want to display the customer’s uploaded image, so select the file upload field you created earlier in this tutorial:

Live content preview configuration: step 2 - seect the field which content should be displayed.

The next (and final) step consists of 2 parts: on the left, you can define the area where the live preview should appear. On the right, you can further define how the live preview should behave.

First, make sure to select one of the phone case images in the “Display Image Variation” dropdown, then draw where the image should appear. You can use the bottom position settings to further define the area if drawing itself is not accurate enough. See this demo:

Live Content configuration step 3 - draw the area where the content should appear

On the right side, you can define how the live preview should behave. Use these settings:

Detailed settings on how to live preview an uploaded image
  • Set Interaction to Allow moving & transforming, which allows the customer to change the position and size of their image freely.
  • You can enable or disable certain image transformations. For our demo, we allow everything.
  • Set Resize Mode to Maintain aspect ratio resize mode. This lets users resize images while keeping the original proportions intact, so the width and height adjust together without distorting the image.
  • Set Position to Behind the image as the uploaded image should appear behind our base image.

Update the product when you finish to save your work. When you visit the product page, customers can upload, manipulate, and preview their custom phone case.

Creating custom phone cases with WooCommerce the easy way

And that’s it — you’ve now built a fully interactive custom phone case product in WooCommerce! With the Advanced Product Fields plugin and its Live Content Preview add-on, you can give your customers exactly what they want: the freedom to design, preview, and personalize their custom phone case in real time. It’s a powerful way to boost engagement, reduce order errors, and increase conversions — all without writing a single line of code.

Ready to launch your custom case store with WooCommerce? You’ve got everything you need in this post!