Как сделать FB2 книгу: полное руководство по формату FictionBook

Чтобы сделать FB2 книгу, недостаточно переименовать текстовый файл — формат FictionBook представляет собой XML-документ со строгой структурой, и файл без обязательных тегов <description> и <body> большинство читалок просто не откроет. Создать корректный файл можно тремя путями: конвертацией из DOCX или TXT специальной программой, ручной разметкой XML или работой в визуальном редакторе FB2.

Ниже разберём устройство формата, сравним рабочие инструменты и покажем, как проверить готовую книгу на ошибки, чтобы она одинаково хорошо открывалась в FBReader, Cool Reader и на электронных книгах.

Что представляет собой формат FB2

FB2 (FictionBook) — открытый формат электронных книг на базе XML, получивший наибольшее распространение в русскоязычном сегменте. В отличие от PDF, он не хранит «картинку страницы», а описывает логическую структуру: заголовки, главы, эпиграфы, сноски, обложку. Читалка сама подстраивает текст под экран, шрифт и размер букв.

Файл FB2 — это единый XML-документ в кодировке UTF-8 (или UTF-16), состоящий из двух обязательных блоков:

  • 📋 <description> — метаданные: название, автор, жанр, аннотация, дата, язык;
  • 📖 <body> — тело книги с разделами <section>, абзацами <p> и заголовками <title>;
  • 🖼️ <binary> — изображения (обложка, иллюстрации), закодированные в Base64 прямо внутри файла;
  • 🔗 Сноски и примечания — обычно выносятся в отдельное тело <body name="notes">.

Именно строгость этой структуры — одновременно сила и слабость формата. С одной стороны, книга получается «чистой» и предсказуемо отображается везде. С другой — одна незакрытая скобка или недопустимый символ & без экранирования делают файл нечитаемым.

Способ 1. Конвертация из Word или TXT

Самый быстрый путь — написать текст в привычном редакторе и преобразовать его в FB2. Для этого существуют конвертеры: например, Calibre (универсальный комбайн для электронных книг), а также специализированные утилиты и онлайн-сервисы. Общий принцип работы одинаков: вы загружаете исходный DOCX, ODT или TXT, выбираете формат назначения FB2 и получаете готовый файл.

Чтобы конвертер правильно распознал структуру, исходный документ нужно подготовить. Главы должны быть оформлены стилями заголовков («Заголовок 1», «Заголовок 2»), а не просто жирным шрифтом — только тогда программа превратит их в разделы <section>. Ручные переносы строк, множественные пробелы и пустые абзацы лучше убрать заранее.

☑️ Подготовка документа перед конвертацией

Выполнено: 0 / 5

В Calibre конвертация выполняется через кнопку Преобразовать книги: в правом верхнем углу окна выбирается выходной формат FB2. На вкладке «Метаданные» проверьте автора и название — они попадут в блок <description> и будут отображаться в библиотеке читалки.

⚠️ Внимание: автоматическая конвертация нередко «теряет» эпиграфы, врезки и нестандартное форматирование. После преобразования обязательно откройте результат в читалке и пролистайте книгу целиком, особенно места со сложной вёрсткой.

Способ 2. Визуальные редакторы FB2

Если нужен контроль над каждым элементом, удобнее работать в редакторе, созданном специально для FictionBook. Такие программы показывают книгу в виде дерева разделов и не дают нарушить структуру XML — добавить недопустимый тег в неположенном месте просто не получится.

Известные инструменты этого класса — FictionBook Editor и FBE-подобные редакторы, а также модуль «Редактор FB2» в составе некоторых конвертеров. Типичный порядок работы выглядит так:

  • ✍️ Создайте новый документ и заполните метаданные: автор, название, жанр, аннотация;
  • 🗂️ Добавляйте разделы (главы) через структуру дерева, внутри — абзацы текста;
  • 🖼️ Вставьте обложку через функцию добавления изображения — редактор сам закодирует её в Base64;
  • 💾 Сохраните файл и проверьте его встроенным валидатором, если он предусмотрен программой.

Такой подход требует больше времени, чем автоматическая конвертация, зато результат получается чистым: без мусорных тегов, лишних стилей и битых ссылок, которые нередко оставляют универсальные конвертеры.

📊 Каким способом вы делаете FB2-книги?
Конвертирую из Word/TXT
Работаю в редакторе FB2
Пишу XML вручную
Только планирую попробовать

Способ 3. Ручная разметка XML

Для тех, кто хочет понимать формат «изнутри», полезно один раз собрать минимальный FB2-файл вручную в обычном текстовом редакторе — например, в Notepad++. Каркас документа выглядит так:

<?xml version="1.0" encoding="utf-8"?>

<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0">

<description>

<title-info>

<author><first-name>Иван</first-name><last-name>Петров</last-name></author>

<book-title>Название книги</book-title>

<lang>ru</lang>

</title-info>

</description>

<body>

<section>

<title><p>Глава 1</p></title>

<p>Текст первого абзаца.</p>

</section>

</body>

</FictionBook>

Здесь критичны три момента. Во-первых, файл сохраняется именно в кодировке UTF-8 — иначе кириллица может отображаться «кракозябрами». Во-вторых, специальные символы в тексте экранируются: & записывается как &amp;, знак < — как &lt;. В-третьих, каждый открытый тег должен быть закрыт — XML не прощает пропусков.

⚠️ Внимание: не редактируйте FB2-файлы в Microsoft Word — он добавляет скрытое форматирование и ломает XML-структуру. Используйте только «чистые» текстовые редакторы: Notepad++, VS Code или стандартный Блокнот.
Зачем нужен блок binary и как вставить обложку

Изображения в FB2 хранятся не отдельными файлами, а внутри XML в виде кода Base64 в теге binary. Картинка привязывается к месту в тексте через тег image со ссылкой на id этого блока. Вручную кодировать изображение неудобно — проще вставить обложку через редактор FB2 или конвертер, которые сделают это автоматически.

Сравнение инструментов для создания FB2

Выбор инструмента зависит от задачи: разовая конвертация, регулярная работа с книгами или тонкая доработка структуры. Ниже — сравнение основных подходов по ключевым критериям.

ИнструментСложностьКонтроль структурыПодходит для
CalibreНизкаяСреднийБыстрой конвертации из DOCX/EPUB
Редакторы FB2 (FictionBook Editor)СредняяВысокийСоздания книги «с нуля» и правки
Онлайн-конвертерыНизкаяНизкийРазовых задач с простым текстом
Ручная разметка XMLВысокаяПолныйИзучения формата и точечных правок

Отдельно стоит сказать об онлайн-сервисах: они удобны, но вы загружаете свой текст на сторонний сервер. Для неопубликованных рукописей и конфиденциальных материалов безопаснее использовать офлайн-программы.

Проверка и валидация готовой книги

Прежде чем считать книгу готовой, её нужно проверить. Минимальный тест — открыть файл в двух-трёх разных читалках: например, в FBReader на смартфоне и Cool Reader на компьютере. Если книга открывается, оглавление кликабельно, а обложка отображается — базовая структура в порядке.

Для более строгой проверки существуют валидаторы, которые сверяют файл со схемой FictionBook и указывают конкретные строки с ошибками. Типичные проблемы, которые они находят:

  • ❌ Незакрытые или вложенные не по правилам теги <section> и <p>;
  • ❌ Неэкранированные символы &, <, > в тексте;
  • ❌ Отсутствующие обязательные поля в <title-info>;
  • ❌ Битые ссылки на сноски или изображения с несуществующим id.

Если валидатор сообщает об ошибке в конкретной строке, откройте файл в редакторе с подсветкой синтаксиса и перейдите к ней — чаще всего это пропущенный закрывающий тег. После исправления прогоните проверку повторно, пока файл не станет полностью валидным.

Частые ошибки при создании FB2

Большинство проблем у начинающих авторов повторяются. Самая распространённая — сохранение файла не в той кодировке, из-за чего русский текст превращается в набор символов. Всегда проверяйте, что редактор сохраняет документ в UTF-8, а строка encoding="utf-8" в шапке файла соответствует действительности.

Вторая типичная ошибка — копирование текста напрямую из веб-страниц или PDF. Вместе с текстом переносятся невидимые символы, мягкие переносы и «мусорная» разметка, которые ломают XML. Перед вставкой такой текст лучше прогнать через Блокнот, чтобы снять всё форматирование, и только потом размечать заново.

Третья проблема — отсутствие оглавления. В FB2 оно строится автоматически из вложенных <section> с заголовками <title>. Если все главы свалены в один раздел без заголовков, читалка не сможет показать содержание, и навигация по книге станет невозможной.

Что делать, если читалка не открывает готовый файл

Сначала проверьте, что у файла расширение именно .fb2, а не .fb2.txt (Windows может скрывать расширения). Затем откройте файл в браузере — он покажет XML и укажет строку с синтаксической ошибкой, если она есть. Если браузер отображает документ корректно, а читалка — нет, проблема, скорее всего, в нарушении схемы FictionBook: прогоните файл через валидатор.

Часто задаваемые вопросы

Можно ли сделать FB2 из PDF?

Технически — да, но качество зависит от исходника. Если PDF содержит текстовый слой, конвертеры вроде Calibre извлекут текст. Однако вёрстка PDF часто превращается в набор разорванных строк и дефисов, которые придётся чистить вручную. Сканированные PDF без распознавания текста (OCR) конвертировать напрямую нельзя.

Как добавить обложку в FB2-книгу?

Проще всего — через редактор FB2 или конвертер: в Calibre обложка задаётся в метаданных книги и автоматически встраивается при конвертации. В ручной разметке изображение кодируется в Base64 внутри тега <binary> и привязывается к обложке через <coverpage> в блоке description.

Чем FB2 отличается от EPUB и что лучше выбрать?

Оба формата описывают структуру книги, но EPUB — это ZIP-архив из нескольких файлов (XHTML, стили, изображения), а FB2 — единый XML-документ. FB2 исторически популярен в русскоязычной среде и хорошо поддерживается отечественными читалками; EPUB — международный стандарт. Для русскоязычной аудитории и библиотек вроде «ЛитРес»-подобных каталогов FB2 остаётся рабочим выбором.

Почему в готовой книге вместо текста отображаются иероглифы?

Причина почти всегда одна — несовпадение фактической кодировки файла с указанной в заголовке XML. Откройте файл в Notepad++, проверьте кодировку в строке <?xml ... encoding="..."?> и пересохраните документ в UTF-8 через меню «Кодировки».

Обязательно ли заполнять все поля метаданных?

Нет, обязательный минимум невелик: автор, название книги и язык в блоке <title-info>. Однако жанр, аннотация и дата делают книгу удобнее для каталогизации в библиотеках читалок, поэтому заполнять их — хорошая практика, особенно если книгой будут пользоваться другие люди.