{
  "site": "web-tools",
  "toolId": "character-counter",
  "verifiedOn": "2026-07-11",
  "productSourcePaths": [
    "server/web-tools/src/app/[locale]/text/character-counter/CharacterCounterClient.tsx",
    "server/web-tools/src/app/[locale]/text/character-counter/count-stats.ts",
    "server/web-tools/src/app/[locale]/text/character-counter/count-stats.test.mjs"
  ],
  "fixtureSha256": "5c90021eeb943a6a57595788204aa1d5862d3de7930a09d651f45551843a019f",
  "productSourcesSha256": "a8ceaee00a4b4c8ddf02c9fbc6081683f47678bac9c35ea647c104a41bd16420",
  "inputLimits": "JavaScript string held in browser memory",
  "outputFormat": "Seven numeric text statistics",
  "assertions": ["Unicode character count", "word and sentence count", "paragraph and line count"],
  "fixture": {
    "input": "안녕 world!\n\n두 번째 문장.",
    "expected": { "characters": 19, "charactersNoSpaces": 14, "words": 5, "sentences": 2,
      "paragraphs": 2, "lines": 3, "readingMinutes": 1 }
  },
  "expected": { "characters": 19, "charactersNoSpaces": 14, "words": 5, "sentences": 2,
    "paragraphs": 2, "lines": 3, "readingMinutes": 1 },
  "limitations": ["JavaScript UTF-16 code-unit count is used for characters", "reading time assumes 200 words per minute"]
}
