{"id":385306,"date":"2026-10-13T15:08:51","date_gmt":"2026-10-13T15:08:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/barcodegen-barcode-generator\/"},"modified":"2026-10-13T15:08:41","modified_gmt":"2026-10-13T15:08:41","slug":"barcodegen","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/barcodegen\/","author":23584555,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Barcodegen \u2013 Barcode Generator","header_author":"barcodegen.net","header_description":"Generate crisp, printable SVG barcodes \u2014 EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14 \u2014 with a shortcode, a block, and a generator screen in your dashboard. No external services: everything is generated locally and no data ever leaves your site.","assets_banners_color":"","last_updated":"2026-10-13 15:08:41","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.barcodegen.net\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":72,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"barcodegen","date":"2026-10-13 15:08:41","revision":3744290}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"barcodegen\/barcode":{"name":"barcodegen\/barcode","title":"Barcode"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"EAN-13, UPC-A and EAN-8 with retail style guard bars and digit groups.","2":"Code 128, Code 39 and ITF-14 output."}},"plugin_section":[],"plugin_tags":[1292,1293,1289,286479,286480],"plugin_category":[],"plugin_contributors":[286481],"plugin_business_model":[],"class_list":["post-385306","plugin","type-plugin","status-publish","hentry","plugin_tags-barcode","plugin_tags-barcode-generator","plugin_tags-code128","plugin_tags-ean-13","plugin_tags-upc-a","plugin_contributors-barcodegen","plugin_committers-barcodegen"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/barcodegen.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Barcodegen adds real barcodes to WordPress. Type a value, pick a format, and you get a clean vector barcode that prints sharply at any size \u2014 product pages, packing slips, invoices, tickets, shelf labels, asset tags, anything.<\/p>\n\n<p><strong>Six formats, generated locally<\/strong><\/p>\n\n<ul>\n<li><strong>EAN-13<\/strong> \u2014 retail products worldwide (12 or 13 digits, check digit calculated for you)<\/li>\n<li><strong>EAN-8<\/strong> \u2014 small retail packages<\/li>\n<li><strong>UPC-A<\/strong> \u2014 retail products in the US and Canada<\/li>\n<li><strong>Code 128<\/strong> \u2014 the all purpose format for internal codes, tickets and documents, with automatic code set selection (A\/B\/C) and the correct check digit<\/li>\n<li><strong>Code 39<\/strong> \u2014 still common on older industrial equipment<\/li>\n<li><strong>ITF-14<\/strong> \u2014 cartons and shipping labels, with the GTIN-14 check digit<\/li>\n<\/ul>\n\n<p><strong>How it renders<\/strong><\/p>\n\n<p>Every barcode is written as inline SVG by PHP. There is no image file to manage, no JavaScript, and no canvas: the bars stay sharp on retina screens and come out of a laser printer perfectly. Guard bars extend below the digit row and the number system digits sit in the quiet zones, so EAN-13 and UPC-A output looks like a real retail label, not a screenshot.<\/p>\n\n<p><strong>Three ways to add one<\/strong><\/p>\n\n<ol>\n<li>The <strong>[barcodegen]<\/strong> shortcode, with attributes for every option.<\/li>\n<li>The <strong>Barcode<\/strong> block, with a live preview in the editor.<\/li>\n<li><strong>Tools \u2192 Barcode Generator<\/strong> in your dashboard, which also hands you a ready made shortcode.<\/li>\n<\/ol>\n\n<p><strong>Privacy and performance<\/strong><\/p>\n\n<p>Nothing is sent anywhere. There are no external requests, no trackers, no cookies and no third party libraries \u2014 the encoders are about a thousand lines of PHP written for this plugin. Barcodes render on the server, so they work in feeds and emails and add nothing to your page weight budget.<\/p>\n\n<h4>Shortcode<\/h4>\n\n<pre><code>[barcodegen format=\"ean13\" value=\"5901234123457\"]\n<\/code><\/pre>\n\n<p>Every attribute is optional except the value:<\/p>\n\n<ul>\n<li><strong>format<\/strong> \u2014 code128 (default), code39, ean13, ean8, upca or itf14. The advanced values code128a, code128b, code128c and itf are accepted too<\/li>\n<li><strong>scale<\/strong> \u2014 module width in pixels, 0.5 to 10 (default 2)<\/li>\n<li><strong>height<\/strong> \u2014 bar height in pixels (default 60)<\/li>\n<li><strong>text<\/strong> \u2014 print the value under the bars, \"yes\" or \"no\"<\/li>\n<li><strong>bar_color<\/strong> \u2014 any CSS colour, default #000000<\/li>\n<li><strong>bg_color<\/strong> \u2014 any CSS colour, or \"transparent\"<\/li>\n<li><strong>padding<\/strong> \u2014 extra space around the bars, in pixels<\/li>\n<li><strong>class<\/strong> \u2014 extra CSS class on the SVG<\/li>\n<li><strong>align<\/strong> \u2014 left, center or right<\/li>\n<\/ul>\n\n<p>Enclosed content also works, which is handy when the value contains quotes:<\/p>\n\n<pre><code>[barcodegen format=\"code39\"]HELLO WORLD[\/barcodegen]\n<\/code><\/pre>\n\n<p>If a value cannot be encoded \u2014 a five digit EAN-13, a lower case letter in Code 39 \u2014 you will see the reason while editing and visitors will see nothing at all.<\/p>\n\n<h4>Formats<\/h4>\n\n<p>What each format accepts, so you get it right the first time.<\/p>\n\n<ul>\n<li><strong>code128<\/strong> \u2014 ASCII 0-127, any length. The check digit is calculated for you. The default, and the best choice for internal codes.<\/li>\n<li><strong>code39<\/strong> \u2014 digits, A-Z and - . space $ \/ + %. Lower case is converted to upper case for you.<\/li>\n<li><strong>ean13<\/strong> \u2014 12 digits, or 13 with the check digit. A wrong check digit is corrected rather than printed.<\/li>\n<li><strong>ean8<\/strong> \u2014 7 digits, or 8 with the check digit.<\/li>\n<li><strong>upca<\/strong> \u2014 11 digits, or 12 with the check digit.<\/li>\n<li><strong>itf14<\/strong> \u2014 13 digits, or 14 with the check digit. Cartons and shipping labels.<\/li>\n<\/ul>\n\n<p>Non-digit characters are stripped from EAN, UPC and ITF values, so <code>590-1234-123457<\/code> encodes exactly like <code>5901234123457<\/code>. Values with accents or non-Latin characters are rejected by Code 128 and accepted by Code 39 only if they are in the Latin-1 range.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your dashboard go to Plugins \u2192 Add New and search for \"Barcodegen\".<\/li>\n<li>Click Install Now, then Activate.<\/li>\n<li>Open Tools \u2192 Barcode Generator to make your first barcode, or paste <code>[barcodegen format=\"ean13\" value=\"5901234123457\"]<\/code> into any post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20send%20my%20data%20anywhere%3F\"><h3>Does it send my data anywhere?<\/h3><\/dt>\n<dd><p>No. Encoding happens in PHP on your own server. The plugin makes no HTTP requests at all, so it is safe to use behind a firewall and it cannot leak product codes.<\/p><\/dd>\n<dt id=\"can%20i%20print%20the%20barcodes%3F\"><h3>Can I print the barcodes?<\/h3><\/dt>\n<dd><p>Yes. The output is vector SVG, so it stays sharp at any size and prints cleanly on labels, packing slips and thermal printers.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Put the shortcode in a product description, or print barcodes on order emails and invoices with the same shortcode.<\/p><\/dd>\n<dt id=\"can%20i%20remove%20the%20link%20back%20to%20barcodegen.net%3F\"><h3>Can I remove the link back to barcodegen.net?<\/h3><\/dt>\n<dd><p>It is already removed: the plugin adds no visible link by default. If you would like to credit the plugin there is an opt-in switch on the settings screen.<\/p><\/dd>\n<dt id=\"why%20is%20there%20no%20qr%20code%3F\"><h3>Why is there no QR Code?<\/h3><\/dt>\n<dd><p>QR, Data Matrix, PDF417 and Aztec are 2D formats that need a very different encoder, and they are on the roadmap. Until then <a href=\"https:\/\/www.barcodegen.net\/\">barcodegen.net<\/a> generates them for free in the browser, along with bulk CSV generation and ZIP export.<\/p><\/dd>\n<dt id=\"which%20format%20should%20i%20use%3F\"><h3>Which format should I use?<\/h3><\/dt>\n<dd><p>Code 128 for anything internal \u2014 SKUs, order numbers, tickets, asset tags. EAN-13 for products sold worldwide, UPC-A for the US and Canada, EAN-8 when a small package has no room for thirteen digits, ITF-14 for shipping cartons. If a shop scanner has to read it, use EAN-13 or UPC-A. If it is only for your own tracking, Code 128 is narrower and scans just as reliably.<\/p><\/dd>\n<dt id=\"my%20printed%20barcode%20will%20not%20scan.%20why%3F\"><h3>My printed barcode will not scan. Why?<\/h3><\/dt>\n<dd><p>Nine times out of ten it is print scaling. Print at 100%, never \"Fit to page\". If that does not fix it, raise scale to 2 or more, make sure the quiet zone around the bars is not cropped, and keep the bars black on white \u2014 red, light or low contrast bars will not read.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20calculate%20the%20check%20digit%3F\"><h3>Do I need to calculate the check digit?<\/h3><\/dt>\n<dd><p>No. Supply 12 digits for an EAN-13, 11 for a UPC-A, 7 for an EAN-8 or 13 for an ITF-14 and the check digit is added for you. If you supply the full length with a wrong check digit it is corrected rather than printed, so you cannot publish a symbol that scanners reject.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Yes. The Barcode block is a normal Gutenberg block and the shortcode is a normal shortcode, so both work in Elementor, Divi, WPBakery, Beaver Builder and the Classic Editor with no extra setup.<\/p><\/dd>\n<dt id=\"my%20barcode%20does%20not%20appear.%20what%20now%3F\"><h3>My barcode does not appear. What now?<\/h3><\/dt>\n<dd><p>While you are logged in as an editor the plugin prints the exact reason \u2014 usually a value that is too short for the format. Check the format hint on the generator screen for the accepted length.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release. EAN-13, EAN-8, UPC-A, Code 128 (auto, A, B, C), Code 39 and ITF-14, shortcode, block and dashboard generator.<\/li>\n<\/ul>","raw_excerpt":"Crisp, printable SVG barcodes: EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14, from a shortcode, a block or your dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/385306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=385306"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/barcodegen"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=385306"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=385306"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=385306"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=385306"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=385306"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=385306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}