What Is the BeeRef .bee File Format and How Are Images Stored in It?

Updated

A .bee file is a SQLite database. Every reference image you add to a BeeRef board is embedded into that database as PNG or JPG data, stored in a sqlar table. Because the format is plain SQLite, you can extract your images without BeeRef at all, using the sqlite3 command line program.

What the format actually is

BeeRef saves your board as a single .bee file. Inside, it is not a folder of loose images or a proprietary binary blob — it is a standard SQLite database. That choice has a practical consequence: the file stays readable by ordinary SQLite tooling, independent of the BeeRef application.

The images themselves are embedded, not linked. When you add a reference image, its pixel data is written into the file as PNG or JPG. Moving or deleting the original image on disk does not break the board, and sharing a .bee file carries the images with it.

Where the images live inside the file

The embedded images are kept in a sqlar table. SQLite's sqlar extension is a convention for storing an archive — files with their names and contents — inside a SQLite database. BeeRef uses that table to hold your images.

You do not need to understand the table schema to get your images back. The archive layout is what makes the extraction command below work.

Extracting images without BeeRef

The documented method is the sqlite3 command line program:

sqlite3 myfile.bee -Axv

Here is what each part does:

  • sqlite3 — the SQLite CLI, which you need installed separately.
  • myfile.bee — the path to your BeeRef board file.
  • -A — selects the sqlar archive mode.
  • -x — extracts the archived files.
  • -v — verbose output, so you can see what is being written.

The expected result is that the images stored in the board are written out as files in the current working directory. Because the command relies only on SQLite and the sqlar convention, it works regardless of whether BeeRef is installed or even still available — the site notes this "always works independently of BeeRef."

Exporting from inside BeeRef

Export options inside the application are planned but not yet available. Until they arrive, the sqlite3 command above is the reliable way to get images out of a .bee file. If you only ever open boards in BeeRef, you never need to touch the database directly.

Practical implications

  • Backups are simple. A board is one file, so copying it preserves both layout and images.
  • The file can grow large. Since images are embedded rather than referenced, a board with many high-resolution references produces a correspondingly large .bee file.
  • You are not locked in. Any tool that can read SQLite or the sqlar table can reach your images, so the format does not trap your work inside one application.

If a .bee file ever fails to open, the site's troubleshooting guidance points to the debug log, reachable via Help → Show Debug Log, with the log file at C:\Documents and Settings\USERNAME\Application Data\BeeRef\BeeRef.log on Windows and /home/USERNAME/.config/BeeRef/BeeRef.log on Linux and macOS.