Убрать UTF-8 BOM из CSV
Первая колонка выглядит как 'ID' вместо 'ID'? Это UTF-8 BOM — три невидимых байта, которые оставляет большинство экспортёров. Мы их срезаем, и заголовок снова читается чисто.
Невидимый BOM убран
До
ID,Name,Age
После
ID,Name,Age
Перетащите CSV-файл сюда
или нажмите, чтобы выбрать
Исправление «bom» будет обнаружено автоматически.
Что это и почему важно?
BOM (Byte Order Mark) — невидимый символ, который некоторые программы (Notepad, старые версии Excel) тихо добавляют в начало файла. Его не видно, но он есть — и ломает всё.
Типичный симптом: первый заголовок колонки выглядит странно. Вместо 'ID' или 'Name' — искажённая версия с непонятными символами спереди. Импорт либо отвергает файл, либо первая колонка перестаёт матчиться в lookup-ах.
CSV First Aid находит этот невидимый символ и убирает его. Данные не трогаем — только скрытый префикс.
Как это работает
- 1Перетащите CSV в зону выше. Файл остаётся в браузере — ничего не загружается.
- 2CSV First Aid проверяет начало файла на этот невидимый символ. Если найден — в диагнозе 'BOM detected'.
- 3Применить, затем Скачать. Невидимый префикс ушёл.
FAQ
Удаление BOM сломает файл?
Нет. BOM — это метаданные, не данные. Удаление не меняет ни одного значения ячейки. UTF-8 прекрасно работает без BOM — стандарт Unicode прямо рекомендует его не использовать для UTF-8.
Как узнать, есть ли BOM в моём CSV?
Открыть в hex-редакторе и посмотреть, первые ли байты EF BB BF. Или просто бросить файл сюда — CSV First Aid скажет сразу.
Зачем Excel добавляет BOM?
Когда делаете 'Сохранить как → CSV UTF-8' в Excel, он добавляет BOM, чтобы сам же Excel потом определил кодировку при открытии. Другие тулы этого не ждут — отсюда классическая проблема с искажённым первым заголовком.
Работает ли с UTF-16 BOM?
Сейчас обнаруживаем и убираем только UTF-8 BOM (EF BB BF). UTF-16 в CSV-пайплайнах редкость; если нужна поддержка — сконвертируйте сначала в UTF-8.
Похожие инструменты
Починить кодировку CSV
Видите é, ü, ö вместо é, ü, ö? Файл сохранили в одной кодировке, прочитали в другой. Мы определяем, в какой именно, и конвертируем в UTF-8 — Müller снова выглядит как Müller.
Убрать невидимые символы из CSV
NBSP, zero-width joiners, залётные control-байты — вы их не видите в Excel, но VLOOKUP видит и не матчит. Сканируем каждую ячейку и убираем то, чего не должно быть.
CSV Validator
Перед COPY FROM или pd.read_csv() — прогнать сюда. 14 проверок: кодировка, BOM, разделитель, кавычки, число колонок, дубли, невидимые символы — каждая с номерами строк, которые её вызвали.