By Integrity6 Runs in Browser
Enter text above and click “Count” to see stats.
This tool is self-contained, framework-free, and future-proof by design:
Goal: Build software that runs in 1998 and 2048.
Every number below is calculated with intention. Here’s the logic, the math, and the real-world reasoning.
text.lengthtext.replace(/\s/g, '').lengthtext.match(/\b\w+\b/g) || []\b = word boundary, \w+ = 1+ letters/numbers. Ignores hello, → counts as hello. Works in English, Spanish, code, etc.
text.split(/\r?\n/)\r\n), Mac, and Unix line endings. Average chars/line helps formatters and designers.
(wordCount / wpm).toFixed(2) minutes. ! ? + line breaks, filter emptieswords.reduce((a,b) => a.length > b.length ? a : b, '')"this is very cool" → returns coolreduce() keeps the last one when tied. Predictable, deterministic, no randomness.
.toLowerCase(), pick highest frequency"the the cat" → cat (last seen).
"" = 2 units. Critical for SMS, databases, APIs.
for (let c of text) charFreq[c]++e → English, high → spacing issues, high \n → formatting.
lines.map(l => l.length)Teaching Takeaway: Every line of code has a reason. Durability isn’t just “no frameworks” — it’s intentional design.
|
Vertical Divider
|
|