Client-side spreadsheet protection

Escape Excel Online

Protect scientific identifiers and text-like values from Excel’s automatic type conversion without sending the source file to a server.

Local processing: the application reads the selected file through browser APIs, performs all classification and writing in memory, and creates local downloads.

What the tool protects

Spreadsheet software can reinterpret text that resembles another data type. That behavior is especially dangerous for accessions, sample identifiers, barcodes, plate positions, gene symbols, and exported measurements. The protection engine can flag and store these values as text:

Safer output choices

OutputBest usePreservation behavior
Protected XLSXOpening directly in Excel or compatible spreadsheet applicationsRisky selected values are written as explicit text cells; other matrix values are classified conservatively.
Patched XLSX/XLSMExisting unsigned OOXML workbooksOnly approved cell XML is replaced; unmodified package parts are checked byte-for-byte.
Patched CSV/TSVRepairing text while retaining original delimiters, quoting, line endings, and untouched bytesUTF-8 source values are replaced using recorded byte spans.
Legacy escaped TSVCompatibility with older Escape Excel workflowsUses ="text" for selected risky fields and is clearly labeled as a legacy output.

Why the tool does not simply rewrite every cell

A generic read-and-export library can normalize dates, numbers, formulas, XML ordering, quoting, delimiters, or workbook package metadata. This implementation starts by inventorying the format and reconciling independent readers. It then uses the narrowest available write path and verifies the result before exposing it for download.

Important boundaries

Encrypted packages cannot be inspected. Digitally signed OOXML workbooks are scan-only because modification invalidates the signature. Legacy binary .xls files are detected but not edited. Formula cells are reported and excluded from automatic replacement. Native raw-DEFLATE streams are optional: the package includes an independent JavaScript inflater for compressed XLSX/XLSM/ODS input and can write stored ZIP entries when native compression is unavailable.