{
  "title": "GTIN check digit calculator",
  "human_url": "https://happytails.ai/en/data-tools/gtin-check-digit-calculator/",
  "agent_url": "https://happytails.ai/agents/en/data-tools/gtin-check-digit-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/data-tools/gtin-check-digit-calculator.md",
  "content": "GTIN check digit calculator\nValidate GTIN-8, GTIN-12, GTIN-13 and GTIN-14 identifiers or compute a missing check digit while preserving leading zeros.\nHow to use GTIN check digit calculator\nChoose whether each input already includes its check digit.\nChoose the complete GTIN length and paste one identifier per line.\nReview every record, including invalid entries, then download CSV and JSON.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nUseful next steps\nProduct feed validator\nProduct variant matrix generator\nSKU naming generator\nPreserve identifiers as text\nLeading zeros belong to the identifier. Import GTIN columns as text in spreadsheet applications. The GTIN-14 padded form is shown only for valid or successfully completed identifiers.\nLocal processing and exports\nProcessing runs on your device. CSV downloads quote every cell and protect formula prefixes by default. JSON preserves original strings and includes the report and result tables. Spreadsheet import settings can still change identifiers; import them as text.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Product feed validator",
      "url": "https://happytails.ai/en/data-tools/product-feed-validator/"
    },
    {
      "name": "Product variant matrix generator",
      "url": "https://happytails.ai/en/data-tools/product-variant-matrix-generator/"
    },
    {
      "name": "SKU naming generator",
      "url": "https://happytails.ai/en/data-tools/sku-naming-generator/"
    }
  ],
  "tool": {
    "id": "gtin-check-digit-calculator",
    "category": "data-tools",
    "built": true,
    "requirements": "One explicit complete length per run removes the ambiguity between a GTIN-12 and a 12-digit GTIN-13 body. Arithmetic checks do not establish GS1 allocation, ownership or product identity. Maximum 1,000,000 input characters, 10,000 records and 100,000 result cells. CSV output is bounded to 4,000,000 characters.",
    "implementation": {
      "fields": [
        {
          "key": "mode",
          "label": "Input includes check digit",
          "value": "With check digit",
          "type": "select",
          "values": [
            "With check digit",
            "Without check digit"
          ]
        },
        {
          "key": "length",
          "label": "Complete GTIN length",
          "value": "13",
          "type": "select",
          "values": [
            "8",
            "12",
            "13",
            "14"
          ]
        },
        {
          "key": "exportMode",
          "label": "Spreadsheet formula handling",
          "value": "Protect formulas",
          "type": "select",
          "values": [
            "Protect formulas",
            "Preserve original cells"
          ]
        }
      ],
      "live": true,
      "background": true,
      "presentation": "metrics",
      "note": "One identifier per line, up to 10,000 records and 1,000,000 characters. Select the complete GTIN length explicitly: a 12-digit string could be a GTIN-12 or a GTIN-13 body. Spaces and leading zeros are preserved. Invalid records remain in the report. Arithmetic validity does not confirm GS1 allocation or ownership. Runs on your device.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "GTIN strings",
        "placeholder": "One identifier per line",
        "help": "Choose the full length in the settings. Input and output identifiers stay literal strings. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# GTIN check digit calculator\n\n- Human page: https://happytails.ai/en/data-tools/gtin-check-digit-calculator/\n- Markdown: https://happytails.ai/en/data-tools/gtin-check-digit-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/data-tools/gtin-check-digit-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `gtin-check-digit-calculator` |\n| Category | data-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nOne identifier per line, up to 10,000 records and 1,000,000 characters. Select the complete GTIN length explicitly: a 12-digit string could be a GTIN-12 or a GTIN-13 body. Spaces and leading zeros are preserved. Invalid records remain in the report. Arithmetic validity does not confirm GS1 allocation or ownership. Runs on your device.\n\n### Inputs and settings\n\nText input: GTIN strings.\n\nExample or placeholder shown in the interface (not a validated fixture):\n\n```text\nOne identifier per line\n```\n\nChoose the full length in the settings. Input and output identifiers stay literal strings. Results update as you type. Up to 1,000,000 characters.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `mode` | Input includes check digit | select | \"With check digit\" | Allowed: With check digit, Without check digit |\n| `length` | Complete GTIN length | select | \"13\" | Allowed: 8, 12, 13, 14 |\n| `exportMode` | Spreadsheet formula handling | select | \"Protect formulas\" | Allowed: Protect formulas, Preserve original cells |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nOne explicit complete length per run removes the ambiguity between a GTIN-12 and a 12-digit GTIN-13 body. Arithmetic checks do not establish GS1 allocation, ownership or product identity. Maximum 1,000,000 input characters, 10,000 records and 100,000 result cells. CSV output is bounded to 4,000,000 characters.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"gtin-check-digit-calculator\",\n  \"category\": \"data-tools\",\n  \"built\": true,\n  \"requirements\": \"One explicit complete length per run removes the ambiguity between a GTIN-12 and a 12-digit GTIN-13 body. Arithmetic checks do not establish GS1 allocation, ownership or product identity. Maximum 1,000,000 input characters, 10,000 records and 100,000 result cells. CSV output is bounded to 4,000,000 characters.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"mode\",\n        \"label\": \"Input includes check digit\",\n        \"value\": \"With check digit\",\n        \"type\": \"select\",\n        \"values\": [\n          \"With check digit\",\n          \"Without check digit\"\n        ]\n      },\n      {\n        \"key\": \"length\",\n        \"label\": \"Complete GTIN length\",\n        \"value\": \"13\",\n        \"type\": \"select\",\n        \"values\": [\n          \"8\",\n          \"12\",\n          \"13\",\n          \"14\"\n        ]\n      },\n      {\n        \"key\": \"exportMode\",\n        \"label\": \"Spreadsheet formula handling\",\n        \"value\": \"Protect formulas\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Protect formulas\",\n          \"Preserve original cells\"\n        ]\n      }\n    ],\n    \"live\": true,\n    \"background\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"One identifier per line, up to 10,000 records and 1,000,000 characters. Select the complete GTIN length explicitly: a 12-digit string could be a GTIN-12 or a GTIN-13 body. Spaces and leading zeros are preserved. Invalid records remain in the report. Arithmetic validity does not confirm GS1 allocation or ownership. Runs on your device.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"GTIN strings\",\n      \"placeholder\": \"One identifier per line\",\n      \"help\": \"Choose the full length in the settings. Input and output identifiers stay literal strings. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nValidate GTIN-8, GTIN-12, GTIN-13 and GTIN-14 identifiers or compute a missing check digit while preserving leading zeros.\n\n### How to use GTIN check digit calculator\n\n1. Choose whether each input already includes its check digit.\n2. Choose the complete GTIN length and paste one identifier per line.\n3. Review every record, including invalid entries, then download CSV and JSON.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n## Useful next steps\n\n- [Product feed validator](https://happytails.ai/en/data-tools/product-feed-validator/) ([Markdown](https://happytails.ai/en/data-tools/product-feed-validator.md))\n\n- [Product variant matrix generator](https://happytails.ai/en/data-tools/product-variant-matrix-generator/) ([Markdown](https://happytails.ai/en/data-tools/product-variant-matrix-generator.md))\n\n- [SKU naming generator](https://happytails.ai/en/data-tools/sku-naming-generator/) ([Markdown](https://happytails.ai/en/data-tools/sku-naming-generator.md))\n\n## Preserve identifiers as text\n\nLeading zeros belong to the identifier. Import GTIN columns as text in spreadsheet applications. The GTIN-14 padded form is shown only for valid or successfully completed identifiers.\n\n### Local processing and exports\n\nProcessing runs on your device. CSV downloads quote every cell and protect formula prefixes by default. JSON preserves original strings and includes the report and result tables. Spreadsheet import settings can still change identifiers; import them as text.\n"
}