Bible file format help
Prepare your own Bible file. Copy the complete guide or the JSON example, or save the guide as a Markdown document.
1. Importing a file
For new files, use a UTF-8 .json file. Replace the example verse text with your own text. Choose File in Translation Management and review the name and language before installing. This Markdown guide is not a Bible translation file.
2. Minimal JSON
Bible is a required, case-sensitive key. Each row is [book ID, chapter, verse, text]. Chapters and verses are positive integers; text is a quoted string. An English book name such as Genesis can replace the numeric book ID. Partial books or chapters are supported.
{
"Bible": [
[
1,
1,
1,
"Verse text 1"
],
[
1,
1,
2,
"Verse text 2"
]
]
}3. Optional metadata
meta is optional; metadata is an alias. The current formatVersion is 1. id is the persistent identifier: an installed translation with the same ID is replaced. name is the display name, lang is the language code, and direction is ltr or rtl. Review these before installing. Use description for the title, intro for a longer introduction, author and year for publication details, and source and copyright for attribution. nameScheme accepts protestant, catholic, or kjv; declare the canon and verse numbering separately in canon. Other optional fields include version, markupPolicy for text symbols, and bookNames for book names.
{
"meta": {
"formatVersion": 1,
"id": "MY-BIBLE",
"name": "My Bible",
"lang": "en",
"direction": "ltr",
"nameScheme": "protestant",
"canon": {
"canon": "protestant66",
"versification": "kjv"
}
},
"Bible": [
[
1,
1,
1,
"Verse text 1"
]
]
}4. Merged verses
Store the text once at the first verse. Put sourceVerseGroups at the same root level as Bible. Do not add another text row for verse 14 in this example. Groups must be consecutive verses in one chapter and must not overlap.
{
"Bible": [
[
2,
25,
13,
"Combined text of verses 13 and 14"
]
],
"sourceVerseGroups": {
"2:25:13": [
13,
14
]
}
}5. Book IDs
These are fixed file IDs. Do not renumber existing books to match a Catholic display order. Additional Esther and Daniel passages belong to books 17 and 27; additional books use 67ā73. Book naming and canon are separate settings.
| ID | Book |
|---|---|
| 1 | Genesis |
| 2 | Exodus |
| 3 | Leviticus |
| 4 | Numbers |
| 5 | Deuteronomy |
| 6 | Joshua |
| 7 | Judges |
| 8 | Ruth |
| 9 | 1 Samuel |
| 10 | 2 Samuel |
| 11 | 1 Kings |
| 12 | 2 Kings |
| 13 | 1 Chronicles |
| 14 | 2 Chronicles |
| 15 | Ezra |
| 16 | Nehemiah |
| 17 | Esther |
| 18 | Job |
| 19 | Psalms |
| 20 | Proverbs |
| 21 | Ecclesiastes |
| 22 | Song of Solomon |
| 23 | Isaiah |
| 24 | Jeremiah |
| 25 | Lamentations |
| 26 | Ezekiel |
| 27 | Daniel |
| 28 | Hosea |
| 29 | Joel |
| 30 | Amos |
| 31 | Obadiah |
| 32 | Jonah |
| 33 | Micah |
| 34 | Nahum |
| 35 | Habakkuk |
| 36 | Zephaniah |
| 37 | Haggai |
| 38 | Zechariah |
| 39 | Malachi |
| 40 | Matthew |
| 41 | Mark |
| 42 | Luke |
| 43 | John |
| 44 | Acts |
| 45 | Romans |
| 46 | 1 Corinthians |
| 47 | 2 Corinthians |
| 48 | Galatians |
| 49 | Ephesians |
| 50 | Philippians |
| 51 | Colossians |
| 52 | 1 Thessalonians |
| 53 | 2 Thessalonians |
| 54 | 1 Timothy |
| 55 | 2 Timothy |
| 56 | Titus |
| 57 | Philemon |
| 58 | Hebrews |
| 59 | James |
| 60 | 1 Peter |
| 61 | 2 Peter |
| 62 | 1 John |
| 63 | 2 John |
| 64 | 3 John |
| 65 | Jude |
| 66 | Revelation |
| 67 | Tobit |
| 68 | Judith |
| 69 | Wisdom |
| 70 | Sirach |
| 71 | Baruch |
| 72 | 1 Maccabees |
| 73 | 2 Maccabees |
6. SDB and common mistakes
An .sdb is a SQLite file with a Bible table containing integer columns book, chapter, verse and a string column btext. Arbitrary SQLite, PDF, or Word files are not this format. Do not use comments or trailing commas in JSON. Missing Bible, a non-array verse list, string chapter/verse numbers, invalid meta, or overlapping verse groups cause import errors. Save the example as .json, not .md, to import it.