KJV, Reina-Valera 1909 and Louis Segond 1910 are public-domain texts. Use the ‹ › arrows or ← → keys to turn chapters; press / to jump to search. Your favourites and notes are saved on this device, and sync to your account when you sign in.
KJV, Reina-Valera 1909 and Louis Segond 1910 are public-domain texts. Use the ‹ › arrows or ← → keys to turn chapters; press / to jump to search. Your favourites and notes are saved on this device, and sync to your account when you sign in.
Type an exact word and search. Add *, logic, scope or analysis only when the question needs it.
Just type a word: grace. A bare word matches the exact normalized token — not longer words. Accents don't matter: eternel = éternel, senor = señor.
*Add a trailing * to match words that begin the same way: grace* also matches graceful and gracious, including the exact token itself. If an exact search finds very little, BibleSQL offers a one-click broaden to grace*. The * is the only wildcard, and only at the end of a word.
| Both words | faith AND hope |
| Either word | grace OR mercy |
| Exclude something | love AND NOT law |
| Combine alternatives | (grace OR mercy) AND truth |
| Combine and exclude | (grace OR mercy) AND NOT law |
Parentheses matter: use ( ) to say which parts belong together. NOT needs a positive search to filter: faith AND NOT works works, NOT works does not.
Add IN to narrow the search: a book faith IN Romans, one chapter born IN John 3, a chapter range spirit IN John 14-16, a passage kingdom IN Matthew 5:1-12, a testament covenant IN OT, or a named section kingdom IN GOSPELS.
A testament (OT, NT) and a section (such as GOSPELS or TORAH) are different kinds of scope. See the Objects tab for the complete, definitive list of every testament, section, book and translation you can name.
Quote adjacent words in order: "holy spirit". A phrase word can take a trailing *: "holy spirit*" means exact holy then a token beginning with spirit. Find words close together, either order, with NEAR(faith, works, 5) (bare terms are exact; use NEAR(faith, work*, 5) for a prefix), where 5 is how many token positions apart they may be.
Add an analysis clause to count and rank instead of listing verses: grace IN NT GROUP BY BOOK ORDER BY COUNT DESC LIMIT 10 counts matching verses by New Testament book, ranks the books and keeps the top ten. The Analytics tab goes deeper.
Use the translation controls beside the search box to pick which versions to search. BibleSQL matches terms within one translation, so grace AND truth looks for both words in the same version, not one from English and one from French. For multilingual discovery, use alternatives: light OR lumiere OR luz.
Want fuller, requirement-led examples? The Real Questions tab works through a progressive set of research scenarios.
BibleSQL 1.3 changed one thing on purpose: a bare word is now exact (it used to mean starts-with). Write grace* for starts-with. The old WORD(), STARTS() and PHRASE() forms are retired — write grace, grace* and "holy spirit" instead.
One entry per capability, in the order you learn them: Match, Combine, Scope, Measure, Group, Sort, Output.
graceA bare word matches only the exact normalized token grace — not longer words. This is the default.
grace*A single trailing * matches tokens beginning with grace (graceful, gracious), including the exact token. It is the only wildcard: no leading, middle, suffix or contains patterns.
"holy spirit"Double quotes match 2 to 6 normalized tokens as complete words, adjacent and in order, within one verse (stopwords keep their position). A phrase word may take a trailing *: "holy spirit*" or "king* of heaven".
NEAR(faith, works, 5)Two terms within a token distance of 1 to 20, in either order, inside one verse. Distance is the absolute gap between positions (adjacent = 1). Bare terms are exact; add * for a prefix: NEAR(faith, work*, 5).
Every match shares the same accent and case folding (eternel = éternel) and never crosses a verse boundary.
| Operator | Meaning |
|---|---|
AND | Both expressions must match the same verse |
OR | At least one expression matches |
NOT | Exclude verses containing an expression; must follow a positive match, e.g. love AND NOT law |
( ) | Control evaluation order |
Precedence, strongest first:
( )NOTANDORIN (scope)GROUP BY, ORDER BY, LIMITexpr IN <scope> restricts the whole preceding expression to one region. Accepted scope types: TESTAMENT, SECTION, BOOK, CHAPTER (including chapter ranges) and PASSAGE (a verse or verse range in one book).
See the Objects tab for every accepted testament, section, book and passage shape. Because IN binds after AND and OR, it scopes the complete expression before it: kingdom AND faith IN GOSPELS scopes both words to the Gospels.
| Operator | Measures | Form |
|---|---|---|
| Grouped expression | Matching verses (preferred) | grace GROUP BY BOOK |
COUNT_VERSES | Matching verses, explicit | COUNT_VERSES(faith AND works) |
COUNT | Matching occurrences of one term or phrase | COUNT(grace), COUNT(grace*) |
A plain grouped expression counts matching verses: it is shorthand for COUNT_VERSES(...). COUNT(...) counts occurrences of a single exact term, prefix pattern or phrase (not a Boolean expression, NOT, or NEAR), so one verse can contribute several. Matching verses, occurrences and the number of groups are three different figures, and the result always says which. The Analytics tab walks through choosing a measure.
GROUP BY <dimension> breaks a measure down by container. Dimensions: BOOK, CHAPTER (composite book and chapter), SECTION, TESTAMENT (OT or NT) and TRANSLATION.
GROUP BY SECTION uses the reviewed named sections, plus a No named section group for books in no section (Acts and Hebrews). No book is ever dropped. There is no multi-dimensional grouping.
ORDER BY <field> [ASC | DESC]. Verse fields: CANONICAL (Genesis to Revelation, the default for verses), BOOK, TRANSLATION, FREQUENCY (how many of your positive words a verse holds). Grouped fields: COUNT (group size) and LABEL (group name, alphabetical).
FREQUENCY and COUNT default to DESC, largest first. Grouped and counted output is ranked by COUNT DESC unless you say otherwise. FREQUENCY is not valid after GROUP BY.
LIMIT n keeps only the first n rows or groups, applied last: after matching, after any grouping or counting, and after sorting. Ungrouped scalar counts do not accept LIMIT.
BibleSQL is a sandboxed Scripture query language inspired by SQL, not access to a database. The only wildcard is one trailing * on a word (grace*); raw SQL, subqueries, single-quoted strings and ? % _ [ ] = are not accepted. Legacy WORD(), STARTS() and PHRASE() are retired — write grace, grace* and "holy spirit".
A search finds matching verses. Analytics changes how those matches are counted, grouped, ranked and read. Choose a measure first, then a dimension.
How many distinct verses satisfy the search. The natural grouped form.
grace GROUP BY BOOKHow many term or phrase hits were found. One verse can hold several. Ask with COUNT(...).
COUNT(grace) GROUP BY BOOKHow those verses or occurrences spread across books, chapters, testaments or translations.
... GROUP BY TESTAMENTBreak the measure down GROUP BY BOOK, CHAPTER, SECTION, TESTAMENT or TRANSLATION. SECTION groups by reviewed named section, with a No named section group for Acts and Hebrews. These are the dimensions the engine supports, and no others are offered.
Verse lists sort by CANONICAL order by default; ORDER BY FREQUENCY DESC brings the strongest matching verses first. Grouped and counted output is ranked by group size, largest first; add ORDER BY LABEL for alphabetical, or ASC to reverse. LIMIT keeps only the top rows or groups.
NOT filter the results but never increase a positive-match count.Twenty reusable analytical patterns, from one concept to a full research query. Try → loads a recipe into the editor without running it. Explain runs it and opens the query's plain-language plan.
Each scenario starts from a real research need, then shows a runnable query and what the result does (and does not) prove. Filter by task or difficulty. Try → drops the query into the editor without running it.