Everything you need to know about scanning books and finding reading levels.
The ISBN (International Standard Book Number) can be found in several places:
If the barcode won't scan, flip to the copyright page inside the front cover. The ISBN is always printed there in plain text.
Books often have multiple ISBNs because each format gets its own number:
If one ISBN doesn't find reading levels, try another! The hardcover edition often has better reading level data than newer paperback reprints.
ISBN-13 is the current standard (13 digits, starts with 978 or 979). ISBN-10 is the older format (10 digits, used before 2007).
QuickScan accepts both formats. If you have an ISBN-10, you can enter it directly - we'll convert it automatically. Most barcodes use ISBN-13.
Some books don't have ISBNs:
Unfortunately, QuickScan requires an ISBN to look up book data. For books without ISBNs, you may need to check reading levels manually through AR BookFinder or Scholastic Book Wizard websites.
If a book isn't found, it's usually one of these reasons:
Look inside the book for a different ISBN (hardcover vs paperback). Different editions often have different data availability.
If the barcode won't scan:
On iPhone/iPad: Go to Settings in the app and toggle "Use Front Camera" under the Camera section.
On Mac: Go to Settings and select your preferred camera from the dropdown. This is helpful if you have an external webcam.
QuickScan shows up to five reading levels for a book. Some come straight from the publisher. The ones QuickScan estimates are marked with ≈.
4.4). QuickScan looks this up. It is never estimated.680L). QuickScan looks this up. It is never estimated.R). QuickScan looks it up from Scholastic when Scholastic has it. When Scholastic doesn't, QuickScan estimates the level from ATOS or Lexile and marks it ≈.40). QuickScan reads it from Scholastic's published GRL-to-DRA chart whenever it has a looked-up GRL. If the GRL was estimated, the DRA is too, and both are marked ≈. It may differ from the DRA printed on a particular edition.4). Looked up when a book data source has one; otherwise estimated by QuickScan and marked ≈.Alongside those five, QuickScan also shows Interest Level — the publisher's target-audience band (LG, MG, MG+, UG) — and, when available, the AR quiz number, AR points and word count. Those are publisher data about the book rather than reading levels QuickScan estimates, which is why they aren't counted among the five.
Every level QuickScan estimates is marked with ≈ — so ≈R is a Guided Reading Level QuickScan estimated, and a plain R is one it looked up. The mark appears on the book detail screen, in your scan history, on the home screen widgets and in the PDF export, and it is only ever applied to a value the app estimated. A level a publisher or Scholastic assigned is never marked, however high the letter is.
The mark is text rather than decoration, so it scales with Dynamic Type along with the value beside it. VoiceOver does not depend on the glyph: it speaks the qualifier aloud, reading an estimated level as “Guided Reading Level, estimated, R”.
The CSV export does the same job differently. Instead of the ≈ glyph, it carries a Source column beside each of DRA, GRL and Grade, naming in words where that value came from. See What do the “Source” columns mean? below.
ATOS and Lexile are never marked, because QuickScan never estimates them — they are the values it reads from, not values it estimates.
When QuickScan estimates a Guided Reading Level, it shows a band of letters — ≈G-I rather than ≈H — and the DRA beneath it is read off that same band, so the letter and the number never disagree about the same book.
The band is what QuickScan is willing to claim. A single letter would say the app had picked that letter out of the alphabet on purpose; the band says the book sits in this stretch of the alphabet, which is the honest shape of a converted value. A level QuickScan looked up is never banded — a publisher's letter is shown exactly as the publisher assigned it.
Above P, QuickScan doesn't estimate a Guided Reading Level: where Scholastic has no level for a longer chapter book, QuickScan shows none rather than a letter it can't stand behind.
You may still see the other levels for that book — the ATOS level, the Lexile measure and the grade — with an em dash (—) where the Guided Reading Level would be.
Some levels will change. QuickScan now finds many more of Scholastic's own levels, and its estimates used to run a letter or two high. Levels from Scholastic, a publisher, or your own list are kept.
Three things account for a book that reads differently than it did before:
Nothing changes until you choose Update Levels & Covers. When a book's level does move, its detail screen shows what the level was before, with Keep previous level to put it back.
Not every book has been assessed by every reading level system:
When no source has a Guided Reading Level, DRA or grade for a book, QuickScan estimates one from the ATOS level or Lexile measure it does have, and marks it ≈. Above the ceiling described above, it estimates no Guided Reading Level at all and shows none.
Two different things happen, and QuickScan tells you which one produced each level.
Looked up. The AR (ATOS) level, the Lexile measure and Scholastic's Guided Reading Level come from book data sources — AR BookFinder, Scholastic and Lexile among them — queried by ISBN when you scan. QuickScan does not keep its own database of books.
Estimated. Where Scholastic has no level, QuickScan uses Renaissance Learning's published ATOS-to-GRL chart. Renaissance describes that chart as giving “reasonable approximations in most cases”, and notes that a book's actual ATOS value “might not correspond exactly to the chart”. When a book has a Lexile measure but no ATOS value, QuickScan estimates the level from its own Lexile-to-GRL ladder instead. Fountas & Pinnell do not publish a chart for converting ATOS or Lexile into a Guided Reading Level, and they consider one invalid: a letter describes more about a book than how hard the words are.
An estimated level is a starting point for choosing a book, not a substitute for a level a publisher assigned. QuickScan never replaces a level it looked up with one it estimated, and every level it estimated is marked ≈.
Because levels are queried when you scan rather than stored, a book data source that is temporarily unavailable shows up as a missing level rather than a wrong one. QuickScan's Settings screen has a Book Level Source Health section showing the current status of those sources.
QuickScan can level a whole library that's handed off from our companion app, Bookshelf Scanner. Instead of scanning each book one at a time, QuickScan receives the list of books, looks up each one's reading levels using its usual sources, and sends the levels back — so an entire classroom library can be leveled in a single pass.
Yes. QuickScan shows progress as it works through the list, so you always know how far along it is. If the process is interrupted — for example, you leave the app — it picks up where it left off. Books that were already leveled aren't looked up again.
Batch leveling uses the same reading level sources as a normal scan, so some books may not have every level available. An active QuickScan subscription is required to look up reading levels.
Yes! Your scan history automatically syncs across all your devices (iPhone, iPad, and Mac) via iCloud. Make sure you're signed into the same iCloud account on all devices.
Swipe left on any book in your history list to reveal the delete button, then tap Delete.
The Grade Level filter in History shows books that match the selected grade using the best available data for each book. It checks three sources in order:
This means books appear in your filtered results even if they don't have an explicit grade, as long as their ATOS or Lexile level maps to the selected grade.
Grade conversions from ATOS and Lexile are approximate. Different reading level systems don't always agree on exact grade equivalents, so use these as a starting point for book selection.
Session mode keeps the camera open between books so you can clear a whole stack in one go. Turn it on with the stacked-squares button inside the scanner, then a running session-count badge tracks how many books you've leveled in the current session.
QuickScan is free to use with a daily scan limit. When you reach it, an upgrade screen appears — upgrading in the app unlocks unlimited scanning. Your already-scanned books and the current session are preserved when you upgrade.
Upgrades are handled through your Apple Account. You can manage or cancel any time in Settings → your name → Subscriptions.
The Schools edition is fully unlocked — there's no scan limit, no in-app purchases and no subscription. This section applies to the standard QuickScan edition on the App Store.
The Gap Report shows how your leveled library spreads across reading-level bands, so you can see where you're well-stocked and where you're short on books. It's built entirely from the books already in your History.
The Gap Report shows aggregate band counts only. It never includes student names or individual book titles.
You can view your library's level distribution and gaps for free. Exporting the Gap Report PDF is an upgrade feature in the standard QuickScan edition; it's included in QuickScan for Schools.
Exports include:
CSV exports open in Excel, Google Sheets, or any spreadsheet app. PDF exports are formatted for printing with the app name and date.
Every CSV QuickScan writes begins with this header row, and the columns appear in this order:
Title,Author,ISBN,ATOS Level,Lexile,DRA,DRA Source,GRL,GRL Source,Grade,Grade Source,Interest Level,AR Points,Word Count,AR Quiz #,Scanned Date
An exported CSV re-imports exactly. An import file you build yourself does not have to match this row column-for-column — see What should the import file look like? below. What each column holds:
4.4).680L).LG, MG, UG).A blank cell means QuickScan has no value for that column. Title, author, and ISBN are required on import; every other column is optional.
Before version 6.4 the export had thirteen columns, without the three Source columns. A file in that older shape still imports whole: QuickScan matches columns by name, never by position, so the three columns it doesn't find simply go unasked-for. Nothing shifts and nothing lands in the wrong field.
Three of the reading levels — DRA, GRL, and Grade — are each followed by a Source column that says where that value came from, using the same wording the app shows on screen:
A blank Source cell means there is no level in that column to attribute. It does not mean the level is doubted: a level carried over from an earlier version of QuickScan is not blank — it reads From an earlier version.
These columns are there so a level QuickScan estimated is never mistaken for one a publisher assigned. If you are sorting or filtering a class list, the Source column beside each level tells you which values to check against your own records first.
The ≈ mark you see on screen is not repeated in the CSV cells — the Source column carries that information in words instead, so the level itself stays a plain value your spreadsheet can sort and filter.
Yes. You can import a CSV file to add many books at once — ideal for moving a library between devices, restoring from a backup, or bulk-loading a classroom or school collection without scanning each book.
The Import button is always available — you don't need any books in your library first, so it's the quickest way to bring an existing collection into a new install. The importer only accepts comma-separated .csv files — with one exception: a tab-separated export from BookScanner is recognised and imported as-is. Spreadsheets such as .xlsx or .numbers must be saved or exported as CSV first.
An imported row keeps the levels exactly as you supplied them, and their Source column reads Imported. To fill in the levels and cover art for books that came in without them, tap Update Levels & Covers.
Yes. QuickScan recognises the export BookScanner writes and imports it as-is — you do not have to reformat it, rename a column, or convert it to anything first. Pick the file BookScanner gave you and QuickScan takes it from there.
Every row comes across — including the books BookScanner itself had no ISBN for, which simply arrive without one. Your ATOS levels, AR quiz numbers, AR points, word counts, interest levels and Lexile measures come across exactly as they were.
BookScanner did not record DRA, GRL or Grade Level, so QuickScan estimates those three from the ATOS level and marks them ≈. Tap Update Levels & Covers and QuickScan looks them up properly, replacing each estimate with a published value where one exists. These books show Brought over from BookScanner in History in place of a scan date.
The easiest way to get a correctly formatted file is to export from QuickScan first — an exported CSV re-imports exactly.
If you are building the file yourself, the rule is simpler than it looks: QuickScan matches columns by name, not by position. Your file needs a header row, and it needs Title, Author and ISBN somewhere in it. Everything else is optional, the order doesn't matter, and extra columns QuickScan doesn't recognise are ignored rather than treated as an error. So this is a valid import file:
Title,Author,ISBN Charlotte's Web,E. B. White,9780064410939 The Giver,Lois Lowry,9780544336261
To bring reading levels in as well, add any of the columns listed under What columns does the CSV have? above, spelled exactly as they appear there. A few details worth knowing:
Unknown) for a value you don't have.4.4); Word Count and AR Quiz # are whole numbers; Lexile, DRA, GRL, Grade and Interest Level are text."Lowry, Lois".Importing never overwrites and never creates duplicates. Any row whose ISBN already exists in your library — or appears more than once in the same file — is counted as Skipped and left unchanged. Only new ISBNs are added. The summary after each import tells you exactly how many books were Imported, Skipped (already present) and Failed (couldn't be read).
The separate Restore from a backup control on the Import screen updates the books you already have from the file, rather than skipping them — that's how you put reading levels back onto a library you've already rebuilt. It never deletes a book.
Every book from your earlier BookScanner history is in the History tab, alongside everything you scan from now on. Those books read Brought over from BookScanner where a scan date would normally sit, so you can tell at a glance which ones came with you.
History's filter sheet has a toggle for exactly those books, so you can look at what came over on its own whenever you want to — and turn it off again to see the whole library.
No. If you owned the earlier BookScanner, there is nothing to buy — this update installs in place of the version you had, under the same App Store record, and everything BookScanner did is included.
Your ATOS and Lexile values came across exactly as BookScanner had them. Some of the other levels arrive carrying the ≈ mark instead — About the levels under Can I import my BookScanner library? above says which ones, and why.
Tapping Update Levels & Covers is what fills those in properly.
This version needs iOS 18.0 or later. On an earlier iOS, the BookScanner already on your iPhone or iPad keeps working exactly as it is and your books stay on the device. Nothing is deleted, and nothing is taken away from you by staying where you are.
To bring those books to a newer device:
Good lighting is especially important for webcam scanning. Position your book in a well-lit area for best results.
Yes! If you have multiple cameras, go to Settings > Camera to select which one to use. External webcams often provide better quality than built-in cameras.
Widgets are a premium feature available with a QuickScan subscription. Tap the widget to open the app and subscribe to unlock widgets.
This means we couldn't find the book in any of our data sources. Try:
This indicates a network issue. Try:
QuickScan requires an internet connection to look up book data.
To enable camera access:
Our support team is here to help you get the most out of QuickScan.
Contact Support