Orcmath Logo Cropped.png

About Orcmath:

Nearly five years ago, I tried to find an online resource for simple, customizable math worksheets. I wasn't satisfied by what I could find, so I decided to take on the project myself. For several years, I used my application in my own classroom before I finally decided to code an easy-to-use interface that would make the powerful worksheet generator available to everyone. 

As of January 30, 2017 OrcMath has been made available for download on computers running Java. The current version is 2.0, which was released June 19, 2017.



WHy is it called 'orcmath'?

There is a bit of a story to how this software got its name.

I took exactly one course in computer science while I was in undergrad. It was a requirement for a major in mathematics. We studied Java and, at the end of the semester, we learned how to make applets and use the Graphics API. I was fascinated with the degree to which I could customize the user interface. I could create a smiley face and, using some variables assigned to sliders, I could dynamically alter the shape of the mouth and face! This was all novel to me, so I expanded upon it. I gave the smiley faces teeth and upturned noses and when the professor came by and looked over my shoulder, he said the figure looked like a little orc. I ran with that. The figure had pointy ears, stubby limbs, soon it was even animated. It would march from one end of the screen to the other, heaving its chest as it moved. 

Eventually, I got tired of using sliders to augment the orc's features. In place of a slider, I added a button: "Generate Orc". Every time the user clicked a button, a new orc with randomly-generated features would appear on the screen and join the march. 

Years later, in 2012, I met the creator of deltamath. (A free resource where teachers can assign and students can complete homework online, with grading built-in.) It blew my mind to hear he had built the entire site single-handedly. When I asked if he had any plans to enable his site to print worksheets and when I heard the answer was 'no', a seed was planted: perhaps I could make a "worksheet-generating deltamath". Like my computer science project in undergrad, I envisioned the user would just click a generate button and randomized worksheets would just appear.

OrcMath was born.


is orcmath really free?

Yes. I started this project with the intention of creating the one thing I could never find. I have always wanted a free math worksheet generator that featured high-quality graphics, thorough answer keys and no ads or watermarks. The one thing I would ask is that wherever you reference this work (such as on a class website) you include a link to my product page (neverbenbetter.com/orcmath) and that you not host the download on any other server. My consolation for my work is the resulting Web traffic, which is useful for promoting my blog and other projects.


I actually did this back in 2013. It turned out this doesn't work at all. The reasons boils down to server costs. Today, web apps are quite common place, but every web app has a server-side and client-side component. Often, the user interface runs on the client computer and the data is stored on the server. OrcMath doesn't store data, it generates it. The computation involved in generating several pages and answer sheets is immense. It would be ludicrous to host such a service for free (and the software license covering iText doesn't allow me to charge for such a service without buying a commercial license.) The alternative is storing static files on the server. To do so would render OrcMath as a question library rather than generator. This would be fine (and it is what deltamath.com does), but because I am using high-definition diagrams in my PDFs, the storage requirement would be immense. In 2013, I hit Google's maximum 10,000 file limit with just six modules. OrcMath currently has 80.


Every time you use OrcMath, or generates new questions and answers on the spot. To do this, it makes use of two libraries (which are also publicly available) jLaTeXMath (for rendering Math objects) and iText (for creating PDFs.)  

When you use OrcMath, you create an array of Strings that describe the problems (and respective difficulties) you want on your worksheet. Every String is matched to a "Problem" object. Each Problem is comprised of a collection of any number of mathematical components: Terms, Angles, Expressions, Functions, Radicals, Rationals, Parallelogram, to name a few. Random numbers are used to make each Problem unique. In OrcMath, I wrote all these objects and the rules for how operations can be performed on them. Consequently, every Problem can be rendered into LaTeX using JLaTeXMath, solved using OrcMath, and inserted in a PDF using iText.

What is LaTeX?

LaTeX (pronounced 'LAY-tek') is a coding language for formatting mathematics. The OrcMath Worksheet Generator allows users to type many LaTeX formula to write question content. For more information on how to use LaTeX, check out the video tutorial here.

can you explain the difficulty settings?

The difficulty setting is sorta funny. First of all, these are really exercises, not problems. An exercise can't be harder, but it can require more work. Most of the exercises generate "more work" by using larger numbers. For instance, factoring a polynomial with a 'c' term equal to 6 is less work than a polynomial with a 'c' term of 120. With the geometry transformations, questions of level 3 and 4 require transforming triangles and quadrilaterals, rather than points. Some exercises don't have any variance at all. 

That being said, since difficulty often describes the range of random numbers being generated, be careful when making large worksheets with level 1 questions. For instance, if you make a worksheet with 20, level 1, factoring questions, you are quite likely to get duplicates. At level 1, there isn't a large enough range in the randomized constants to guarantee each question will differ from all the others. In fact, in terms of probability, I can never "guarantee" each question will differ from all the others, so you should always review your sheets before you print them. 

How can I contact you to report bugs or suggest new modules?

At this time, a number of my friends and colleagues are using OrcMath and already sending me feedback. I'm aware that it's a bit buggy. I'm hoping to release an update in mid February to resolve those glaring problems and fix a few of the modules that weren't ready for the initial release. At that time, I will post an email for others to contact me with suggestions. 

I should probably remind you that this prosit is covered by the Affero GPL. As such, it offers no warranty, whatsoever. My willfulness to continue working on the program is out of a sincere joy, not an obligation. If you find you need "tech support," OrcMath isn't really what you are looking for and I would suggest you search for a paid product.

I'm using a pc with java installed and OrcMath doesn't seem to work...

I developed OrcMath on a Mac and did most of my debugging on a Mac as well. While Java technically runs on the Java Virtual Machine (JVM) and should work on any machine with Java installed, this evidently isn't always the case. If you are having trouble with Java on your machine and you have access to a Mac, I would consider trying the Mac. Otherwise, if you've tried the other troubleshooting tips and it still isn' working, you might just have to wait until a later version addresses whatever is interfering with the program in a Windows environment.. 



First, you must have Java installed. This is usually included on all machines. 

Download the zipped file. After the download is completed, you need to find the file and unzip it by double clicking. On a PC you will see three files contained in the unzipped folder. On a Mac you will see only one. The file you need is called "OrcMath". Drag that to the desktop (or wherever you'd like to keep it) to "install". If you already have OrcMath installed, read the installation notes. You usually won't need the entire folder, just the application file contained within it. The "resources" folder contains your settings and you might not want to override those.

Inside the folder is a READ ME, a folder called resources and a file called OrcMath. Open OrcMath and don't touch the resources folder. If the resources folder is ever separated from the OrcMath file, the program will not work.

When OrcMath opens, you will be instructed to select a folder where the files will be stored. Follow those directions.

Creating a worksheet involves clicking on questions from the menu on the left side of the main screen ("Generate Screen"). Each question you click is added to a table at the lower right. There are lots of customizable features on the Settings Screen (explanations are made visible when you hover with the mouse) but if you want to create a worksheet, just click the "Generate" button.

The worksheets you create will be added to a "worksheets" file in your directory. The images from those sheets are added to the "images" folder in the same directory.


There could be a number of reasons why the error message is appearing. Try the following, in this order, until it works:

  1. Try again. It is possible there may be a glitch built into the module wherein a problem contains a contradiction, such as dividing by zero. If you try again, it is unlikely such a glitch would occur sequentially.
  2. Change the name of the worksheet. 
  3. Check for any special characters in your 'File Name', 'Heading', or 'Main Instructions'. Reset OrcMath then type the content without those characters. (Like '&' or '%')
  4. Try creating a worksheet with a different type of question (there may actually be an persistent error within the question module.)
  5. Quit and re-open OrcMath.
  6. Check orcmath.com for updates.

How do you remove questions from the table?

Next to every item in the table is a little circle that you can click and drag to either change the order or remove from the table. To remove, just drag the item to the trash, as shown:

Drag items to the trash to remove them from the table.

Drag items to the trash to remove them from the table.

To remove all of the questions in the table, simply double-click the trash icon.

Is it possible to preview or select the specific questions before generating a pdf?

Sometimes I get asked if I'm planning to enable the user to pick and choose the questions before they get inserted into a worksheet. I know this sounds like a cool feature, but the questions aren't coming from a library: they don't exist before you click the generate button, so there is literally nothing to "pick and choose" from. 

Here is what I recommend if you want to have a little more control over the question selection: Generate a worksheet with two or three times as many questions as you need. After the PDF is generated, look inside the save directory (if you forgot where your save directory is, you can see this in the Settings screen.) In the directory is a folder called worksheets and a folder called images. The images folder contains a .png of every question that was just created. From this folder, you can select the questions you like best and copy them into a document of your own making (using Pages, Google Docs, Word or whatever you prefer.)