← All examples

JavaScript Reading & focus medium.com

Medium: estimated-time badge

Counts the words in the article and shows a badge above it with the estimated reading time.

Code to copy

// Add an estimated reading-time badge above the article
(function () {
  if (document.getElementById('jz-med-time')) { return; }
  const art = document.querySelector('article');
  if (!art) { return; }
  const words = (art.innerText || '').trim().split(/\s+/).length;
  const mins = Math.max(1, Math.round(words / 220));
  const badge = document.createElement('div');
  badge.id = 'jz-med-time';
  badge.textContent = '⏱ ~' + mins + ' min';
  badge.style.cssText = 'display:inline-block;margin:8px 0;padding:3px 10px;' +
    'border-radius:12px;background:#eee;color:#333;font-size:13px;';
  art.insertBefore(badge, art.firstChild);
})();

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases