Exam paper assembler
Build an exam paper from your own question bank that hits an exact mark total, stays within a time limit and covers every topic and objective you ask for. You get printable versions and a separate answer booklet.
Up to 300 questions and 500,000 characters, each cell up to 2,000 characters. Marks are positive with at most two decimal places and the target total is at most 1,000. Minutes are whole numbers from 0 to 600, the time limit is 0 to 600 minutes, the topic minimum is 0 to 20 and you can print 1 to 10 versions. The search runs in the background on your device, stops after 200,000 steps and uploads nothing. Downloads: JSON report, CSV of every version, one printable HTML page per version and an HTML answer booklet. Start with the header row, then one question per line. Put quotes around any cell that contains a comma. Up to 500,000 characters. Review the settings before running.
Your result
How to use Exam paper assembler
- Paste your question bank as CSV with the header id,question,answer,marks,topic and, if you use them, minutes and objective.
- Set the total marks, the time limit, the minimum number of questions per topic and whether every objective must appear.
- Choose how many versions to print and keep the seed to reproduce the same paper later.
- Assemble, then download the printable versions, the answer booklet, the CSV and the JSON report.
Useful next steps
How the paper is chosen
Questions are first put in a seeded random order, with the questions needed for topic minimums and objective coverage moved to the front. A depth-first branch and bound search (Land and Doig, Econometrica 28(3), 1960, checked 2026-10-16) then tries to include each question in turn and returns the first set that reaches the total marks exactly and meets every constraint. Branches are cut when the remaining questions cannot reach the total, using an exact subset-sum table (Bellman, Dynamic Programming, 1957), or when a topic minimum, an objective or the time limit can no longer be met.
When no paper fits
If no set of questions meets every constraint, the report lists which ones fail: TOTAL_MARKS when no combination of marks adds up to the total, TIME_LIMIT with the shortest possible time for that total, TOPIC_MINIMUM with the topic and how many questions it has, OBJECTIVE_COVERAGE with the fewest marks that cover every objective when that is more than the total, or COMBINATION when each rule can be met alone but not together. The search stops after 200,000 steps and says so instead of guessing.
Versions and answers
Every version contains the same questions in a different order, so all versions have the same marks, time and coverage. Version 1 keeps the search order. Each version file ends with its own answer key on a new page, and the answer booklet lists the answers for every version in one file. Marks are kept as exact hundredths, so totals such as 0.5 plus 1.25 never drift.