ScanReady feature guide

What each content type encodes, how a code is drawn, and the rules ScanReady follows when it builds, updates and checks codes.

Content types

  • Name
    URL
    Type
    free
    Description

    The link as typed. When it has no scheme, https:// is added. Spaces are not allowed; encode them as %20.

  • Name
    Text
    Type
    free
    Description

    Any text, including accents, emoji and other scripts (stored as UTF-8).

  • Name
    Wi-Fi
    Type
    free
    Description

    WIFI:T:WPA;S:name;P:password;; with WPA (covers WPA2 and WPA3), WEP or an open network, and an optional hidden flag. Backslashes, semicolons, commas, colons and quotes in the name or password are escaped for you.

  • Name
    Contact (vCard)
    Type
    free
    Description

    A vCard 3.0 with name, company, job title, phone, email, website, address and note. Needs a name or a company.

  • Name
    Email
    Type
    free
    Description

    A mailto: link with an optional subject and message, URL-encoded.

  • Name
    Phone and SMS
    Type
    free
    Description

    tel: with the number's digits and a leading plus, or SMSTO:number:message.

  • Name
    EPC payment
    Type
    Pro
    Description

    A SEPA credit transfer code (EPC version 002, UTF-8) with beneficiary name, IBAN, optional BIC, amount in euros, reference and message. The IBAN is checked before the code is built.

How a QR code is built

ScanReady picks the most compact mode for the content (numeric, alphanumeric or UTF-8 bytes), the smallest version from 1 to 40 that fits at your error correction level, and the mask with the lowest standard penalty score. The preview shows the result: version, modules across, level, mode, mask, the size of the content and the px per module.

On the canvas the code is a frame named "QR: " plus a short summary of the content, holding a vector named Modules (all data modules merged into one path) and a vector named Corner markers. The frame's fill is the background, or nothing when Transparent background is on.

Style options

  • Name
    Error correction
    Type
    L, M, Q, H
    Description

    How much of the code can be damaged and still scan: about 7, 15, 25 or 30 percent. Higher levels make the code denser.

  • Name
    Size
    Type
    32 to 4096 px
    Description

    The frame's width and height, quiet zone included.

  • Name
    Quiet zone
    Type
    0 to 20 modules
    Description

    The clear margin around the code. 4 is the standard minimum, and the plugin warns below it.

  • Name
    Modules
    Type
    square, rounded, dots
    Description

    Square merges modules into rectangles. Rounded rounds the outside corners of each run. Dots draws a circle per module.

  • Name
    Corner markers
    Type
    square, rounded
    Description

    The shape of the three large finder squares.

A note under the preview flags colors that may not scan: contrast below 4:1, a light code on a dark background, or a light foreground on a transparent background.

Logo cutout

Turn on Logo cutout and set its size with the slider (10 to 45 percent of the width). ScanReady clears a centered square of modules and adds an empty frame named Logo area at that spot, so you can drop your logo into it. Error correction switches to H while the cutout is on. When the cutout removes more than 20 percent of the modules, a warning asks you to make it smaller. Test the finished code with a phone before you print.

Edit in place

Every code stores its content and options on its frame. Select the frame or any layer inside it and the plugin's first line names it. Edit selected fills the form with the stored values; Update selected redraws the code from the form in the same place, in the same parent and at the same width. This works inside main components. Inside an instance Figma does not allow changing the shapes, so ScanReady explains that you need to update the main component or detach the instance.

Barcodes

  • Name
    Code 128
    Type
    free
    Description

    Printable ASCII. ScanReady switches between subsets B and C automatically, so runs of digits take half the space, and adds the checksum.

  • Name
    EAN-13
    Type
    free
    Description

    12 digits plus a computed check digit, or 13 digits with the check digit validated. Guard bars run longer and the digits sit in the standard groups.

  • Name
    UPC-A
    Type
    Pro
    Description

    11 digits plus a computed check digit, or 12 digits validated.

  • Name
    ITF-14
    Type
    Pro
    Description

    13 digits plus a computed check digit, or 14 digits validated, drawn with bearer bars above and below.

The bars are one merged vector named Bars, with the standard quiet zones included in the frame: 10 modules each side for Code 128 and ITF-14, 11 and 7 for EAN-13, 9 for UPC-A. Module width sets the narrowest bar in px and Bar height the bar length. The text uses Inter Regular; turn off Text under the bars to leave it out.

Batch from a list (Pro)

In the Batch tab, choose what to make, then paste one value per line or a CSV, or click Load CSV file. Commas, semicolons and tabs are detected, and quoted cells work. Tick First row is a header to map columns by name: each content field gets a column, and Label under each code can be a column, a content summary or nothing. Rows that would not encode are counted and skipped with the reason.

Create grid draws up to 1000 codes in a frame named "ScanReady batch", in the number of columns and gap you choose, each with its label underneath. The codes use the style from the QR code or Barcode tab, and every one can still be edited in place.

Write into frames (Pro)

Select frames that each contain a layer named qr, for example a placeholder in a badge or a table card. Write into selected frames replaces each qr layer with a code from the list, sized to fit inside it and centered, keeping the name qr so you can run it again. Rows match frames by position (rows top to bottom, then left to right), or by a column whose value equals the frame name. When the qr layer is already a ScanReady code it is updated in place.

Swap a URL (Pro)

Type the text to find and its replacement. Find codes counts the ScanReady codes on the current page whose content contains it. Swap in all replaces it in every field of those codes and redraws each one in place with its own style and size.

Enter the printed width in mm and the print resolution, then click Check. ScanReady reports:

  • Module size in mm, against 0.33 mm for QR codes, and the GS1 minimums for barcodes (0.25 mm Code 128, 0.264 mm EAN-13 and UPC-A, 0.495 mm ITF-14).
  • Printer dots per module, with a note when it is below 3 or not a whole number.
  • Screen pixels per module at the current size, against 4 px for QR codes and 2 px for barcodes.
  • The quiet zone in modules and mm.

What next?

Was this page helpful?