januschung/math-worksheet-generator
januschung/math-worksheet-generator has 543 GitHub stars and 99 forks. Star changes are not measured yet. Last checked 2026-11-08 23:06 UTC. Last push 2025-11-03.
Create basic addition, subtraction, multiplication and division practice questions with the answer sheet
Measured star growth
- in 24h
- Collecting history
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalMath Worksheet Generator

Background
My best friend tests his 5 year old basic math questions from store-bought material which is good for one time use (his son memorizes the answers) …. but he wants to give him more practice.
Two solutions:
- keep buying more one time usage materials (less beer budget); or
- make question sets with the number pairs and calculate the answer for each question manually (less beer time)
Not ideal.
That's the reason for me to look into an automate way to get the job done.
Benefit of the Math Worksheet Generator
With the Math Worksheet Generator, you can create a PDF with unique questions, as needed, in a fraction of second.
There are five choices:
- Addition
- Subtraction
- Multiplication
- Division
- Mixed
Requirements
Install required package with the following command:
pip install -r requirements.txt
How to Use
- Generate the worksheet in pdf format with the following command:
python3 run.py --type [+|-|x|/|mix] --digits [1|2|3] [-q|--question_count] [int] --output [custom-name.pdf] --title [title-at-front-page]
- Print out the generated file
worksheet.pdf
For addition only worksheet:
python3 run.py --type +
For calculation up to 3 digits range:
python3 run.py --digits 3
For generating different number of question, eg. 100 (default is 80):
python3 run.py -q 100
or
python3 run.py --question_count 100
For custom output filename (default is worksheet.pdf):
python3 run.py --output custom-name.pdf
For adding a front page with title, name, date, and score fields:
Use default title 'Math Practice Worksheet'
python3 run.py --title
or specify custom title
python3 run.py --title 'Math Quiz 1'
Sample
Code Overview
Everything is written in python in run.py. You can play with the font and grid size with the variables under the # Basic settings section.
Contributing
I appreciate all suggestions or PRs which will help kids learn math better. Feel free to fork the project and create a pull request with your idea.
TODO
Nil
Special Thanks
My long time friend San for the inspiration of this project and lovely sons Tim and Hin. Thanks thedanimal for reviewing this README and adding new features.
Also, thank you for the love and support form the Reddit Python community. You guys are amazing and are helping me to make this project better.
Successful Story
Thanks k1m0ch1 for sharing this heartwarming story:
...I made this card for my kid, and then the teacher asks me if I can make some for the kids, well its generated anyway and very helpful, and the next day he asks me to make for a whole class, and next day he wants me to make for a whole school, and a weeks later other schools want me to help to make for a whole school.
more than 1000 generated file, with a custom filename for every kid and sent to the email I'm doing it for free, while you made this free, love it <3
Links
Thank you for your coverage.
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
534,040 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,331 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,585 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
333,503 stars