Free Tool

Math Facts Sheet Generator

Generates a printable sheet of 100 arithmetic problems plus a matching answer key — the same timed-drill format most of us did in elementary school, but configured exactly how you want it.

use if something looks stuck
submit settings first, then generate

Current Settings

What your next sheet will use.

Operations allowed ×
First Integer Values 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Second Integer Values 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Compiling your sheet — this takes a couple seconds. The page will show your download when it's ready.
remember to submit before generating

Change Settings

Form for submitting new settings.

Use the form below to change the settings above. Remember to click the button at the end to send the settings — the Current Settings panel above will report back how it was interpreted. Then click Generate to actually get the PDF.

For addition and multiplication: the first addend or multiplicand. For subtraction and division: the subtrahend or divisor. Use commas and hyphens — e.g. 1-12 or -5-5.

For addition and multiplication: the second addend or multiplicand. For subtraction and division: the difference or quotient. Leave blank to match First Integer Values.

the edge cases are documented here

Explanation

Entering values and understanding the output.

How to use this tool

First enter the settings you want and press "Submit settings." This should update the Current Settings panel above. If it agrees with what you want, press "Generate pdf with above settings." After waiting a couple seconds, a PDF should be linked at the top of the screen.

Only a single PDF may be generated per user at a time. To generate multiple PDFs, save the previous one to your device before generating another.

Entering Integer Values

The input for First Integer Values and Second Integer Values is what you'd guess for addition and multiplication: you're specifying the first and second addend or multiplicand. For subtraction and division, you're instead specifying it as (sum) − (first) = (second) — the first integer corresponds to the subtrahend (or divisor) and the second to the difference (or quotient).

To enter integer values, use only digits, commas, and hyphens. Commas separate numbers or ranges. Hyphens represent either a negative sign or a range. All other characters are ignored. Some examples:

  • 1-12: Represents 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.
  • -5-5: Represents -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5.
  • 3--2: Represents 3, 2, 1, 0, -1, -2.
  • -2--3,3-5,-1-1: Represents -2, -3, 3, 4, 5, -1, 0, 1.

If an input is interpreted as invalid for the first integer, then 1-12 is chosen. If an input is interpreted as invalid for the second integer, it takes the same value as the first integer.

As an advanced usage note, you can specify the same integer multiple times. This increases the likelihood of it being selected.

If you specify 0 in First Integer Values and division is selected, 0 is removed for division problems only. Weighting for problems is first done by operation, so this does slightly increase the weight for other division problems — minor, unless you're doing something silly.

Current Limitations

The first written integer is restricted to 5 digits (including negative sign) — the maximum valid range is -9999 to 99999. The answer in the answer document has the same limitation.

The second written integer is restricted to 3 digits (including negative sign) — the maximum valid range is -99 to 999.

Note this is the written integer, not what's specified above. This matches for addition and multiplication, but as described above, for subtraction and division the first written integer is actually the difference or quotient of the two numbers.

There is limited validation checking. It does not confirm that the computed answer lies in the valid range, so it's still possible to generate invalid documents. The easiest way to see this: select subtraction, set the first integer to 999, and set the second integer to 99999. For addition and multiplication, the generated problem document always looks correct — the answer document may be messed up.

Planned Future Improvements

There were two planned improvements; the first was successfully implemented. Document generation speed was improved from 10–15 seconds down to 2–3 seconds.

The second is improved validation checking, to disallow bad documents from generating. Still undecided on how to handle this — the "best" way seems like it would eat up a lot of memory, so some benchmarking is needed first.

Version History

  • v2.08 (current) Enhancements to visual presentation and speed improvements.
  • v1.2 First working draft along with speed improvements. There were previous versions, but they were not publicly released.