Xteink X3 / X4 · unofficial community tools

CrossInk Toolkit

Reading-stats merging and highlight migration tools for CrossInk. Supported formats vary by tool — see each tab.

Reverse-engineered, not official. These formats come from studying real device exports, not manufacturer documentation. Confidence varies by field — anything still uncertain is flagged on the book itself, below.

Back up your device's .crosspoint folder before copying anything back. Sessions, total time, and pages are written into both the global file and each book's own file.

1. Upload your stats files

Each format is detected automatically — just make sure you're grabbing the right file from each firmware:

CrossInk The per-book stats file — named stats_v5.bin, found inside that book's own folder (not the all-time global_stats.bin, and not a dated backup export).
INX The per-book stats file — named statistics.bin, found inside that book's own folder.
CPR-vCodex The stats_exported file from the firmware's exports folder — this one covers every book in a single file.
Drop files here, or click to choose
Multiple files at once, any mix of the formats above

2. Review, edit & preview

Select a book to edit its numbers. If it shows up in more than one uploaded file, check off which file(s) to use — check more than one to add their numbers together. Bar graphs below are only ever shown when real data exists; this is exactly what gets written into the downloaded file.

3. Global stats (auto-computed)

The all-time total across every book above — built automatically, nothing to fill in.

"Completed" counts books with a finished date set, above — the same way the device itself decides a book counts as read.

Combined bar graphs

Every book's real Time of Day / Day of Week bars, added together — books with no real breakdown aren't included. This is exactly what gets written into global_stats.bin's own bar-graph section.

4. Download

One global_stats.bin plus one stats.bin per book. Drop the global file at the root of your stats folder, and each book's file into that book's own cache folder.

Formats reverse-engineered from real CrossInk / CPR-vCodex / INX exports. No affiliation with the CrossInk, CrossPoint, or vCodex projects — use at your own risk, and always keep a backup of your SD card's .crosspoint folder.

1. The book

The .epub this book's highlights belong to, used to locate each highlighted passage and its chapter.

Drop the .epub here, or click to choose
Required

Optional: .crosspoint/epub_<id>/book.bin — CrossInk's own cached table of contents. When provided, chapter names come from this file exactly as CrossInk displays them, instead of being read from the epub's HTML.

Drop book.bin here, or click to choose
Optional

2. Existing CrossInk clippings

The .crosspoint/clippings/epub_<id>.bin file for this book. Required — the <id> in that filename can't be predicted or generated, only read from a file CrossInk already created, so there's no way to produce a correctly-named output without one. If the book has no highlights yet, make one directly in CrossInk first (even a single word), then use that file here.

Drop the existing clippings .bin, or click to choose
Required

Sorts the file's existing highlights by chapter, page, and word position, so CrossInk's own clippings list reads front-to-back. No epub or new highlights needed for this.

3. Highlights to import

Each format is detected automatically:

INX Annotation files, named s_*_p_*.bin, found inside that book's own ann folder — one file per highlight.
CPR-vCodex-Steroids The clippings file, named epub_*.bin — one file can hold multiple highlights.
Drop highlight files here, or click to choose
Multiple files at once, any mix of the formats above