How to add a custom text field to a Shopify product
Personalized products need a place for shoppers to type: a name for a necklace, initials for a bag, a message for a card. Shopify saves this kind of input on the order as a line item property. You can add the field with theme code or with an app.
Option 1: Add a line item property in your theme code
In your theme's product form (often in main-product.liquid or a product form snippet), add an input inside the <form> that submits to /cart/add:
<label for="custom-name">Name to print</label>
<input id="custom-name" type="text" name="properties[Name to print]" maxlength="20">
Whatever the shopper types appears on the order under "Name to print". This is free, but:
- it shows on every product that uses the template, unless you add conditions in Liquid,
- making it required needs extra JavaScript, and the browser check can be bypassed,
- it can't charge for personalization, and
- switching or updating your theme can remove it.
Option 2: A no-code text field with an options app
With LemonPick you add the text field per product, without editing theme code:
- Install LemonPick from the Shopify App Store. Setup runs on its own: it turns on cart pricing and creates a hidden "Custom options" product that carries add-on fees.
- On the LemonPick Home page, click Edit options next to a product.
- Click Text field and enter the label shoppers see, for example "Name to print".
- Set Max characters (1 to 1000) and tick Required if the product can't be made without it. Required fields are also checked at checkout, not only in the browser.
- Optional: set Price when filled in to charge for personalization (Starter plan or higher), or use Show only if to show the field only after another choice.
- Click Save. Each save is kept in version history.
- If you haven't already, click Open theme editor on the Home page. The "Product options" block is added to your product template; drag it above the Add to cart button and click Save.
- Open Checkout Guard and click Run now. It builds a test cart with your add-ons selected and checks that the totals match.
The text is saved on the order line under your label, so it appears on the order in your Shopify admin.
Tips for text fields
- Use the label to tell shoppers exactly what to enter and how long it can be.
- Mention in your product description whether you reproduce text exactly as typed, including capitals and emoji.
- If shoppers need to send a logo or photo, use a File upload option instead (Starter and up: one image per option, up to 10 MB).
More guides: How to add an engraving option to a Shopify product · How to add a gift wrap option in Shopify · How to charge extra for product options in Shopify · Conditional product options in Shopify · Shopify 100 variant limit workarounds (updated for 2026)
Install LemonPick from the Shopify App Store
Free plan available. Paid plans include a 14-day free trial.