Code Studio

    codeStudio

    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:

    TabWhat it does
    SetupConfigure what kind of codes you want to generate and where they point
    Print LabelsChoose a label template, preview it, and print physical labels
    Data ExportGenerate codes as downloadable files (CSV, JSON, or plain URLs)
    Label DesignerCreate your own custom label designs from scratch or from a template
    QR StylesCustomise 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

    1. Pick a template — Choose from our built-in designs or one of your own custom templates
    2. Preview — See exactly what your label will look like with a sample code
    3. Configure — Set how many labels you need and choose your paper/label format
    4. 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:

    1. From scratch — Open the Label Designer and add elements one by one
    2. 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:

    VariableWhat 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 = false or 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.

    1. Go to Setup → select Portal Link
    2. Open Print Labels → choose the Wine Label template
    3. Customise with your vineyard's logo and colours
    4. Set quantity to match your production run
    5. 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.

    1. Go to Setup → select Portal Link or Serial Number
    2. Open Print Labels → choose the Asset Tag template
    3. For high-volume tagging, use Zebra (ZPL) format for industrial printers
    4. Alternatively, use Data Export → CSV to import codes into your asset management system

    🎫 Events & Tickets

    Goal: Create unique, scannable tickets for an event.

    1. Go to Setup → select Portal Link
    2. Open Print Labels → choose the Event Ticket template
    3. Customise with event name, date, and branding
    4. Print on card stock or use a thermal printer for wristbands

    🏭 Manufacturing & Supply Chain

    Goal: Serialise products with GS1-compliant codes for retail distribution.

    1. Go to Setup → select GS1 Digital Link
    2. Enter your GTIN and configure the GS1 resolver
    3. Use Data Export → CSV to generate a file for your production line
    4. Or use Print LabelsZebra (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.

    1. Go to Setup → select Portal Link or Custom URL
    2. Open Label Designer → create a design that matches your brand aesthetic
    3. Print on sheet labels (Avery format) using a regular home or office printer
    4. 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

    ProblemWhat to try
    QR code won't scanIncrease the error correction level in Setup, or make the code larger
    Labels are misalignedCheck you've selected the correct Avery template for your label sheets
    Text is cut off on labelsOpen the Label Designer and resize or reposition the text element
    Codes aren't generatingMake sure you have a product selected in your current context
    Preview looks different from printUse the Print Preview to check layout before sending to your printer

    Glossary

    TermWhat it means
    Serial NumberA unique code assigned to each individual item
    QR CodeA square barcode that smartphones can scan to open a web page
    Portal LinkA web address that takes customers to your product's digital experience
    GS1 Digital LinkAn industry-standard URL format used in global retail and supply chains
    GTINGlobal Trade Item Number — the barcode number on retail products
    Liquid TemplateA way to insert dynamic data (like product names) into your label text
    AveryA popular brand of printable label sheets, used as a standard format
    ZPLZebra Programming Language — commands for Zebra industrial label printers
    BleedExtending a design slightly beyond the label edge for clean, borderless printing
    Error CorrectionHow 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.