Skip to content

Coming Soon

Seva Counter — Daily Toolkit for CSC & Jan Seva Operators

Seva Counter

Daily toolkit for CSC & Jan Seva Kendra operators

–:–today’s counter time
#000next token no.
58 tools · one counter

Everything you open ten times a day, kept in one place.

Photo & print tools, PDF utilities, shop registers, calculators, and direct links to every Aadhaar, PAN, banking and welfare portal a VLE touches daily — searchable from a single counter.

Tip: type a category word like “photo”, “pdf”, “aadhaar”, “bank” or “calculator”.

0Total tools
0Instant tools
0Govt portals

All tools

Seva Counter

A working toolkit built for the daily desk of a CSC / Jan Seva Kendra operator. Instant tools run right in this page — no upload to any server.

Instant tools
    Popular govt portals
    Good to know
    • Files you crop or convert stay on this device.
    • Daily register & token counter reset when you close the tab.
    • Always confirm current fees and formats on the official portal.
    Built as a starter toolkit — extend it with your shop’s own branding and services. 2026
    `); w.document.close(); w.print(); }); wrap.querySelector('#rgAddLedger').addEventListener('click', ()=>{ shopState.ledger.push({date, service, amount}); alert('Added to today\'s collection register.'); }); }); };// ---- Daily Token / Queue Number ---- TOOL_RENDERERS['token-queue'] = function(host){ host.innerHTML = `
    #${String(shopState.tokenNo).padStart(3,'0')}

    Next token number to hand out

    This counter lives in this browser tab only and resets when you close the page — useful as a simple stand-in for a paper token box during the day.

    `; host.querySelector('#tqNext').addEventListener('click', ()=>{ shopState.tokenNo++; host.querySelector('#tqDisplay').textContent = '#'+String(shopState.tokenNo).padStart(3,'0'); updateTokenPreview(); }); host.querySelector('#tqReset').addEventListener('click', ()=>{ shopState.tokenNo = 1; host.querySelector('#tqDisplay').textContent = '#001'; updateTokenPreview(); }); };// ---- Daily Collection Register ---- TOOL_RENDERERS['daily-register'] = function(host){ function render(){ const total = shopState.ledger.reduce((s,r)=>s+r.amount,0); host.innerHTML = `
    ${shopState.ledger.map((r,i)=>``).join('') || ''}
    #ServiceAmount
    ${i+1}${r.service}₹${r.amount.toFixed(2)}
    No entries yet today.
    Today's total₹${total.toFixed(2)}
    Entries${shopState.ledger.length}

    This register lives only in this browser tab and clears when the page is closed — copy the total into your permanent register at day end.

    `; host.querySelector('#drAdd').addEventListener('click', ()=>{ const service = host.querySelector('#drService').value.trim(); const amount = parseFloat(host.querySelector('#drAmount').value)||0; if(!service){ alert('Enter a service name.'); return; } shopState.ledger.push({date:new Date().toISOString().slice(0,10), service, amount}); render(); }); host.querySelectorAll('[data-idx]').forEach(b=>b.addEventListener('click', ()=>{ shopState.ledger.splice(parseInt(b.dataset.idx,10),1); render(); })); } render(); };// ---- Word & Character Counter ---- TOOL_RENDERERS['word-counter'] = function(host){ host.innerHTML = `
    Words0
    Characters (with spaces)0
    Characters (no spaces)0
    Sentences0
    `; host.querySelector('#wcText').addEventListener('input', (e)=>{ const t = e.target.value; const words = t.trim().length ? t.trim().split(/\s+/).length : 0; const sentences = t.split(/[.!?]+/).filter(s=>s.trim().length).length; host.querySelector('#wcWords').textContent = words; host.querySelector('#wcChars').textContent = t.length; host.querySelector('#wcCharsNoSpace').textContent = t.replace(/\s/g,'').length; host.querySelector('#wcSentences').textContent = sentences; }); };// ---- Aadhaar Masking Tool ---- TOOL_RENDERERS['aadhaar-mask'] = function(host){ host.innerHTML = `

    UIDAI guidance is to show only the last 4 digits on printed photocopies. This masks the number for display/printing only — it does not verify the number with UIDAI.

    `; host.querySelector('#amRun').addEventListener('click', ()=>{ const raw = host.querySelector('#amInput').value.replace(/\D/g,''); const wrap = host.querySelector('#amResultWrap'); if(raw.length!==12){ wrap.innerHTML = '
    Enter exactly 12 digits.
    '; return; } const masked = 'XXXX XXXX ' + raw.slice(8); wrap.innerHTML = `
    Masked number${masked}
    `; }); };// ---- PAN Format Checker ---- TOOL_RENDERERS['pan-check'] = function(host){ host.innerHTML = `

    This only checks the 5-letters + 4-digits + 1-letter pattern — it does not verify the PAN with the Income Tax Department.

    `; host.querySelector('#pcRun').addEventListener('click', ()=>{ const val = host.querySelector('#pcInput').value.trim().toUpperCase(); const ok = /^[A-Z]{5}[0-9]{4}[A-Z]$/.test(val); const wrap = host.querySelector('#pcResultWrap'); wrap.innerHTML = `
    Result${ok?'Valid format ✓':'Invalid format ✕'}
    `; }); };