Clean

Strip invisible UTF-8 BOM characters (0xEF 0xBB 0xBF) that corrupt column headers

Remove the hidden 3-byte BOM sequence that breaks database imports and pandas scripts.

🛡️ Your rows never leave your browser.
Why Onfyt: Inspects raw Uint8Array byte signatures directly in the browser to strip BOMs without re-encoding or corrupting non-ASCII text.

Interactive Sample Data

idusernamestatus
101grace_kactive
202peter_npending
303david_msuspended

How this tool works

Excel's "Save As CSV UTF-8" option silently prepends three bytes—0xEF 0xBB 0xBF—to the start of the file. This sequence, the UTF-8 Byte Order Mark, is invisible in Excel, invisible in most text editors, and catastrophic for every downstream parser that wasn't written to expect it. PostgreSQL's COPY command, Python's csv.reader, and pandas.read_csv all ingest it as part of the first column header: the column named id arrives as \uFEFFid, breaking every SQL query that references it by name. When software like PostgreSQL, Python pandas, AWS Redshift, or MySQL reads a CSV containing a BOM, the parser treats those three bytes as part of the first column's name. Instead of recognizing the column 'id', the system creates a column named '\ufeffid' or 'id'. Any SQL query, Python script, or API pipeline that references 'id' fails immediately with a 'Column not found' exception. DataFix inspects the initial byte array of your file. If the 0xEF 0xBB 0xBF signature (or UTF-16 BOM variants) is detected, the tool slices away the extraneous preamble without touching any data rows. Stripping the initial 0xEF 0xBB 0xBF byte sequence allows command-line utilities like awk and grep to read header names without syntax errors.

Things that usually go wrong

  • The BOM only appears at the very start of the file — there is no risk of stripping data.
  • If no BOM is present, the output is identical to the input.

Edge cases we tested

🧪 UTF-8 BOM (0xEF 0xBB 0xBF)

Stripped completely, converting '\ufeffid' to clean 'id'.

🧪 Files that already lack a BOM

Left intact without altering any characters or line endings.

🧪 UTF-16 Little Endian BOM (0xFF 0xFE)

Detected and converted to standard UTF-8 without preamble.

Frequently Asked Questions

What is a BOM?

A Byte Order Mark is a hidden \uFEFF character that Microsoft Excel adds to UTF-8 CSV files. Most parsers outside Microsoft treat it as a stray character in the first column header.

How does the BOM cause problems?

The first column header is read as '\uFEFFid' instead of 'id', breaking any code that looks up columns by name.

Related tools

Clean

Split Full Name into First and Last

Separate full name columns into dedicated first_name and last_name columns in CSV and Excel spreadsheets.

Open Tool →
Clean

Combine First and Last Name

Merge separate first and last name columns into a single clean full_name column, trimming extra spaces.

Open Tool →
Clean

Remove Duplicate Rows

Eliminate duplicate rows across your entire dataset or based on specific unique key columns.

Open Tool →