Code Studio
Learn how to generate unique product identifiers, design custom QR labels, and export data or print physical tags using the Code Studio dashboard.
Code Studio — User Guide
Welcome to Code Studio! This guide will walk you through everything you need to know to create unique codes for your products, design beautiful labels, and get them printed — all from one place.
What is Code Studio?
Code Studio helps you generate unique identifiers for your products and turn them into scannable QR codes, printed labels, or data files. Whether you're labelling wine bottles, tagging equipment, or preparing a product launch, Code Studio makes it simple.
Every code you create links back to a digital experience — a page where your customers can learn about your product, register a warranty, enter a competition, or verify authenticity. Think of it as giving every physical item its own digital identity.
Getting Started
Code Studio is designed to be friendly from the very first click. What you see depends on where you've come from:
If you opened a specific product
You'll land on the Quick QR screen — a simple, single-page view that shows you:
- Your product's QR code, generated instantly
- Big buttons to Download PNG, Download SVG, or Print a Sheet of labels
- A small QR Settings strip showing the code type (Portal Link, GS1, etc.) — click "Change settings" to tweak it, then Save for whole collection so every other product uses the same setup
- A "Want more?" row with shortcuts to print a batch, export a CSV, design a custom label, or read this guide
That's it. For most small businesses — a jam maker, a candle studio, a small vineyard — this single screen is everything you need.
If you opened the collection (no specific product)
You'll see a warm welcome screen with four big cards:
- 🏷️ Print labels for a batch
- 📊 Export codes as a CSV
- 🎨 Design a label
- ⚙️ QR style & settings
Pick whichever matches your task — each card opens the right tool with everything pre-configured.
Want the full power tools?
Click "Open Full Studio" at the top of any screen. This unlocks the advanced multi-tab interface with everything Code Studio can do:
| Tab | What it does |
|---|---|
| Setup | Configure what kind of codes you want to generate and where they point |
| Print Labels | Choose a label template, preview it, and print physical labels |
| Data Export | Generate codes as downloadable files (CSV, JSON, or plain URLs) |
| Label Designer | Create your own custom label designs from scratch or from a template |
| QR Styles | Customise the look of your QR codes with colours, logos, and shapes |
You don't need to use every tab — just the ones relevant to your workflow. Let's walk through each one.
💡 First time here? A short welcome wizard will pop up the very first time you visit, giving you a quick tour. You can dismiss it any time and it won't come back.
Step 1: Set Up Your Codes
Before generating anything, visit the Setup tab to tell Code Studio what kind of codes you'd like to create.
Choosing a Code Type
You have several options:
- Portal Link — The most common choice. Each code links to your product's digital experience page, where customers can interact with your brand.
- Serial Number — Just the unique identifier itself, without a URL. Useful if you're integrating with another system that builds its own links.
- GS1 Digital Link — An industry-standard format used in retail and supply chain. If you're working with barcodes in supermarkets or need GS1 compliance, this is the one. Code Studio supports attaching a batch/lot, expiry date, and best-before date to each GS1 code, and respects whether each product owns its GTIN exclusively or shares it across the collection (see GS1 section below).
- Custom URL — Point codes to any web address you like, with the serial number embedded in the URL.
💡 Tip: If you're not sure which to pick, Portal Link is the best starting point. It works out of the box and gives your customers a great experience.
Setting a Base URL
The base URL is the web address your codes will point to. This is usually pre-filled for you based on your account settings. You typically don't need to change it unless you're using a custom domain.
Error Correction
This controls how resilient your QR codes are to damage or printing imperfections:
- Low (L) — Smallest QR code, but less tolerant of smudges or scratches
- Medium (M) — A good balance for most uses (recommended)
- Quartile (Q) — More resilient, slightly larger code
- High (H) — Maximum resilience, largest code — great for industrial or outdoor use
Step 2: Print Labels
The Print Labels tab is where you go from digital codes to physical labels you can stick on your products.
How It Works
- Pick a template — Choose from our built-in designs or one of your own custom templates
- Preview — See exactly what your label will look like with a sample code
- Configure — Set how many labels you need and choose your paper/label format
- Generate & Print — Create the PDF and send it to your printer
Built-in Templates
We've included several ready-to-use templates for common scenarios:
- Product Label — A clean, professional label with QR code and product name
- Shipping Label — Includes space for addresses and tracking information
- Freezer Label — Designed for cold-storage environments with bold, readable text
- Wine Label — Elegant design suited for bottles and premium products
- Asset Tag — Compact label for equipment and inventory tracking
- Event Ticket — Fun design with event details and a scannable code
- Warranty Card — Includes warranty information alongside the QR code
Customising a Template
See a template you almost like? Click "Customise Template" to open it in the Label Designer, where you can tweak colours, add your logo, change text, and more. Your customised version is saved separately, so you won't overwrite the original.
Print Formats
Code Studio supports several ways to get your labels onto paper:
- Sheet Labels (Avery) — Standard label sheets you can buy at any office supply store. We support popular formats like Avery 5160, 5260, and more. Just load the sheet into your printer and go.
- Continuous Roll — For thermal label printers that use a continuous roll of label stock. Great for high-volume printing.
- Zebra (ZPL) — Direct commands for Zebra industrial printers. If you have a Zebra printer, this gives you the fastest, highest-quality output.
💡 Tip: For small batches (under 100 labels), sheet labels are the easiest option. For larger runs, consider a thermal or Zebra printer for speed and cost savings.
Step 3: Export Your Data
Sometimes you don't need printed labels — you need the raw data. The Data Export tab lets you generate codes and download them as files.
When to Use Data Export
- Sending codes to a print shop — They'll handle the label design and printing
- Importing into another system — Your inventory, ERP, or logistics software
- Sharing with a partner — Give them a file of codes to use in their own process
- Backup and record-keeping — Keep a copy of all generated codes
Export Formats
- CSV — A spreadsheet-compatible file. Opens in Excel, Google Sheets, or any data tool. Each row is one code with columns you choose.
- JSON — Structured data for developers or technical integrations. Perfect for feeding into APIs or automation tools.
- URL List — A simple text file with one URL per line. Quick and easy for basic needs.
Choosing Columns (CSV & JSON)
You can pick exactly which fields to include:
- Serial Code — The unique identifier
- URL — The full web address the code points to
- Serial Index — The sequence number (1, 2, 3...)
- Product ID — Which product the code belongs to
- Variant ID — The specific product variant (size, colour, etc.)
- Batch ID — The production batch
- GTIN — The Global Trade Item Number (for GS1 users)
- Date — When the code was generated
💡 Tip: For most use cases, just Serial Code and URL are enough. Add more columns if your downstream system needs them.
Designing Your Own Labels
The Label Designer is a visual editor where you can create completely custom label layouts. Think of it as a simple design tool built specifically for labels.
Starting a Design
You can start in two ways:
- From scratch — Open the Label Designer and add elements one by one
- From a template — Pick a built-in template in the Print Labels tab, then click "Customise Template" to use it as a starting point
What You Can Add
- Text — Product names, descriptions, dates, or any custom text. Supports Liquid templates so text can automatically fill in with product data (more on this below).
- QR Code — A scannable code that links to your product's digital experience
- Barcode — Traditional linear barcodes for retail or warehouse use
- Images — Your logo, product photos, certification marks, or decorative elements
- Shapes — Rectangles, circles, and lines for layout and visual design
Background Images
Want a full-bleed background? Add an image element and use the "Set as Background" option. This places it behind all other elements and stretches it to fill the label. For circular or die-cut labels, you can enable bleed to extend the background slightly beyond the label edge, ensuring clean printing with no white borders.
Layer Order
When elements overlap, you control which one appears on top:
- Bring to Front — Moves an element above everything else
- Send to Back — Moves an element behind everything else
This is especially useful when placing text or QR codes over a background image.
Dynamic Text with Liquid
Liquid is a simple template language that lets your labels automatically include product-specific data. Instead of typing "Batch 42", you can use a template like Batch {{batch}}, and Code Studio will fill in the real batch number for each label.
Common Liquid variables:
| Variable | What it shows |
|---|---|
{{serial}} | The unique serial code |
{{productName}} | The product's name |
{{collectionName}} | The brand or collection name |
{{batch}} | The batch identifier |
{{variant}} | The variant (size, colour, etc.) |
{{date}} | Today's date |
{{index}} | The label number in the sequence |
{{url}} | The full URL the QR code points to |
💡 Tip: You can see a live preview of your Liquid text as you type. If a variable doesn't have data yet, it'll show as empty — don't worry, it'll fill in when you generate real codes.
Saving Templates
Click Save to store your design as a reusable template. Give it a clear name so you can find it later. Your saved templates appear in both the Label Designer and the Print Labels template picker.
Customising QR Code Appearance
The QR Styles tab lets you make your QR codes look great — not just functional.
What You Can Customise
- Colours — Change the dark and light colours of the QR pattern. Use your brand colours for a cohesive look.
- Corner Style — Choose between sharp squares, rounded corners, or dots for the QR pattern modules.
- Logo — Add your brand logo to the centre of the QR code. The code automatically adjusts its error correction to remain scannable.
- Frame — Add a border or call-to-action frame around the QR code (e.g., "Scan Me").
⚠️ Important: Always test your styled QR codes with a real phone scanner before printing. Heavy customisation (dark colours on dark backgrounds, very large logos) can make codes harder to scan.
Working with GS1 Digital Links
If you've chosen GS1 Digital Link in Setup, a few extra options become available.
GTIN ownership: own vs shared
Every GS1 code carries a GTIN — the global product number. Code Studio needs to know whether each product owns its GTIN outright, or shares it with others in your collection:
- Owns the GTIN (
ownGtin = true) — the URL is the clean root form, e.g.https://your-resolver/01/05012345678900/21/SN-0001. Use this when the GTIN uniquely identifies one product. - Shared GTIN (
ownGtin = falseor blank) — Code Studio prefixes the URL with your collection's short ID, e.g.https://your-resolver/gc/acme/01/05012345678900/21/SN-0001, so the resolver can tell which product was scanned. This is the safe default for collections where multiple products might share a GTIN.
You set this per product. Bulk importers can supply an ownGtin column in their product CSV.
Picking a batch
When you generate a GS1 code in Quick QR or Bulk Generate, you can click "Pick batch" to:
- Choose an existing batch from the collection (Code Studio looks them up for you), or
- Enter a custom batch/lot by hand
The batch you pick gets embedded in the URL as GS1 AI 10. If the batch carries an expiry date (AI 17) or best-before date (AI 15), those are appended too.
Resolver choice
By default, GS1 codes resolve through your portal's domain. If you need codes that work through the official GS1 resolver, toggle "Use official id.gs1.org resolver" in Setup.
Trademark and GTIN display
GS1 has specific guidance about showing the GS1® trademark and a human-readable GTIN alongside the QR code. Toggle these in Setup:
- Show GS1® trademark — adds the trademark above the QR code
- Show GTIN text — adds the readable GTIN beneath the QR code
Common Use Cases
🍷 Wine & Spirits
Goal: Add a scannable code to each bottle that links to tasting notes, food pairings, and the winemaker's story.
- Go to Setup → select Portal Link
- Open Print Labels → choose the Wine Label template
- Customise with your vineyard's logo and colours
- Set quantity to match your production run
- Generate and print on waterproof label stock
📦 Inventory & Asset Tracking
Goal: Tag every piece of equipment with a unique code for easy lookup and maintenance tracking.
- Go to Setup → select Portal Link or Serial Number
- Open Print Labels → choose the Asset Tag template
- For high-volume tagging, use Zebra (ZPL) format for industrial printers
- Alternatively, use Data Export → CSV to import codes into your asset management system
🎫 Events & Tickets
Goal: Create unique, scannable tickets for an event.
- Go to Setup → select Portal Link
- Open Print Labels → choose the Event Ticket template
- Customise with event name, date, and branding
- Print on card stock or use a thermal printer for wristbands
🏭 Manufacturing & Supply Chain
Goal: Serialise products with GS1-compliant codes for retail distribution.
- Go to Setup → select GS1 Digital Link
- Enter your GTIN and configure the GS1 resolver
- Use Data Export → CSV to generate a file for your production line
- Or use Print Labels → Zebra (ZPL) for direct printing on the factory floor
🎁 Small Business & Handmade Goods
Goal: Add a personal touch to handmade products with scannable codes linking to your brand story.
- Go to Setup → select Portal Link or Custom URL
- Open Label Designer → create a design that matches your brand aesthetic
- Print on sheet labels (Avery format) using a regular home or office printer
- Stick them on your products, packaging, or thank-you cards
Tips & Best Practices
Printing Quality
- Use a laser printer for the sharpest QR codes on sheet labels
- Test scan first — always print one label and scan it with your phone before doing a full run
- Mind the size — QR codes should be at least 2cm × 2cm (about 0.8 inches) for reliable scanning
- High contrast — Dark codes on light backgrounds scan best. Avoid light grey on white.
Organisation
- Name your templates clearly — "Spring 2026 Rosé - Back Label" is better than "Template 3"
- Use batches — Generate codes in logical batches that match your production runs
- Keep records — Export a CSV backup whenever you generate a new batch of codes
Troubleshooting
| Problem | What to try |
|---|---|
| QR code won't scan | Increase the error correction level in Setup, or make the code larger |
| Labels are misaligned | Check you've selected the correct Avery template for your label sheets |
| Text is cut off on labels | Open the Label Designer and resize or reposition the text element |
| Codes aren't generating | Make sure you have a product selected in your current context |
| Preview looks different from print | Use the Print Preview to check layout before sending to your printer |
Glossary
| Term | What it means |
|---|---|
| Serial Number | A unique code assigned to each individual item |
| QR Code | A square barcode that smartphones can scan to open a web page |
| Portal Link | A web address that takes customers to your product's digital experience |
| GS1 Digital Link | An industry-standard URL format used in global retail and supply chains |
| GTIN | Global Trade Item Number — the barcode number on retail products |
| Liquid Template | A way to insert dynamic data (like product names) into your label text |
| Avery | A popular brand of printable label sheets, used as a standard format |
| ZPL | Zebra Programming Language — commands for Zebra industrial label printers |
| Bleed | Extending a design slightly beyond the label edge for clean, borderless printing |
| Error Correction | How well a QR code can still be scanned if part of it is damaged or obscured |
Need Help?
If you get stuck or have questions, reach out to your SmartLinks administrator. They can help with:
- Setting up your product catalogue
- Configuring GS1 settings
- Connecting printers
- Managing user access
Code Studio is part of the SmartLinks platform. For technical documentation, visit your organisation's SmartLinks admin portal.
Future surfaces
This app does not currently ship a MobileAdminContainer. Code Studio is a desk-based admin tool — designing labels, configuring QR styles, and bulk-generating codes — with no field/operator scan-and-verify workflow. If such a workflow is added later (e.g. on-site label verification by a brand rep), follow migration step 12.