Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.
Barcodes provide a simple and inexpensive method of encoding text information that is easily read by inexpensive electronic readers. Barcoding also allows data to be collected rapidly and with extreme accuracy. A barcode consists of a series of parallel, adjacent bars and spaces. Predefined bar and space patterns or “symbologies” are used to encode small strings of character data into a printed symbol. Barcodes can be thought of as a printed type of the Morse code with narrow bars (and spaces) representing dots, and wide bars representing dashes. A barcode reader decodes a barcode by scanning a light source across the barcode and measuring the intensity of light reflected back by the white spaces. The pattern of reflected light is detected with a photodiode, which produces an electronic signal that exactly matches the printed barcode pattern. This signal is then decoded back to the original data by inexpensive electronic circuits. Due to the design of most barcode symbologies, it does not make any difference if you scan a barcode from right to left or from left to right.The basic structure of a barcode consists of a leading and trailing quiet zone, a start pattern, one or more data characters, optionally one or two check characters, and a stop pattern.There are a variety of different types of barcode encoding schemes or “symbologies”, each of which was originally developed to fulfill a specific need in a specific industry. Several of these symbologies have matured into de-facto standards that are used universally today throughout most industries. The symbologies supported by B-Coder Pro, the TAL Barcode ActiveX control, and the TAL Barcode DLLs are those most commonly used across all industries.The different symbologies have different capabilities for encoding data. For example, the UPC symbology used to identify retail products always contains 12 numeric digits, whereas the general purpose Code 39 or Code 128 barcode symbologies can encode variable length alphanumeric data up to about 30 characters in length. These types of barcodes are called “linear symbologies” because they are made up of a series of lines of different widths. Most commercially available barcode scanners are able to read all of the different linear barcode symbologies, so you do not need different readers for different types of barcodes.New “2-Dimensional” barcode symbologies like PDF417, Aztec Code and Data Matrix are also now available that can encode several thousand bytes of data in a single barcode symbol including text or binary data. The newer 2D barcode symbologies typically require special barcode readers that are designed specifically for reading them.The primary purpose of a barcode is to identify something by labeling the item with a barcode containing a unique number or character string. Barcodes are typically used with a database application where the data encoded in the barcodes is used as an index to a record in the database that contains more detailed information about the item that is being scanned. For example, when a checkout clerk scans a barcode on a product in a grocery store, the barcode data is fed to a computer that looks up the information in a central database and returns more detailed information about the item that was scanned including possibly a description of the item and a price. By using barcodes, the grocery store does not need to put a price tag on each item in the store and they can also change the price for a particular item by modifying a single entry in the central database. They can also track how much of a product is currently in stock so that they know when to re-order more of each item as the number of items in stock falls.Barcodes also provide a quick and error-free means for inputting the data into an application running on a computer. By using barcodes, the potential for errors from manual data input is eliminated. Another typical application for barcodes is therefore for inputting data without having to type. For example, you could encode name or address data in a barcode on an ID badge and then scan the ID badges to input a person’s name into a computer program instead of typing the information.
The different barcode symbologies support different types and amounts of data, so you normally choose a particular symbology based on the type and amount of data that you want to encode in your barcodes.
Symbology
Data Capacity
UPC-A
12 numeric digits – 11 user specified and 1 check digit.
UPC-E
7 numeric digits – 6 user specified and 1 check digit.
EAN-8
8 numeric digits – 7 user specified and 1 check digit.
EAN-13
13 numeric digits – 12 user specified and 1 check digit.
Code 39 Code 93 Code 128 EAN-UCC 128
Variable length alphanumeric data – the practical upper limit is dependent on the scanner and is typically between 20 and 40 characters. Code 128 is more efficient at encoding data than Code 39 or Code 93. Code 128 is the best choice for most general barcode applications. Code 39 and Code 128 are both very widely used while Code 93 is rarely used.
I 2 of 5
Variable length numeric data – the practical upper limit is dependent on the scanner and is typically between 20 and 50 characters.
Data Matrix
Data can consist of any type of data including binary or alphanumeric and be up to 3116 bytes in length.
Aztec
Data can consist of any type of data including binary or alphanumeric and be up to 3750 bytes in length.
Maxicode
Maxicode can hold up to 93 alphanumeric characters or 138 numeric digits. Maxicode is used almost exclusively for United Parcel Service package identification.
PDF417
PDF417 is a little more complex and it is difficult to say exactly what its capacity is because it depends greatly on the type of data that you encode in a PDF417 symbol as well as the amount of error correction capacity that you choose to use in a PDF417 symbol. For general binary data with no error correction enabled, a single PDF417 symbol can hold up to 1108 bytes. If the data consists of all numeric digits, then a single PDF417 symbol can hold up to 2725 digits. If the data consists of alphanumeric data, you can encode a maximum of 1850 bytes. If you have a mix of alphanumeric and binary data, the capacity will be somewhere between 1108 and 1850 bytes and will depend on the content of the data. All of our barcode software products use an extremely efficient encoding algorithm that will squeeze the maximum number of bytes possible into a PDF417 symbol, but it still must work within the limits of the symbology specification.
You are generally free to use any type of barcode that you like and encode whatever data that you like for applications in a closed system.If you want to place barcodes on retail items that will be commercially distributed (UPC or EAN barcodes), you will need to apply for a company prefix from GS1 US in the USA, Tel: +1 937-435-3870. If you plan to distribute your products outside of the United States, apply to the GS1 member organization in your country, which you can find on the GS1 website.
Last modified on November 3, 2026
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"TALtech Support","colors":{"primary":"#0764B9","light":"#0764B9","dark":"#0764B9"},"logo":{"light":"https://mintcdn.com/taltech-bdc45607/x77iB9KQeUuF5CKJ/images/brand/Logo.svg?fit=max\u0026auto=format\u0026n=x77iB9KQeUuF5CKJ\u0026q=85\u0026s=281267d1812ad821819e27a3fc4627a8","dark":"https://mintcdn.com/taltech-bdc45607/x77iB9KQeUuF5CKJ/images/brand/Logo.svg?fit=max\u0026auto=format\u0026n=x77iB9KQeUuF5CKJ\u0026q=85\u0026s=281267d1812ad821819e27a3fc4627a8","href":"/"},"favicon":"https://mintcdn.com/taltech-bdc45607/gxOKhYgaQPS-dWNs/images/TALFavicon.png?fit=max\u0026auto=format\u0026n=gxOKhYgaQPS-dWNs\u0026q=85\u0026s=9775c2f387b2a123e7c3f8e6bcdc7794","background":{"color":{"light":"#fafaf9","dark":"#0c0a09"}},"navbar":{"links":[{"href":"/contact","label":"Contact"},{"href":"https://taltech.com/ordering","label":"Ordering"},{"href":"/about","label":"About"}]},"footer":{"links":[{"header":"Software support","items":[{"label":"WinWedge","href":"/winwedge"},{"label":"TCP-Com","href":"/tcp-com"},{"label":"BC-Wedge","href":"/bc-wedge"},{"label":"HID-ScaleWedge","href":"/hid-scalewedge"},{"label":"B-Coder Pro","href":"/b-coder"},{"label":"Barcode ActiveX","href":"/barcode-activex"}]},{"header":"Resources","items":[{"label":"Trial downloads","href":"https://taltech.com/support-resources/free-trial-downloads"},{"label":"Software Manuals","href":"https://taltech.com/support-resources/software-manuals-brochures"},{"label":"Supplemental files","href":"https://taltech.com/support-resources/utilities-macros-and-supplemental-files"}]},{"header":"Ordering","items":[{"label":"Ordering options","href":"https://taltech.com/ordering"},{"label":"Online store","href":"https://store.taltech.com/"},{"label":"Purchase orders","href":"https://taltech.com/ordering"},{"label":"Guarantee","href":"https://taltech.com/ordering"},{"label":"Resellers","href":"https://taltech.com/ordering"}]},{"header":"About","items":[{"label":"Contact us","href":"/contact"},{"label":"About us","href":"https://taltech.com/about"},{"label":"Ordering","href":"https://taltech.com/ordering"},{"label":"Policies","href":"https://taltech.com/policies"},{"label":"Testimonials","href":"https://taltech.com/testimonials"},{"label":"Clients","href":"https://taltech.com/industries/clients"}]}]},"search":{"prompt":"Search articles…"},"seo":{"indexing":"all"},"fonts":{"family":"Public Sans"},"icons":{"library":"lucide"},"integrations":{"ga4":{"measurementId":"G-B9095B5PL0"}},"banner":{"content":"**Questions?** Call Sales at **(800) 722-6004** or Support at **(215) 496-0222**"},"contextual":{"options":["copy","chatgpt","view","claude","mcp"],"display":"header"},"thumbnails":{"fonts":{"family":"Public Sans"}},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Support home","icon":"house","href":"/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"taltech-bdc45607","hasAudioNarration":false,"actualSubdomain":"taltech-bdc45607","customDomains":["support.taltech.com"],"gitSource":{"type":"github","owner":"taltechnologies","repo":"support-site","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea58b5cbdb6f4019025293","collectionId":"2220a919-ff2c-46e9-941f-4c9a1fac66ab","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea58b5cbdb6f4019025293"},"feedback":{"agentFeedback":true},"entitlements":{},"buildId":"6aee232d584f2a80bf024fd2","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Support articles","count":166},{"language":"default","tag":"WinWedge","count":113},{"language":"default","tag":"B-Coder Pro","count":55},{"language":"default","tag":"Advanced articles","count":54},{"language":"default","tag":"Barcode ActiveX \u0026 DLLs","count":42},{"language":"default","tag":"Troubleshooting","count":32},{"language":"default","tag":"Other DDE macros and code examples","count":20},{"language":"default","tag":"TCP-Com","count":19},{"language":"default","tag":"Excel DDE macro examples","count":18},{"language":"default","tag":"Barcode types","count":17}],"searchSettings":{"maxResults":8,"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@taltech.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"h1{text-wrap:balance}#content :is(h2,h3,h4,h5,h6){font-weight:650;opacity:0.85}#content .tooltip:has(a[href]){text-decoration:none}#content a:where([href]):not(:where(.card,[href^=\"#\"])){color:var(--support-link-color)}:root{--support-link-color: #09569a;--support-border-color: rgb(0 0 0 / 12%);--support-panel-radius: 12px;--support-raised-fill: linear-gradient(180deg, #f5f6f7 0%, #fff 100%);--support-raised-shadow: 0 0 0 1px rgb(38 49 59 / 14%),\n 0 2px 4px rgb(23 31 38 / 3%),\n 0 8px 24px rgb(23 31 38 / 5%),\n inset 0 1px 0 rgb(255 255 255 / 90%)}.dark{--support-link-color: #84bdfb;--support-border-color: rgb(255 255 255 / 18%);--support-raised-fill: linear-gradient(180deg, #1e2226 0%, #272b2f 100%);--support-raised-shadow: 0 0 0 1px rgb(255 255 255 / 14%),\n 0 2px 4px rgb(0 0 0 / 12%),\n 0 8px 24px rgb(0 0 0 / 18%),\n inset 0 1px 0 rgb(255 255 255 / 5%)}#content :is(.support-start-links a,a.chevron-link){display:inline-block;max-width:100%;border:0;background-image:none;text-decoration:none;font-weight:500}#content :is(.support-start-links a,a.chevron-link)::after{content:\"\\00a0›\";white-space:nowrap;font-size:1.125em;line-height:0;font-weight:400;opacity:0.8}#content :is(.support-start-links a,a.chevron-link):hover{opacity:0.8}#content :is(.support-start-links a,a.chevron-link):focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}.card .not-prose{font-size:1.125rem}.card .prose{margin-top:0.5rem}.article-byline{font-size:0.875em;margin-top:2.5rem}#pagination{display:none}:is(#mobile-nav,#sidebar-content) a[target=\"_blank\"]>div>div:has(>svg){flex:0 0 auto}[data-component-part=\"tooltip-content\"]{max-width:min(20rem, calc(100vw - 2rem))}[data-component-part=\"tooltip-tip\"]{color:#000;font-size:0.875rem;line-height:1.5}.dark [data-component-part=\"tooltip-tip\"]{color:#fff}#page-context-menu button[aria-haspopup=\"menu\"]>svg{width:0.875rem;height:0.875rem;color:#000}.dark #page-context-menu button[aria-haspopup=\"menu\"]>svg{color:#fff}#navbar{--nav-control-fill: rgb(0 0 0 / 3%);--nav-control-hover-fill: rgb(0 0 0 / 10%);--nav-search-outline: rgb(0 0 0 / 14%)}.dark #navbar{--nav-control-fill: rgb(255 255 255 / 3%);--nav-control-hover-fill: rgb(255 255 255 / 10%);--nav-search-outline: rgb(255 255 255 / 14%)}#navbar [data-component-part=\"products-selector-trigger\"]{color:#000;height:36px;padding:8px 14px;background-color:var(--nav-control-fill);border-radius:12px;font-weight:500}#navbar [data-component-part=\"products-selector-trigger\"] svg{color:inherit}.dark #navbar [data-component-part=\"products-selector-trigger\"]{color:#fff}#navbar [data-component-part=\"products-selector-trigger\"]:is(:hover,[aria-expanded=\"true\"]){background-color:var(--nav-control-hover-fill)!important}.accordion-group,details.accordion{border-color:var(--support-border-color)}#search-bar-entry,#search-bar-entry-mobile{min-height:38px;color:#000;background-color:var(--nav-control-fill);border:1px solid var(--nav-search-outline);border-radius:12px;font-weight:500}.article-search-trigger{display:flex;align-items:center;gap:0.75rem;width:100%;margin-bottom:1.5rem;padding:0.75rem 1rem;min-height:44px;color:#26313b;background:var(--support-raised-fill);border:0;border-radius:var(--support-panel-radius);box-shadow:var(--support-raised-shadow);font-size:1rem;font-weight:600;text-align:left;cursor:pointer;transition:box-shadow 160ms ease}.article-search-trigger:hover{box-shadow:0 0 0 1px rgb(38 49 59 / 22%),\n 0 2px 5px rgb(23 31 38 / 4%),\n 0 10px 28px rgb(23 31 38 / 7%),\n inset 0 1px 0 rgb(255 255 255 / 90%)}.article-search-trigger svg{flex-shrink:0}#search-bar-entry-mobile{min-width:38px}#search-bar-entry svg{color:inherit}#search-bar-entry-mobile svg{background-color:currentColor}#search-bar-entry:hover,#search-bar-entry-mobile:hover{background-color:var(--nav-control-hover-fill)}#search-bar-entry:focus-visible,#search-bar-entry-mobile:focus-visible,.article-search-trigger:focus-visible{outline:2px solid #0764b9;outline-offset:3px}.dark #search-bar-entry,.dark #search-bar-entry-mobile{color:#fff;filter:none}.dark .article-search-trigger{color:#f1f4f7}.dark .article-search-trigger:hover{box-shadow:0 0 0 1px rgb(255 255 255 / 22%),\n 0 2px 5px rgb(0 0 0 / 16%),\n 0 10px 28px rgb(0 0 0 / 24%),\n inset 0 1px 0 rgb(255 255 255 / 6%)}.dark #search-bar-entry:focus-visible,.dark #search-bar-entry-mobile:focus-visible,.dark .article-search-trigger:focus-visible{outline-color:#84bdfb}#content-area:has(.product-landing){position:relative}#content-area:has(.product-landing) #header{padding-top:3.5rem}#content-area:has(.product-landing) #header>.prose{margin-top:1rem;text-wrap:balance}#content-area:has(.product-landing) #page-title{max-width:30ch;font-size:clamp(2rem, 3vw, 2.5rem);line-height:1.15;letter-spacing:-0.025em}#content:has(.product-landing){position:static;margin-block-start:2.5rem;margin-block-end:0}#body-content:has(.product-landing) #footer>div{padding-block:4rem}#content .support-home-breadcrumb{position:absolute;display:flex;align-items:center;gap:0.625rem;top:0;inset-inline-start:0;font-size:0.875rem;font-weight:400;text-decoration:none;color:inherit}#content .support-home-breadcrumb a{border:0;background:none;text-decoration:none;font-weight:400;color:inherit}#content .support-home-breadcrumb a:hover{text-decoration:underline}#content .support-home-breadcrumb a::after{display:none}#content .support-home-breadcrumb [aria-hidden]{opacity:0.45}#content .support-home-breadcrumb [aria-current]{color:rgb(var(--gray-600))}.dark #content .support-home-breadcrumb [aria-current]{color:rgb(var(--gray-300))}#body-content:has(.product-landing,.support-home-landing) #sidebar-content{display:none}#body-content:has(.product-landing,.support-home-landing) #content-container{max-width:64rem;padding-inline:1.5rem}#content-area:has(.product-landing) #header::before{content:\"\";display:block;height:88px;margin-bottom:1.5rem;background:var(--support-product-artwork);filter:drop-shadow(0 1px 2px rgb(0 0 0 / 7%)) drop-shadow(0 3px 4px rgb(0 0 0 / 4%))}#content-area:has(.product-landing[data-product=\"winwedge\"]){--support-product-artwork:\n url(\"/images/product-icons/WinWedge.svg\") left bottom / 88px 88px no-repeat,\n url(\"/images/product-icons/WinWedge%20Pro.svg\") 104px bottom / 88px 88px no-repeat,\n url(\"/images/product-icons/TCP-Wedge.svg\") 208px bottom / 56px 56px no-repeat}#content-area:has(.product-landing[data-product=\"tcp-com\"]){--support-product-artwork: url(\"/images/product-icons/TCP-Com.svg\") left bottom / 88px 88px no-repeat}#content-area:has(.product-landing[data-product=\"bc-wedge\"]){--support-product-artwork: url(\"/images/product-icons/BC-Wedge.svg\") left bottom / 88px 88px no-repeat}#content-area:has(.product-landing[data-product=\"hid-scalewedge\"]){--support-product-artwork: url(\"/images/product-icons/HID-ScaleWedge.svg\") left bottom / 88px 88px no-repeat}#content-area:has(.product-landing[data-product=\"b-coder\"]){--support-product-artwork: url(\"/images/product-icons/B-Coder.svg\") left bottom / 88px 88px no-repeat}#content-area:has(.product-landing[data-product=\"barcode-activex\"]){--support-product-artwork: url(\"/images/product-icons/Barcode%20ActiveX.svg\") left bottom / 88px 88px no-repeat}.product-landing{display:none}.support-content-band{--support-band-fill: color-mix(in srgb, rgb(var(--background-light)) 98%, black);margin-top:0;padding-block:2.5rem 4rem;background:var(--support-band-fill);box-shadow:0 0 0 100vmax var(--support-band-fill);clip-path:inset(0 -100vmax)}.dark .support-content-band{--support-band-fill: color-mix(in srgb, rgb(var(--background-dark)) 98%, white)}#content .support-start-block{margin:0 0 3rem;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 15rem), 1fr));gap:2rem;width:100%;max-width:100%;padding:1.5rem;border:0;border-radius:var(--support-panel-radius);background:#fff;box-shadow:var(--support-raised-shadow)}.dark #content .support-start-block{background:rgb(var(--background-dark))}#content .support-content-band>h2{margin:0 0 1rem;font-size:1.5rem;letter-spacing:-0.02em;line-height:1.3}#content .support-content-band>.accordion-group+h3{margin:2.5rem 0 1rem;font-size:1.25rem;letter-spacing:-0.015em;line-height:1.4}#content .support-start-block h3{margin:0 0 0.75rem;font-size:1.125rem;line-height:1.4}#content .support-start-links{display:grid;grid-template-columns:minmax(0, 1fr);gap:0.375rem;line-height:1.5;max-width:40rem;margin:0;padding:0;list-style:none}#content .support-start-links>p{margin:0;padding:0}#content .support-section-description{margin:0 0 1.5rem}#content .support-content-band>.video-collection{margin:0 0 3rem}#content .support-content-band>.article-search-trigger{margin:0 0 1.5rem}#content .support-content-band>.accordion-group{margin-block:0}#content .support-content-band>.accordion-group+.support-contact-panel{margin-block-start:1.5rem}@media (max-width: 639px){.support-content-band{padding-block:2.5rem}#content:has(.product-landing){margin-block-start:2.5rem}#body-content:has(.product-landing) #footer>div{padding-block:2.5rem}#content .support-start-block,#content .support-content-band>.video-collection{margin-block-end:2.5rem}}.support-contact-panel{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);align-items:center;gap:1.25rem 2rem;margin-top:2rem;padding:1.5rem;border:1px solid var(--support-border-color);border-radius:var(--support-panel-radius);background:rgb(var(--background-light))}.dark .support-contact-panel{background:rgb(var(--background-dark))}#content .support-contact-panel h2{margin:0 0 0.25rem;font-size:1.125rem;line-height:1.4}.support-contact-availability{display:grid;gap:0.25rem;font-size:0.875rem;line-height:1.5}#content .philadelphia-time{font-variant-numeric:tabular-nums}.support-contact-availability .philadelphia-time{color:rgb(var(--gray-600))}.dark .support-contact-availability .philadelphia-time{color:rgb(var(--gray-400))}@media (max-width: 639px){.support-contact-panel{grid-template-columns:minmax(0, 1fr)}}.video-collection{--video-caption-background: #343a40;--video-border: var(--support-border-color);--video-fill: rgb(0 0 0 / 3%);--video-hover: rgb(0 0 0 / 6%);--video-selected: rgb(var(--primary) / 8%);--video-link: rgb(var(--primary));--video-muted: rgb(var(--gray-600));--video-background: rgb(var(--background-light));--video-color-scheme: light;--video-scrollbar: rgb(var(--gray-400));margin:1.25rem 0 2rem}.dark .video-collection{--video-caption-background: #1c2024;--video-fill: rgb(255 255 255 / 3%);--video-hover: rgb(255 255 255 / 7%);--video-selected: rgb(var(--primary) / 18%);--video-link: color-mix(in srgb, rgb(var(--primary)) 55%, rgb(var(--gray-100)));--video-muted: rgb(var(--gray-300));--video-background: rgb(var(--background-dark));--video-color-scheme: dark;--video-scrollbar: rgb(var(--gray-600))}.video-collection-layout{display:grid;grid-template-columns:minmax(15rem, 1fr) minmax(0, 2fr);overflow:hidden;border:1px solid var(--video-border);border-radius:var(--support-panel-radius)}.video-collection-list{display:flex;flex-direction:column;min-height:0;contain:size;background:var(--video-fill);border-right:1px solid var(--video-border)}.video-collection-scroll{min-height:0;overflow-y:auto;mask-image:linear-gradient(to bottom,\n transparent,\n black min(40px, var(--video-overflow-start, 0px)),\n black calc(100% - min(40px, var(--video-overflow-end, 0px))),\n transparent);mask-repeat:no-repeat;scrollbar-width:thin;color-scheme:var(--video-color-scheme);scrollbar-color:var(--video-scrollbar) var(--video-background)}.video-collection-scroll:has(:focus-visible){mask-image:none}.video-collection-list-header{flex-shrink:0;position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;padding:0.75rem 0.875rem;border-bottom:1px solid var(--video-border);background:var(--video-background);color:var(--video-muted);font-size:0.8125rem;font-weight:600}.video-collection-item{flex-shrink:0;display:flex;align-items:center;gap:0.75rem;width:100%;padding:0.875rem;border-bottom:1px solid var(--video-border);text-align:left;color:inherit;cursor:pointer;line-height:1.4}.video-collection-item:last-child{border-bottom:0}.video-collection-item:hover{background:var(--video-hover)}.video-collection-item[aria-pressed=\"true\"]{background:var(--video-selected)}.video-collection-item:focus-visible{position:relative;outline:2px solid var(--video-link);outline-offset:-3px;border-radius:4px}.video-collection-thumbnail{position:relative;display:grid;place-items:center;width:5rem;aspect-ratio:16 / 9;flex-shrink:0;overflow:hidden;border-radius:6px;background:#1c1917;color:#fff}.video-collection-thumbnail img{width:100%;height:100%;object-fit:cover}.video-collection-duration{position:absolute;right:3px;bottom:3px;padding:1px 4px;border-radius:3px;background:rgb(0 0 0 / 80%);color:#fff;font-size:0.75rem;line-height:1.4;font-variant-numeric:tabular-nums}.video-collection-item-title{flex:1;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:0.875rem;font-weight:500}.video-collection-selected{flex-shrink:0;color:var(--video-muted);font-size:0.625rem;visibility:hidden}.video-collection-item[aria-pressed=\"true\"] .video-collection-selected{visibility:visible}.video-collection-current{min-width:0;background:var(--video-caption-background)}.video-collection-player{display:block;width:100%;aspect-ratio:16 / 9;border:0;background:#000}.video-collection-caption{--support-link-color: #a8d2ff;padding:1rem 1.125rem;color:#f5f7fa}.video-collection-title{margin:0;font-size:1rem;font-weight:600;line-height:1.5}.video-collection-article,.video-collection-all{font-size:0.8125rem;line-height:1.5}.video-collection-article{margin-top:0.5rem}.video-collection-all{margin-top:0.875rem}@media (max-width: 767px){.video-collection-layout{grid-template-columns:minmax(0, 1fr)}.video-collection-list{contain:none;max-height:18rem;border-right:0;border-top:1px solid var(--video-border)}.video-collection-item{padding:0.75rem}.video-collection-thumbnail{width:5.5rem}.video-collection-selected{display:none}}#content a.support-product-link{color:inherit;border:0;text-decoration:none}#content a.support-product-link>span[aria-hidden]{filter:drop-shadow(0 1px 2px rgb(0 0 0 / 7%)) drop-shadow(0 3px 4px rgb(0 0 0 / 4%))}#content a.support-product-link:hover{color:var(--support-link-color)}#content a.support-product-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}#content .support-product-subtitle{margin:0.125rem 0 0;line-height:1.35;color:rgb(var(--gray-600))}.dark #content .support-product-subtitle{color:rgb(var(--gray-300))}#content:has(.support-home-landing){margin-block-end:0}#content:has(.support-home-landing)>.support-content-band{margin-block-start:2.5rem}#content:has(.support-home-landing) .support-content-band>h2{margin-block-start:3rem}#body-content:has(.support-home-landing) #footer>div{padding-block:4rem}#content:has(.support-home-landing) .support-content-band>h2:first-child{margin-block-start:0}"}],"page":{"pagePath":"barcode-activex/barcode-basics","slug":"/barcode-activex/barcode-basics","pageMetadata":{"title":"Barcode basics","description":"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.","source_url":"https://www.taltech.com/support/barcode_basics/","products":["B-Coder","Barcode ActiveX"],"keywords":["what data does a barcode contain","barcode quiet zones check digits","linear vs 2D barcode capacity","barcode database lookup","Barcode ActiveX barcode basics"],"href":"/barcode-activex/barcode-basics"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Barcodes provide a simple and inexpensive method of encoding text information that is easily read by inexpensive electronic readers. Barcoding also allows data to be collected rapidly and with extreme accuracy. A barcode consists of a series of parallel, adjacent bars and spaces. Predefined bar and space patterns or “symbologies” are used to encode small strings of character data into a printed symbol. Barcodes can be thought of as a printed type of the Morse code with narrow bars (and spaces) representing dots, and wide bars representing dashes. A barcode reader decodes a barcode by scanning a light source across the barcode and measuring the intensity of light reflected back by the white spaces. The pattern of reflected light is detected with a photodiode, which produces an electronic signal that exactly matches the printed barcode pattern. This signal is then decoded back to the original data by inexpensive electronic circuits. Due to the design of most barcode symbologies, it does not make any difference if you scan a barcode from right to left or from left to right.`}),`\n`,_jsx(_components.p,{children:`The basic structure of a barcode consists of a leading and trailing quiet zone, a start pattern, one or more data characters, optionally one or two check characters, and a stop pattern.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/taltech-bdc45607/90dE9DPyCdPJ5zuC/images/bcbasi1.GIF?s=fc5addc173e3b90c514ce799e3bfd403`,alt:``,\"data-og-width\":`300`,width:`300`,\"data-og-height\":`84`,height:`84`,\"data-path\":`images/bcbasi1.GIF`,\"data-optimize\":`true`,\"data-opv\":`3`}),`\n`,_jsx(_components.p,{children:`There are a variety of different types of barcode encoding schemes or “symbologies”, each of which was originally developed to fulfill a specific need in a specific industry. Several of these symbologies have matured into de-facto standards that are used universally today throughout most industries. The symbologies supported by B-Coder Pro, the TAL Barcode ActiveX control, and the TAL Barcode DLLs are those most commonly used across all industries.`}),`\n`,_jsx(_components.p,{children:`The different symbologies have different capabilities for encoding data. For example, the UPC symbology used to identify retail products always contains 12 numeric digits, whereas the general purpose Code 39 or Code 128 barcode symbologies can encode variable length alphanumeric data up to about 30 characters in length. These types of barcodes are called “linear symbologies” because they are made up of a series of lines of different widths. Most commercially available barcode scanners are able to read all of the different linear barcode symbologies, so you do not need different readers for different types of barcodes.`}),`\n`,_jsx(_components.p,{children:`New “2-Dimensional” barcode symbologies like PDF417, Aztec Code and Data Matrix are also now available that can encode several thousand bytes of data in a single barcode symbol including text or binary data. The newer 2D barcode symbologies typically require special barcode readers that are designed specifically for reading them.`}),`\n`,_jsx(_components.p,{children:`The primary purpose of a barcode is to identify something by labeling the item with a barcode containing a unique number or character string. Barcodes are typically used with a database application where the data encoded in the barcodes is used as an index to a record in the database that contains more detailed information about the item that is being scanned. For example, when a checkout clerk scans a barcode on a product in a grocery store, the barcode data is fed to a computer that looks up the information in a central database and returns more detailed information about the item that was scanned including possibly a description of the item and a price. By using barcodes, the grocery store does not need to put a price tag on each item in the store and they can also change the price for a particular item by modifying a single entry in the central database. They can also track how much of a product is currently in stock so that they know when to re-order more of each item as the number of items in stock falls.`}),`\n`,_jsx(_components.p,{children:`Barcodes also provide a quick and error-free means for inputting the data into an application running on a computer. By using barcodes, the potential for errors from manual data input is eliminated. Another typical application for barcodes is therefore for inputting data without having to type. For example, you could encode name or address data in a barcode on an ID badge and then scan the ID badges to input a person’s name into a computer program instead of typing the information.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-much-data-can-you-actually-encode`,children:`How much data can you actually encode?`}),`\n`,_jsx(_components.p,{children:`The different barcode symbologies support different types and amounts of data, so you normally choose a particular symbology based on the type and amount of data that you want to encode in your barcodes.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Symbology`}),_jsx(_components.th,{children:`Data Capacity`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`UPC-A`}),_jsx(_components.td,{children:`12 numeric digits – 11 user specified and 1 check digit.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`UPC-E`}),_jsx(_components.td,{children:`7 numeric digits – 6 user specified and 1 check digit.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`EAN-8`}),_jsx(_components.td,{children:`8 numeric digits – 7 user specified and 1 check digit.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`EAN-13`}),_jsx(_components.td,{children:`13 numeric digits – 12 user specified and 1 check digit.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Code 39`,_jsx(`br`,{}),` Code 93`,_jsx(`br`,{}),` Code 128`,_jsx(`br`,{}),` EAN-UCC 128`]}),_jsx(_components.td,{children:`Variable length alphanumeric data – the practical upper limit is dependent on the scanner and is typically between 20 and 40 characters. Code 128 is more efficient at encoding data than Code 39 or Code 93. Code 128 is the best choice for most general barcode applications. Code 39 and Code 128 are both very widely used while Code 93 is rarely used.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`I 2 of 5`}),_jsx(_components.td,{children:`Variable length numeric data – the practical upper limit is dependent on the scanner and is typically between 20 and 50 characters.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Data Matrix`}),_jsx(_components.td,{children:`Data can consist of any type of data including binary or alphanumeric and be up to 3116 bytes in length.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Aztec`}),_jsx(_components.td,{children:`Data can consist of any type of data including binary or alphanumeric and be up to 3750 bytes in length.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Maxicode`}),_jsx(_components.td,{children:`Maxicode can hold up to 93 alphanumeric characters or 138 numeric digits. Maxicode is used almost exclusively for United Parcel Service package identification.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`PDF417`}),_jsxs(_components.td,{children:[`PDF417 is a little more complex and it is difficult to say exactly what its capacity is because it depends greatly on the type of data that you encode in a PDF417 symbol as well as the amount of error correction capacity that you choose to use in a PDF417 symbol.`,_jsx(`br`,{}),`For general binary data with no error correction enabled, a single PDF417 symbol can hold up to 1108 bytes. If the data consists of all numeric digits, then a single PDF417 symbol can hold up to 2725 digits. If the data consists of alphanumeric data, you can encode a maximum of 1850 bytes. If you have a mix of alphanumeric and binary data, the capacity will be somewhere between 1108 and 1850 bytes and will depend on the content of the data.`,_jsx(`br`,{}),`All of our barcode software products use an extremely efficient encoding algorithm that will squeeze the maximum number of bytes possible into a PDF417 symbol, but it still must work within the limits of the symbology specification.`]})]})]})]}),`\n`,_jsx(_components.p,{children:`You are generally free to use any type of barcode that you like and encode whatever data that you like for applications in a closed system.`}),`\n`,_jsxs(_components.p,{children:[`If you want to place barcodes on retail items that will be commercially distributed (UPC or EAN barcodes), you will need to apply for a company prefix from `,_jsx(_components.a,{href:`https://www.gs1us.org/`,children:`GS1 US`}),` in the USA, Tel: +1 937-435-3870. If you plan to distribute your products outside of the United States, apply to the GS1 member organization in your country, which you can find on the `,_jsx(_components.a,{href:`https://www.gs1.org/`,children:`GS1 website`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Barcode basics","description":"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.","source_url":"https://www.taltech.com/support/barcode_basics/","products":["B-Coder","Barcode ActiveX"],"keywords":["what data does a barcode contain","barcode quiet zones check digits","linear vs 2D barcode capacity","barcode database lookup","Barcode ActiveX barcode basics"],"href":"/barcode-activex/barcode-basics"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How much data can you actually encode?","slug":"how-much-data-can-you-actually-encode","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/taltech-bdc45607/eec41a6a835842e1/search.js"],"subdomain":"taltech-bdc45607","siteName":"TALtech Support","title":"Barcode basics - TALtech Support","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T21:57:23.391Z","gitLastModified":"2026-11-03T21:57:05.000Z","originalFileLocation":"barcode-activex/barcode-basics.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.\">\u003cmeta data-mint-head name=\"application-name\" content=\"TALtech Support\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Barcode basics - TALtech Support\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TALtech Support\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://support.taltech.com/barcode-activex/barcode-basics\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://taltech-bdc45607.mintlify.site/_mintlify/api/og/v2?division=Barcode+concepts\u0026amp;title=Barcode+basics\u0026amp;description=Learn+how+barcodes+work%2C+how+a+barcode+reader+decodes+them%2C+and+how+much+data+each+barcode+type%2C+such+as+UPC%2C+Code+128%2C+Data+Matrix%2C+and+PDF417%2C+can+hold.\u0026amp;theme=f8e61b9561bcdbc21b6abc28\u0026amp;signature=08c6ffbf7feaa0fa69e17906f40cde8bee89c1a8b4bf3c25b96f426c1040e618\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Barcode basics - TALtech Support\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://taltech-bdc45607.mintlify.site/_mintlify/api/og/v2?division=Barcode+concepts\u0026amp;title=Barcode+basics\u0026amp;description=Learn+how+barcodes+work%2C+how+a+barcode+reader+decodes+them%2C+and+how+much+data+each+barcode+type%2C+such+as+UPC%2C+Code+128%2C+Data+Matrix%2C+and+PDF417%2C+can+hold.\u0026amp;theme=f8e61b9561bcdbc21b6abc28\u0026amp;signature=08c6ffbf7feaa0fa69e17906f40cde8bee89c1a8b4bf3c25b96f426c1040e618\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/taltech-bdc45607/YFqszPMCzxP0Sxv6/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TALtech Support\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0764B9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://support.taltech.com/barcode-activex/barcode-basics\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/barcode-activex/barcode-basics.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://support.taltech.com/#organization\",\"name\":\"TALtech Support\",\"url\":\"https://support.taltech.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/taltech-bdc45607/x77iB9KQeUuF5CKJ/images/brand/Logo.svg?fit=max\u0026auto=format\u0026n=x77iB9KQeUuF5CKJ\u0026q=85\u0026s=281267d1812ad821819e27a3fc4627a8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://support.taltech.com#website\",\"name\":\"TALtech Support\",\"url\":\"https://support.taltech.com\",\"publisher\":{\"@id\":\"https://support.taltech.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://support.taltech.com/barcode-activex/barcode-basics#webpage\",\"url\":\"https://support.taltech.com/barcode-activex/barcode-basics\",\"name\":\"Barcode basics\",\"description\":\"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.\",\"dateModified\":\"2026-11-03T21:57:05.000Z\",\"isPartOf\":{\"@id\":\"https://support.taltech.com#website\"},\"breadcrumb\":{\"@id\":\"https://support.taltech.com/barcode-activex/barcode-basics#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://support.taltech.com/barcode-activex/barcode-basics#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Support articles\",\"item\":\"https://support.taltech.com/barcode-activex/what-is-barcode-activex\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Barcode basics\",\"item\":\"https://support.taltech.com/barcode-activex/barcode-basics\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://support.taltech.com/barcode-activex/barcode-basics#article\",\"headline\":\"Barcode basics\",\"name\":\"Barcode basics\",\"description\":\"Learn how barcodes work, how a barcode reader decodes them, and how much data each barcode type, such as UPC, Code 128, Data Matrix, and PDF417, can hold.\",\"url\":\"https://support.taltech.com/barcode-activex/barcode-basics\",\"mainEntityOfPage\":{\"@id\":\"https://support.taltech.com/barcode-activex/barcode-basics#webpage\"},\"dateModified\":\"2026-11-03T21:57:05.000Z\",\"keywords\":\"what data does a barcode contain, barcode quiet zones check digits, linear vs 2D barcode capacity, barcode database lookup, Barcode ActiveX barcode basics\",\"publisher\":{\"@id\":\"https://support.taltech.com/#organization\"},\"isPartOf\":{\"@id\":\"https://support.taltech.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TALtech Support\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"TALtech Support","nav":{"global":{"anchors":[{"anchor":"Support home","icon":"house","href":"/"}]},"products":[{"product":"Support home","icon":"life-buoy","color":{"light":"#0F52BA","dark":"#3271D0"},"pages":[{"title":"Support home","href":""}]},{"product":"WinWedge","icon":"https://mintlify.s3.us-west-1.amazonaws.com/taltech-bdc45607/images/product-icons/WinWedge.svg","color":{"light":"#a38915","dark":"#a38915"},"pages":[{"title":"WinWedge","href":"/winwedge"}]},{"product":"HID-ScaleWedge","icon":"https://mintlify.s3.us-west-1.amazonaws.com/taltech-bdc45607/images/product-icons/HID-ScaleWedge.svg","pages":[{"title":"HID-ScaleWedge","href":"/hid-scalewedge"}]},{"product":"BC-Wedge","icon":"https://mintlify.s3.us-west-1.amazonaws.com/taltech-bdc45607/images/product-icons/BC-Wedge.svg","pages":[{"title":"BC-Wedge","href":"/bc-wedge"}]},{"product":"TCP-Com","icon":"https://mintlify.s3.us-west-1.amazonaws.com/taltech-bdc45607/images/product-icons/TCP-Com.svg","pages":[{"title":"TCP-Com","href":"/tcp-com"}]},{"product":"B-Coder Pro","icon":"https://mintlify.s3.us-west-1.amazonaws.com/taltech-bdc45607/images/product-icons/B-Coder.svg","pages":[{"title":"B-Coder Pro","href":"/b-coder"}]},{"product":"Barcode ActiveX \u0026 DLLs","icon":"https://mintlify.s3.us-west-1.amazonaws.com/taltech-bdc45607/images/product-icons/Barcode%20ActiveX.svg","pages":[{"title":"Barcode ActiveX \u0026 DLLs support","sidebarTitle":"Barcode ActiveX \u0026 DLLs support home","mode":"center","href":"/barcode-activex"},{"group":"Support articles","pages":[{"group":"Getting started","expanded":false,"pages":[{"title":"What is Barcode ActiveX?","href":"/barcode-activex/what-is-barcode-activex"}]},{"group":"Barcode ActiveX integration","boost":2,"expanded":false,"pages":[{"title":"Set up Barcode ActiveX in Microsoft Access","sidebarTitle":"Add barcode printing to Microsoft Access","href":"/barcode-activex/add-barcode-printing-to-microsoft-access"},{"title":"Example for using Barcode ActiveX with Excel","href":"/barcode-activex/example-for-using-barcode-activex-with-excel"},{"title":"Online barcoding: client side overview","href":"/barcode-activex/online-barcoding-client-side-overview"},{"title":"Host an ActiveX control in Visual Studio 2010 WPF app","href":"/barcode-activex/activex-wpf-vs-2010"},{"title":"Barcode ActiveX demonstration in Access","href":"/barcode-activex/barcode-activex-demonstration-in-access-2010"},{"title":"Barcode ActiveX demonstration in Access 2003","href":"/barcode-activex/barcode-activex-demonstration"},{"title":"Barcode ActiveX Microsoft Word add-ins","href":"/barcode-activex/barcode-activex-microsoft-word-add-ins"},{"title":"Centering and sizing barcodes in a Microsoft Access report","href":"/barcode-activex/centering-and-sizing-access"},{"title":"Convert an Access field in a table to barcodes","href":"/barcode-activex/convert-an-access-field-in-a-table-to-barcodes"},{"title":"Create coupon code barcodes","href":"/barcode-activex/create-coupon-code-barcodes"},{"title":"How to skip used mailing labels and print duplicates","href":"/barcode-activex/skip-used-mailing-labels-and-print-duplicates"}]},{"group":"Web servers and scripting","boost":2,"expanded":false,"pages":[{"title":"Barcode ActiveX control server side installation notes","href":"/barcode-activex/barcode-activex-control-server-side-installation-notes"},{"title":"Basic Windows Script Host example for Barcode ActiveX","href":"/barcode-activex/basic-windows-script-host-example-for-barcode-activex"},{"title":"Configure a Web server for Perl / CGI scripting","href":"/barcode-activex/configure-a-web-server-for-scripting"},{"title":"HTML form code for ActiveX Plus when using a Perl CGI script","href":"/barcode-activex/html-form-code-for-activex-plus-when-using-a-perl-cgi-script"},{"title":"Introduction to Windows Script Host","href":"/barcode-activex/introduction-to-windows-script-host"},{"title":"Online barcoding: server side overview","href":"/barcode-activex/online-barcoding-server-side-overview"},{"title":"Using Barcode ActiveX Plus with a Perl CGI script","href":"/barcode-activex/using-barcode-activex-plus-with-a-perl-cgi-script"}]},{"group":"Troubleshooting","boost":2,"expanded":false,"pages":[{"title":"Barcode ActiveX error: “unable to load DLL file”","href":"/barcode-activex/barcode-activex-error-unable-to-load-dll-file"},{"title":"Tips for printing barcodes to a low-resolution printer","href":"/barcode-activex/barcodes-are-unreadable-when-i-print-to-a-low-resoluton-printer"},{"title":"Duplicate message when concatenating into the comment property in Access","href":"/barcode-activex/duplicate-message-when-concatenating-into-the-comment-property-in-access"},{"title":"Issue compiling project on a 64-bit machine using Visual Studio","href":"/barcode-activex/issue-compiling-project-on-a-64-bit-machine-using-visual-studio"},{"title":"Troubleshooting the ActiveX control and Active Server Pages","href":"/barcode-activex/troubleshooting-the-activex-control-and-active-server-pages"},{"title":"Application throws an error on Windows 7 “unable to get the window handle…”","description":"Fix the \"unable to get the window handle\" error that some applications show when they use the Barcode ActiveX control.","href":"/barcode-activex/windowless-activex-controls-are-not-supported"}]},{"group":"Barcode concepts","expanded":false,"pages":[{"title":"Barcode basics","href":"/barcode-activex/barcode-basics"},{"title":"Barcode symbologies","description":"Find the reference article for your barcode type, from Code 39, Code 128, and UPC to Data Matrix, PDF417, and postal barcodes.","href":"/barcode-activex/barcode-symbologies"},{"title":"Raster vs vector images and how they relate to barcodes","href":"/barcode-activex/raster-vs-vector-images-and-how-they-relate-to-barcodes"},{"title":"Print perfect barcodes to any printer","href":"/barcode-activex/print-perfect-barcodes-to-any-printer"},{"title":"How a barcode reader works","href":"/barcode-activex/how-barcode-reader-works"},{"title":"Produce high quality raster images with Barcode ActiveX","href":"/barcode-activex/produce-high-quality-raster-images-with-barcode-activex"},{"title":"Which barcode software is right for me?","href":"/barcode-activex/which-barcode-software"}]}]},{"group":"Legacy articles","boost":0.3,"expanded":false,"pages":[{"title":"Text appears inside the bars in Office 2000","href":"/barcode-activex/text-appears-inside-the-bars-in-office-2000-on-windows-2000-xp"},{"title":"Adding control to VB6’s toolbox throws error “object library not registered”","href":"/barcode-activex/adding-control-to-vb6s-toolbox-throws-error-object-library-not-registered"},{"title":"Generating compressed or uncompressed GIF files with Barcode ActiveX","href":"/barcode-activex/generating-compressed-or-uncompressed-gif-files-with-barcode-activex"},{"title":"Creating Web-friendly barcodes (LZW GIF compression)","href":"/barcode-activex/creating-web-friendly-barcodes-lzw-gif-compression"}]},{"group":"Resources","boost":0.5,"expanded":false,"pages":[{"title":"Trial downloads","url":"https://taltech.com/support-resources/free-trial-downloads","href":"/external/trial-downloads"},{"title":"Manuals and brochures","url":"https://taltech.com/support-resources/software-manuals-brochures","href":"/external/manuals"},{"title":"Online orders","url":"https://store.taltech.com/myaccount","href":"/external/store-account"},{"title":"Order and licensing info","url":"https://taltech.com/ordering","href":"/external/ordering"},{"title":"TALtech main site","url":"https://taltech.com","href":"/external/main-site"}]}]}]},"basePath":"","title":"Barcode basics - TALtech Support","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["10e4515597","a74be98ba7"],"chunks":["BannerMarkdown-BcDCEkh6.js","dist-CwjSCXIK.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-eKJ4rcii.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","zoom-image-lightbox-DMoL6lHz.js","lightbox-handle-r17bVUz3.js"]}