# File Upload

### **1. How Does the File Upload Display?**

The File Upload option allows customers to upload their own files directly on the product page. This is ideal for personalized or customized products such as prints, t-shirts, business cards, or signage.

Example: A customer can upload a photo or logo for printing on a custom shirt

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdUj9i63Ow9RHbX_CM0LY1OCt0whv0IBPWCT3eFf7W386NMxSO295LOM2aLVlTfZPXjtkrkyYqqgq6w5En_Xo24h5zkZrl6AiwnKxTfmASilPzofZmyM81LsRj80cyG1SXosHl7gQ?key=DC83dM0yOWsDjpoRFQoUWeuE" alt=""><figcaption></figcaption></figure>

### **2. How to Create a File Upload?**

**Step 1: Add a New Option**

* Click Add Option > File Upload to create a new file upload field.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXep834f4zUxqEysn6E8uJqV4C-vbmBEvbypJsOxoDMpmQcNrm24E9__qkP8-jOrjG3DJDp-Y6-QiRD8bIA_FNlBP3Mwkoz5Jbi0EA1fI9-efv41wF08Do_sVDkTZQpOcDqW73uowA?key=DC83dM0yOWsDjpoRFQoUWeuE" alt=""><figcaption></figcaption></figure>

**Step 2: Add Information to the File Upload**

* Option name: Enter the label for the field (e.g., "Upload Your Photo" or "Upload Logo File").

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf3s7EhgcteQHqrJc_xbtN4N-AVNsrXwAPk7Q3B4ynR1zHOjFf8NE9aSmtSS6WIX4B6gsF7D9uXE3RNZMGawoujtuPEWqfcK0mF53nLppxSqu5kpIf1QGWV6qCU1b86mWtx89Pc?key=DC83dM0yOWsDjpoRFQoUWeuE" alt=""><figcaption></figcaption></figure>

***You can tick:***

* ✅ “This option is required” if customers must select before adding to cart

How it looks on the storefront:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc3CkiPw3FE7ro6hopLXvjq7F2K89qRxQaa4wmf89SAvxPiaky_xBHy0o6YSr5ecQi0vlHn0QMYWSLolN9AmuCNMiLiX3npC-__FuXKdMF1eiqkD787eJUyRsJSyahmFdnKJ9IUww?key=DC83dM0yOWsDjpoRFQoUWeuE" alt=""><figcaption></figcaption></figure>

* ✅ “Hide option name” if you want to hide the option title above buttons

How it looks on the storefront:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdV6FhQMR0l9QeIzW38bBzt7O-umikKGx4aOxyxI5ATrLhXTsqZsG2uGGWx-EB0Cteqq58kifgJd_LhNIuSpm17Fgq1iJJ9_eX9DXNdzpJ50_tUZgXsKoLRuV9AAJ6DhSX9O3se?key=DC83dM0yOWsDjpoRFQoUWeuE" alt=""><figcaption></figcaption></figure>

Other features:

* Price Add-On > Create Fee – [What is it & How to Use](https://www.youtube.com/watch?v=5Bq4t0IrVEU)
* Price Upsell product > Assign to Variant – [What is it & How to Use](/product-options/advanced-setup/how-to-use-upsell-product-link-stock-and-price-of-shopify-variant-to-option-value.md)
* SKU – [What is it & How to Use](https://www.shopify.com/ca/retail/what-is-a-sku-number)
* Quantity – [What is it & How to Use](/product-options/advanced-setup/how-to-use-the-quantity-feature-for-options.md)

**Step 3: Advanced Settings (If Needed)**

* File type & size limits: Set restrictions for file types (e.g., JPG, PNG, PDF) and maximum file size allowed.
* Help text: Add notes such as “High-resolution files only” or “Maximum file size: 5MB” using tooltips or content placement.
* Conditional Logic: Show this field only when a specific option is selected. Useful for optional customization.

### **3. Real-World Applications of File Upload**

* Custom Products: Upload artwork for personalized t-shirts, mugs, phone cases.
* Print Services: Customers upload business cards, resumes, banners, etc.
* Design Orders: Add personal images or brand logos for marketing materials.

### **4. Key Features of File Upload**

* Accepts image files (JPG, PNG), documents (PDF, DOCX), and more.
* Set size and file type restrictions.
* Supports required fields and conditional logic.
* Ensures you collect the correct file from the customer before they check out.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.optis.me/product-options/18-option-types/others/file-upload.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
