Bubble sheet camera grader

Point your phone or webcam at a filled-in sheet, or choose photos you already took. The grader finds the sheet, reads every bubble, scores it against your answer key and draws the result on the photo.

Photos are processed in this tab and never uploaded. Nothing is stored unless you press “Save this key”, and then it stays in this browser on this device.

1. Choose the sheet layout

It must match the sheet you printed: same questions, choices, columns and paper size.

Reads one-page sheets only. A layout that runs to two or more pages is not supported yet. It reads the sheets made on this site; it has not been tested on any other sheet or any other grading app.

2. Enter the answer key

Type 1:A, 2:C, 3:B or a plain run of letters. Questions you leave out are not scored.

Saving puts the key in this browser’s own storage on this device. It is never uploaded. Nothing is saved unless you press the button.

3. Photograph or choose the sheets

Pick a layout and enter a key, then start the camera or choose photos.

For a reliable read: sheet flat and fully in frame, all four black squares visible, even light, no shadow across the page. Try one sheet first and check the rings before you grade a stack.

Session results

No sheets graded yet. Each sheet you grade is added here. It lives in this page only.

Sheets graded in this session
# Student ID Form Score % Blank Double Time Check Actions

Export before you leave: nothing is kept when you close the page. Change the key at any time and every score recalculates.

How the camera grader works

Every sheet made on this site has four solid black squares, one near each corner of the page. The grader looks for them first. Once it has found all four, it knows the sheet’s position, its tilt and how much it is leaning away from the camera, so it can work out where each bubble should be in your photo even if the picture was taken at an angle. It also checks the sheet is not upside down or turned sideways, by looking for the printed bubble outlines in each possible direction.

Next it measures each bubble. A printed letter inside a bubble puts a little ink in every one of them, so the grader compares each bubble with the same letter elsewhere on that sheet and asks how much of the empty space has been filled in. A solid mark stands well clear of that; a light pencil mark still does; an empty bubble does not. Everything happens in your browser, and the work is done in a fraction of a second for a normal photo.

Taking a good photo

  • Flat. A curled corner moves the bubbles away from where they were printed. Weigh the edges with a book or tape the sheet down.
  • All four squares in view. Keep fingers and clips off the corners, and leave a little desk showing around the page.
  • Even light. A lamp behind you throws your own shadow on the page. Overhead room light or a window to the side is easier.
  • Filling the frame. The more of the picture the sheet covers, the more pixels each bubble gets. Move closer rather than zooming in on a crop.
  • Steady. Let the camera focus and hold still when you capture. The grader warns you if the photo looks blurry.
  • One sheet at a time. For half-sheet and quarter-sheet slips, cut them apart and photograph one slip.

What counts as a mark

A bubble that is clearly filled counts. If a row has two filled bubbles it is reported as a double mark and scored wrong, because there is no way to know which one the student meant; that rule is yours to change by looking at the overlay. If one bubble is dark and the other is a faint smudge left by an eraser, the dark one wins. A mark too light to count is left out, and the sheet is flagged so you can look at it. Pencil and dark pen both read well; pale gel ink and yellow highlighter do not. The marking tips are short enough to read aloud before a test.

Print at 100% so the positions match

The grader reads the layout you pick, so the printed sheet has to match it. When you print, choose Actual size or 100% and switch off “Fit to page”, as the printing guide explains. A sheet shrunk by even a few percent still shows its corner squares, but the bubbles sit in different places than the layout expects. If the grader says the bubbles do not line up, a scaled print is the first thing to check. Build or choose the layout in the generator and use the same one here.

Test forms and Student IDs

If you gave scrambled versions of a test, print the sheets with the Test Form bubbles, type one key for each form, and the form each student filled in picks the matching key. A sheet with a bubble-in Student ID grid has its digits read into the table, which saves typing names. The ID shows a question mark where a column had two marks or a gap, so check those before you export.

Troubleshooting

  • “No answer sheet found.” Move back so the whole sheet is in the picture on a plain surface, and check the four black squares are not covered.
  • “Corner squares do not form the shape of this sheet.” You may have picked the wrong layout or paper size, or the photo includes parts of a second sheet.
  • “Too dark.” Turn on a light. A dim photo hides faint marks.
  • A warning about shadows or blur. Retake the photo; the result is shown but should be checked.
  • A wrong answer you think is right. Look at the ring on the photo, and at the key you typed. Check the form shown in the table.

After grading, turn the counts into letter grades with the test grade calculator. For other ways to grade, see grading methods compared.

Camera grader questions

Are my photos or my students’ names uploaded anywhere?

No. The photo is drawn into a canvas in your browser tab, read there, and shown back to you with colored rings. Nothing is sent to a server, no photo is saved, and the results table lives only in the open page. The one thing that can be stored is an answer key, and only if you press the button that saves it in your own browser.

Which sheets can the camera grader read?

Sheets made on this site, one page at a time. The grader works because it knows exactly where every bubble is printed on each layout, so pick the layout that matches the sheet you printed. It reads the one-page ready-made sheets and anything you build in the generator that fits on one page, including half-sheet and quarter-sheet slips. We have not tested it on sheets from any other source.

How should I take the photo so it reads correctly?

Lay the sheet flat on a plain, darker surface, hold the camera over it with the sheet filling most of the frame, and make sure all four black corner squares are visible and not covered by a finger. Use even light with no shadow across the page, and let the camera focus before you capture. The grader corrects for a tilt, but a sheet that is curled or in half shadow is a frequent reason for a warning.

What happens with double marks, light marks and erasures?

A row with two clearly filled bubbles is marked as a double and scored wrong, shown with dashed yellow rings. A row with no mark is blank. If one bubble is dark and another is only a light smudge left by an eraser, the dark one is counted. A faint mark that does not reach the threshold is not counted, but the sheet is flagged so you can look at it on the overlay and decide.

Can it read the Student ID and the test form?

Yes, when the layout has them. If the sheet has a bubble-in Student ID grid, the digits are read and put in the table, and a short number is read from the first columns. If it has Test Form bubbles, the filled form picks which answer key to use, and you can override it for any sheet in the table.

Why does it say the bubbles do not line up with the layout?

The sheet was most likely printed at a different size than the layout, for example shrunk by “Fit to page”, or a different layout or paper size is selected. Print again at 100% (Actual size), choose the matching layout, and check that none of the four corner squares is covered. A sheet that is bent will also shift bubbles away from their printed positions.

Can I keep the grades?

You can export them. The Export grades to CSV button builds a spreadsheet file in your browser with a row for each sheet. Nothing is kept after you close the page, so export before you leave. Student names in the export that begin with a symbol such as an equals sign are prefixed so a spreadsheet shows them as text and does not run them.

Does it work on a phone?

It is built for one. On a phone the Start camera button uses the rear camera when the browser allows it, and the Choose photos button lets you pick pictures you already took. The camera needs a secure page and your permission; if you decline, the photo option still works.