Easy One Time Pad Maker

One time pad (OTP) encryption is unbreakable, if performed correctly. The biggest practical problems with OTP are generating a large batch of random numbers, and transferring them to all the parties wishing to communicate. We cannot help you with the transfer process, but that amounts to copying some paper, which you can handle. Generating the large batch of random numbers, well, we can help with that!

The form below does just that. Adapted from a widely distributed Javascript form, this facility generates a large amount of random numbers quickly. These are actually pseudorandom, not completely random, but are sufficient for civilian use. If you desire to use truly random numbers, try the generator at random.org, which samples atmospheric noise. (Be warned that random.org has a download quota.)

Once you have printed your pad, purchase our One Time Pad Coding Tool (pictured) to make encrypting and decrypting messages easy! It’s small and light and water resistant, and ready to help you communicate securely. Click the link for more information and examples of use.

The content on this page has been adapted from this web site, which has a lot of information about random numbers and the pros and cons of this method of generation. We like the fact that the generator runs on your computer and does not transfer any content over the Internet (after the web page loads). In fact, you can load this page and run it off line, completely disconnected from the network. Anonymity would also be enhanced by generating and printing the pad at a public computer you do not own or frequent.

Much of the security of the one time pad revolves around using each section only one time. After a section is used, tear it off and destroy it.

Making your Pad

First select the quantity of numbers you need. Print too much rather than too little pad content because communicating copies to your group is the most time consuming part. Using the default values below, and formatting the numbers into two columns with 5 point type, you can get 5,888 numbers on a page. So five pages will hold over 29,000 random numbers.

Next, select the quantity of numbers per line, and how often to insert blank lines. The blank lines divide the pad into pages where you will typically use one page per message transmitted.

Then select a ‘seed’, which is a number or string that initializes the random number generator’s starting point. Select either the time of day or enter a long number or phrase. Rather than delivering copies of the entire pad, you could securely communicate a pass phrase to your group and let them generate the pad independently. However, in that case each of them must be careful about security.


Finally, click the Generate button to create the numbers. The Select button highlights the numbers for copying into another program for formatting and printing. It is convenient to format the numbers into multiple columns in a word processor, using a small font, for printing multiple pad pages on one sheet of paper.

Don’t save the pad on any computing device. The information may be stored in caches on whatever computer you use, but a public computer will be less traceable to the person using it.

If you are quite paranoid, search for “10-sided dice” on Amazon.com. With these you can roll your own random numbers, literally, without any computing devices at all!

Note that the numbers generated range from 0 to 49. This is for compatibility with our One Time Pad Coding Tool.

Pad length: numbers
Numbers per line:
Insert blank line every: lines
Seed for number generator: From clock

(numbers or text)