excel

Check Excel files
in the browser, before you take them.

82excel is a free (MIT) library that reads xlsx, xls and csv files and checks them against header rules. Drop your own file into the checker below: it reports passwords, corruption, format and column names right away.

Free online Excel checker

Files are not uploaded. They are checked only inside this browser.

One script line on your site

<script src="https://cdn.jsdelivr.net/npm/82excel@0.1.0/dist/cdn/82excel.min.js"></script>

Alternative: https://82excel.com/cdn/v0.1.0/82excel.min.js · version 0.1.0 · install from npm

LightOne CDN file (the Excel82 global, <excel-82> and English and Korean messages) is 28.8 KB gzipped. The only runtime dependency is fflate.
Files and their contents stay putFiles are read in the browser only. A file goes to a server only when you turn on the upload attribute, and then only to your own server.
Password and corruption detectionPassword-protected xlsx/xls, Excel's built-in password, corrupted and mislabeled files come back as error codes, never as exceptions.
EUC-KR and templatesUTF-8, UTF-16 and EUC-KR CSV are detected; Korean headers are compared NFC-normalized. Offer a headers-only template (csv or xlsx) for download.

Two ways to use it

1. Functions only (script)

Call Excel82.check / inspect / readRows yourself. No UI, just the result object; the same functions run in Node.

<script src="https://cdn.jsdelivr.net/npm/82excel@0.1.0/dist/cdn/82excel.min.js"></script>

<input type="file" id="f">
<script>
  document.getElementById('f').onchange = async (e) => {
    const r = await Excel82.check(e.target.files[0], {
      headers: ['Name', 'Phone', 'Amount'],
    });
    console.log(r.ok, r.errors);
  };
</script>

2. The drag-and-drop form component <excel-82>

The checker above is this component. Rules are HTML attributes, and it plugs into form submission and upload.

<script src="https://cdn.jsdelivr.net/npm/82excel@0.1.0/dist/cdn/82excel.min.js"></script>

<form action="/save" method="post">
  <excel-82 name="excel" required headers="Name,Phone,Amount" min-rows="1"
            accept="xlsx,xls,csv" upload="/api/upload"></excel-82>
  <button>Submit</button>
</form>

Add it to the screen that takes files.

No sign-up, no key. MIT licensed, free for company sites too.

Get started