EAN, UPC & Code 128 barcodes
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants a barcode generator: a UPC or EAN-13 barcode for a product, a Code 128 barcode for a SKU or label, GS1-128 with (01) GTIN, (17) expiry and (10) lot, Code 39, an ITF-14 carton code, or a book ISBN barcode. Computes or verifies the check digit (explains a wrong one), applies GS1 quiet zones and sizes, and returns SVG and PNG download links plus calculated print dimensions. One barcode per request; Code 128 up to 80 characters, Code 39 up to 60 characters, and GS1-128 up to 48 data characters including separator FNC1 characters. Does not issue or register GS1 numbers (real UPC/EAN numbers must be licensed from GS1), does not scan images or look up products. Do not use for QR codes.
What to encode, e.g. 590123412345 (the check digit is added if missing; spaces, hyphens and a leading spreadsheet apostrophe are ignored in numbers), A-10442 for Code 128 (encoded exactly, plain ASCII), (01)09501101530003(17)261231(10)LOT42 for GS1-128 (parentheses recommended; unbracketed AI strings are also read), 0-306-40615-2 for ISBN.
Barcode type, e.g. ean13. ean13 (EAN-13 retail, 12 or 13 digits), ean8 (7 or 8 digits), upca (UPC-A, 11 or 12 digits), upce (UPC-E: 6-8 digits, or a 12-digit UPC-A to compress), code128 (any ASCII text such as SKUs; automatic code set A/B/C switching), gs1_128 (GS1-128 with Application Identifiers), code39 (A-Z, 0-9, - . space $ / + %), itf14 (GTIN-14 carton code with bearer bars, 13 or 14 digits), isbn (book barcode from an ISBN-10 or ISBN-13), issn (magazine barcode from an ISSN).
Optional 2- or 5-digit add-on printed to the right of an EAN-13, UPC-A, UPC-E, EAN-8, ISBN or ISSN barcode, e.g. 51299 (book price code for 12.99 USD) or 07 (magazine issue).
Print the human-readable digits/text under the bars, e.g. true (default).
Resolution of the label printer, e.g. 203 or 300. Bar widths are snapped to whole printer dots so every bar prints exactly; the PNG is rendered at this resolution.
Bar height in millimetres, e.g. 15. Defaults to the GS1 height for retail codes, 31.75 mm for ITF-14 and GS1-128, else the larger of 12.7 mm and 15% of the symbol length.
Width of the narrowest bar in millimetres, e.g. 0.33. Overrides magnification. Defaults: 0.33 (EAN/UPC, Code 128, Code 39), 0.495 (GS1-128), 0.635 (ITF-14).
If the number already has a check digit and it is wrong, replace it with the correct one instead of returning an error, e.g. true. Default false.
Code 39 only: append the optional modulo-43 check character, e.g. true. Default false.
EAN/UPC/ISBN/ISSN and ITF-14 size as a percentage of the GS1 nominal size, e.g. 100 (EAN-13 = 37.29 x 25.93 mm; GS1 retail range 80-200).
Use this when the user wants a barcode generator: a UPC or EAN-13 barcode for a product, a Code 128 barcode for a SKU or label, GS1-128 with (01) GTIN, (17) expiry and (10) lot, Code 39, an ITF-14 carton code, or a book ISBN barcode. Computes or verifies the check digit (explains a wrong one), applies GS1 quiet zones and sizes, and returns SVG and PNG download links plus calculated print dimensions. One barcode per request; Code 128 up to 80 characters, Code 39 up to 60 characters, and GS1-128 up to 48 data characters including separator FNC1 characters. Does not issue or register GS1 numbers (real UPC/EAN numbers must be licensed from GS1), does not scan images or look up products. Do not use for QR codes.
| Argument | Type | Description |
|---|---|---|
| data* | string | What to encode, e.g. 590123412345 (the check digit is added if missing; spaces, hyphens and a leading spreadsheet apostrophe are ignored in numbers), A-10442 for Code 128 (encoded exactly, plain ASCII), (01)09501101530003(17)261231(10)LOT42 for GS1-128 (parentheses recommended; unbracketed AI strings are also read), 0-306-40615-2 for ISBN. |
| add_on | string | Optional 2- or 5-digit add-on printed to the right of an EAN-13, UPC-A, UPC-E, EAN-8, ISBN or ISSN barcode, e.g. 51299 (book price code for 12.99 USD) or 07 (magazine issue). |
| show_text | boolean | Print the human-readable digits/text under the bars, e.g. true (default). |
| symbology* | string | Barcode type, e.g. ean13. ean13 (EAN-13 retail, 12 or 13 digits), ean8 (7 or 8 digits), upca (UPC-A, 11 or 12 digits), upce (UPC-E: 6-8 digits, or a 12-digit UPC-A to compress), code128 (any ASCII text such as SKUs; automatic code set A/B/C switching), gs1_128 (GS1-128 with Application Identifiers), code39 (A-Z, 0-9, - . space $ / + %), itf14 (GTIN-14 carton code with bearer bars, 13 or 14 digits), isbn (book barcode from an ISBN-10 or ISBN-13), issn (magazine barcode from an ISSN). |
| printer_dpi | integer | Resolution of the label printer, e.g. 203 or 300. Bar widths are snapped to whole printer dots so every bar prints exactly; the PNG is rendered at this resolution. |
| bar_height_mm | number | Bar height in millimetres, e.g. 15. Defaults to the GS1 height for retail codes, 31.75 mm for ITF-14 and GS1-128, else the larger of 12.7 mm and 15% of the symbol length. |
| x_dimension_mm | number | Width of the narrowest bar in millimetres, e.g. 0.33. Overrides magnification. Defaults: 0.33 (EAN/UPC, Code 128, Code 39), 0.495 (GS1-128), 0.635 (ITF-14). |
| fix_check_digit | boolean | If the number already has a check digit and it is wrong, replace it with the correct one instead of returning an error, e.g. true. Default false. |
| code39_check_digit | boolean | Code 39 only: append the optional modulo-43 check character, e.g. true. Default false. |
| magnification_percent | number | EAN/UPC/ISBN/ISSN and ITF-14 size as a percentage of the GS1 nominal size, e.g. 100 (EAN-13 = 37.29 x 25.93 mm; GS1 retail range 80-200). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbology",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "What to encode, e.g. 590123412345 (the check digit is added if missing; spaces, hyphens and a leading spreadsheet apostrophe are ignored in numbers), A-10442 for Code 128 (encoded exactly, plain ASCII), (01)09501101530003(17)261231(10)LOT42 for GS1-128 (parentheses recommended; unbracketed AI strings are also read), 0-306-40615-2 for ISBN."
},
"add_on": {
"type": "string",
"maxLength": 8,
"description": "Optional 2- or 5-digit add-on printed to the right of an EAN-13, UPC-A, UPC-E, EAN-8, ISBN or ISSN barcode, e.g. 51299 (book price code for 12.99 USD) or 07 (magazine issue)."
},
"show_text": {
"type": "boolean",
"description": "Print the human-readable digits/text under the bars, e.g. true (default)."
},
"symbology": {
"enum": [
"ean13",
"ean8",
"upca",
"upce",
"code128",
"gs1_128",
"code39",
"itf14",
"isbn",
"issn"
],
"type": "string",
"description": "Barcode type, e.g. ean13. ean13 (EAN-13 retail, 12 or 13 digits), ean8 (7 or 8 digits), upca (UPC-A, 11 or 12 digits), upce (UPC-E: 6-8 digits, or a 12-digit UPC-A to compress), code128 (any ASCII text such as SKUs; automatic code set A/B/C switching), gs1_128 (GS1-128 with Application Identifiers), code39 (A-Z, 0-9, - . space $ / + %), itf14 (GTIN-14 carton code with bearer bars, 13 or 14 digits), isbn (book barcode from an ISBN-10 or ISBN-13), issn (magazine barcode from an ISSN)."
},
"printer_dpi": {
"type": "integer",
"maximum": 1200,
"minimum": 100,
"description": "Resolution of the label printer, e.g. 203 or 300. Bar widths are snapped to whole printer dots so every bar prints exactly; the PNG is rendered at this resolution."
},
"bar_height_mm": {
"type": "number",
"maximum": 300,
"minimum": 3,
"description": "Bar height in millimetres, e.g. 15. Defaults to the GS1 height for retail codes, 31.75 mm for ITF-14 and GS1-128, else the larger of 12.7 mm and 15% of the symbol length."
},
"x_dimension_mm": {
"type": "number",
"maximum": 2,
"minimum": 0.1,
"description": "Width of the narrowest bar in millimetres, e.g. 0.33. Overrides magnification. Defaults: 0.33 (EAN/UPC, Code 128, Code 39), 0.495 (GS1-128), 0.635 (ITF-14)."
},
"fix_check_digit": {
"type": "boolean",
"description": "If the number already has a check digit and it is wrong, replace it with the correct one instead of returning an error, e.g. true. Default false."
},
"code39_check_digit": {
"type": "boolean",
"description": "Code 39 only: append the optional modulo-43 check character, e.g. true. Default false."
},
"magnification_percent": {
"type": "number",
"maximum": 250,
"minimum": 25,
"description": "EAN/UPC/ISBN/ISSN and ITF-14 size as a percentage of the GS1 nominal size, e.g. 100 (EAN-13 = 37.29 x 25.93 mm; GS1 retail range 80-200)."
}
}
}Use this when the user asks whether a UPC, EAN, GTIN-8/12/13/14, SSCC, ISBN-10/13 or ISSN number is valid, what its check digit should be, or wants to convert ISBN-10 to ISBN-13, UPC-E to UPC-A, or UPC-A to EAN-13/GTIN-14. Explains the check-digit arithmetic, gives the corrected number and the GS1 prefix meaning. Does not tell who owns a number, whether it is registered with GS1, or what product it is; does not look anything up online.
| Argument | Type | Description |
|---|---|---|
| type | string | Number type, e.g. auto (default: detected from the length). gtin8, gtin12 (UPC-A), gtin13 (EAN-13), gtin14, sscc, upce, isbn10, isbn13, issn. Use upce or issn for 8-digit numbers that are not EAN-8. |
| number* | string | The number to check, e.g. 5901234123457, 036000291452, 0-306-40615-2 (ISBN-10), 0317-8471 (ISSN) or 106141412345678908 (SSCC). Spaces and hyphens are ignored. Without its check digit (e.g. 03600029145) the check digit is computed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"number"
],
"properties": {
"type": {
"enum": [
"auto",
"gtin8",
"gtin12",
"gtin13",
"gtin14",
"sscc",
"upce",
"isbn10",
"isbn13",
"issn"
],
"type": "string",
"description": "Number type, e.g. auto (default: detected from the length). gtin8, gtin12 (UPC-A), gtin13 (EAN-13), gtin14, sscc, upce, isbn10, isbn13, issn. Use upce or issn for 8-digit numbers that are not EAN-8."
},
"number": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "The number to check, e.g. 5901234123457, 036000291452, 0-306-40615-2 (ISBN-10), 0317-8471 (ISSN) or 106141412345678908 (SSCC). Spaces and hyphens are ignored. Without its check digit (e.g. 03600029145) the check digit is computed."
}
}
}