How can I use the Libre Barcode fonts to create a scannable Code 128 barcode with text below it in a word processor or d
Want to make a scannable Code 128 barcode with text underneath right inside Word, Google Docs, or a design app? The trick is using the right font variant and, crucially, feeding it the correct encoded string—not your raw data. Here’s how to do it, step by step.
What you’ll need
- Font: Libre Barcode 128 Text – the variant that automatically shows the human‑readable text below the bars [1] [7] [8] [11]
- Encoder: the free, official online tool that turns your data into a proper Code 128 string [2] [3] [12]
Step‑by‑step recipe
Install the font
Grab “Libre Barcode 128 Text” from Google Fonts or the project site, and install it like any other font. [1] [4] [7]Encode your data
Go to the encoder page:
https://graphicore.github.io/librebarcode/documentation/code128.html [2] [12]
Type the information you want to turn into a barcode (e.g., a product code) into the “Enter a text” box. The tool instantly shows you a preview and, more importantly, an encoded text string. Copy that entire encoded string. [3] [10] [12]Paste & apply the font
- Open your word processor or design tool.
- Paste the encoded string.
- Select it and change the font to Libre Barcode 128 Text.
- Adjust the point size (usually between 24 pt and 72 pt works well) so the barcode is tall enough for a scanner. [10] [12]
Print & test
Print the page and try scanning it. If it works, you’re done! If not, double‑check that you pasted the encoded string and not your original text. Also try removing any hyphens, slashes, or other special characters from your input data—they can sometimes confuse Code 128 scanners. [18]
Why can’t I just type my code and apply the font?
Because Code 128 is sneaky. Unlike simpler barcodes, it needs a mandatory check digit (a mod‑103 checksum) and specific start/stop characters woven into the symbol. [13] [14] [16] [17] [21] The font itself only knows how to draw each character as a set of bars; it doesn’t calculate the checksum or build the correct sequence for you. [5] [17]
If you type “ABC” and slap on Libre Barcode 128, you’ll get a pretty pattern that scanners will almost certainly ignore. [6] [20] The official encoder handles all the heavy lifting, so always copy its output rather than your raw data.
If it still won’t scan
- Avoid special characters. Characters like
-and/in your data can trip up some scanners. [18] Try plain alphanumeric codes first. - Fallback option. If Code 128 remains stubborn, you can switch to Code 39 (using the Libre Barcode 39 font). Just wrap your value in asterisks (e.g.,
*MYDATA*) and apply that font—it’s often more forgiving. [19] But note that this is a different barcode type, not Code 128.
Related posts
How does Anthropic's internal adoption of Claude Tag for code generation and support tasks compare to industry usage of AI agents in development?
Anthropic’s internal Claude Tag deployment achieves high code generation volume and deep team collaboration within Slack, while broader industry AI coding tool adoption is still maturing with varied productivity gains. This report compares the advanced internal use case against industry benchmarks and adoption patterns.
Why was an Emacs patch rejected for being LLM-assisted, and what does this reveal about open-source contribution policies?
The Emacs patch was rejected because the contributor violated an explicit LLM ban, revealing how open-source projects are formalizing AI contribution policies to address licensing, verification, and collaboration challenges.
How do system administrators configure data access and privacy boundaries for Claude Tag, and what risks should they consider?
System administrators configure Claude Tag by selecting Slack channels, connecting tools, and understanding org-level identity; they must manage risks like shared visibility, persistent memory, autonomous actions, and network-level data exfiltration.
How does Anthropic's Claude Tag compare to other AI agents integrated into workplace collaboration platforms?
Analysis of Anthropic's Claude Tag, a persistent, proactive AI agent for Slack, compared with Microsoft Copilot and other workplace bots, highlighting its multiplayer, asynchronous capabilities.
How can I implement a simple pattern prediction algorithm similar to Brain Frog's frog in JavaScript?
A JavaScript tutorial for building a pattern prediction algorithm using Markov chains and n-grams, inspired by the Brain Frog game's opponent AI.