{"id":20020605,"url":"https://github.com/sleavely/bark-js","last_synced_at":"2025-09-10T14:08:19.625Z","repository":{"id":37359445,"uuid":"54558270","full_name":"Sleavely/Bark-JS","owner":"Sleavely","description":"🔬 Parse barcode inputs 🏷️ in a unified GS1-128 format 📦🌐","archived":false,"fork":false,"pushed_at":"2023-03-03T11:25:53.000Z","size":351,"stargazers_count":30,"open_issues_count":4,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-08T14:41:24.552Z","etag":null,"topics":["barcode","barcode-inputs","barcodes","gs1","npm"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sleavely.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-23T12:32:39.000Z","updated_at":"2024-11-20T08:09:51.000Z","dependencies_parsed_at":"2024-06-19T06:15:27.136Z","dependency_job_id":"a31bb2c8-3edd-44eb-81f1-725f691de42e","html_url":"https://github.com/Sleavely/Bark-JS","commit_stats":{"total_commits":74,"total_committers":7,"mean_commits":"10.571428571428571","dds":0.2432432432432432,"last_synced_commit":"154e87895d782a45fac8d9f7b3642a9f85f33960"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleavely%2FBark-JS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleavely%2FBark-JS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleavely%2FBark-JS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleavely%2FBark-JS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sleavely","download_url":"https://codeload.github.com/Sleavely/Bark-JS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252422922,"owners_count":21745515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["barcode","barcode-inputs","barcodes","gs1","npm"],"created_at":"2024-11-13T08:33:12.743Z","updated_at":"2025-05-05T01:30:41.132Z","avatar_url":"https://github.com/Sleavely.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bark JS\n\n[ ![npm version](https://img.shields.io/npm/v/bark-js.svg?style=flat) ](https://npmjs.org/package/bark-js \"View this project on npm\") [ ![Travis](https://img.shields.io/travis/Sleavely/Bark-JS) ](https://travis-ci.org/Sleavely/Bark-JS) [ ![Issues](https://img.shields.io/github/issues/Sleavely/Bark-JS.svg) ](https://github.com/Sleavely/Bark-JS/issues)\n\nBark parses GS1-128 barcodes and extracts the catalogued data according to the [GS1 General Specifications (PDF)](https://www.gs1.org/sites/default/files/docs/barcodes/GS1_General_Specifications.pdf). It can also parse other SKU-related formats to convert into GTINs in GS1, such as EAN-13, ITF-14 and UPC-A.\n\n## How to use it\n\n```\nnpm install bark-js\n```\n\n### Examples\n\nLet's pretend we scan [the box in this photo](https://goo.gl/photos/HCE7WrNHDKvQL5ei8).\n\n```javascript\nconst bark = require('bark-js')\n\nbark( '015730033004265615171019' )\n// returns:\n{\n  symbology: 'unknown',\n  elements: [\n    {\n      ai: '01',\n      title: 'GTIN',\n      value: '57300330042656',\n      raw: '57300330042656'\n    },\n    {\n      ai: '15',\n      title: 'BEST BEFORE or BEST BY',\n      value: '2017-10-19',\n      raw: '171019'\n    }\n  ],\n  originalBarcode: '015730033004265615171019'\n}\n```\n\nIf you are going to scan simple barcodes (e.g. UPC-A, EAN-13, ITF-14, etc.) you can set the `assumeGtin` option to treat shorter barcodes (11-14 digits) as GS1-128 with a GTIN AI:\n\n```javascript\nconst bark = require('bark-js')\n\nbark( '09002490100094', { assumeGtin: true } )\n// returns:\n{\n  symbology: 'unknown',\n  elements: [\n    {\n      ai: '01',\n      title: 'GTIN',\n      value: '09002490100094',\n      raw: '09002490100094'\n    }\n  ],\n  originalBarcode: '0109002490100094'\n}\n```\n\nDepending on your barcode reader, you may receive FNC characters that arent the `\u003cGS\u003e` (ASCII 29) character. To set the group separator yourself, pass the `fnc` option:\n\n```javascript\nconst bark = require('bark-js')\n\nbark( '10FRIDGEX0109002490100094', { fnc: 'X' } )\n// returns:\n{\n  symbology: 'unknown',\n  elements: [\n    {\n      ai: '10',\n      title: 'BATCH/LOT',\n      value: 'FRIDGE',\n      raw: 'FRIDGEX'\n    },\n    {\n      ai: '01',\n      title: 'GTIN',\n      value: '09002490100094',\n      raw: '09002490100094'\n    }\n  ],\n  originalBarcode: '10FRIDGEX0109002490100094'\n}\n```\n\nDepending on the type of elements in your code, the parsers may append additional fields to such as `isoCurrencyCode` and `amount` for your convenience:\n\n```javascript\nconst bark = require('bark-js')\n\nbark( '393297817999' )\n// returns:\n{\n  symbology: 'unknown',\n  elements: [\n    {\n      ai: '3932',\n      title: 'PRICE',\n      value: '978179.99',\n      isoCurrencyCode: '978',\n      amount: '179.99',\n      raw: '97817999'\n    }\n  ],\n  originalBarcode: '393297817999'\n}\n```\n\n## Contributing\n\nPull requests to Sleavely/Bark-JS are encouraged and appreciated!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsleavely%2Fbark-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsleavely%2Fbark-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsleavely%2Fbark-js/lists"}