last updated: 2026-08-14

a guide to paper computers

what is a paper computer

recently i learned how to make a computer with only a piece of paper! this is funnily enough, called a: paper computer. (sometimes called the "WDR paper computer" or "know how computer") the idea is: you can make a simple computer, on paper, without electricity. i wanted to share how to make one of these!

NOW... this computer won't play fortnite or even run DOOM. it was a teaching tool in the 1980's to teach the absolute BASICS of what a computer does. this means the paper computer is turing complete! even though you're doing everything on paper, it can do loops, read / write data, and it can do if else statements.

how to make a paper computer

the computer is made with a piece of paper, a pen, and some matches. the pen is used to draw all the boxes to make the computer easier to understand. but you can also use the pen as a pointer. you place it at the start of line 1 and move it to the next line to keep track of what the next instruction is.

the computer looks a little like the example diagram below. NOTE that for this example i only wrote 4 lines but you can make as many as you want. i also have 2 registers but you can also make as many as those as you want.

a register is a fancy word for storage. it can hold data, memory addresses, instructions - it's a fancy box. for the paper computer, you're able to add or subtract 1 to the box, or check if that box is empty. that's why we have matches. we put them in the registers to keep track so we don't forget. at the start it's typically empty. so the registers are zero. but you can make them start at any number.

LINE INSTRUCTION
1
2
3
4
REGISTER AMOUNT
1
2

the computer only has 5 rules.

a simple example

for this example we're just going to go through all the instructions. i added an "explination" box for clarity.

LINE INSTRUCTION EXPLINATION
1 jump 3 we jump to line 3
2 jump 8 skipped but if it wasn't we would jump to line 8
3 add 1 add 1 to register 1, so reigster 1 = 1 item
4 add 2 add 1 to register 2, so register 2 = 1 item
5 sub 1 subtract 1 from register 1, so register 1 = 0 items
6 isz 1 check if register 1 has any items. nope. so we skip the next line
7 jump 1 skipped. but if line 6 was false, we would've jumped to line 1
8 stop end of program. we're done!
REGISTER AMOUNT
1 0
2 0

a different example

for this one notice how i changed the starting items in our registers. i also have a loop going here. we're essentially subtracting 1 from register 2, until it's empty.

LINE INSTRUCTION EXPLINATION
1 sub 2 subtract 1 from register 2
2 isz 2 check if it register 2 has 0 items.
3 jump 1 if not, jump to line 1
4 stop stops the program once register 2 is empty.
REGISTER AMOUNT
1 0
2 10

so what is this useful for

what i like about it is that: first of all: we can program with this! in our previous example we litterately made an if / else statement + a while loop, that interacts with variables. THAT is beautiful. this is a very basic computer!

now: the original paper computer only has 5 rules BUT if we wanted to be a little silly we can add MORE rules.

you get the idea. you can make all sorts of rules in their own silly ways. if i can blow your mind: paper computers are a way to learn assembly (or assembly code)! let's show you an example of 6502 assembly!

LINE INSTRUCTION EXPLINATION
1 LDA #$05 loads 5 numbers into register a
2 STA $0010 saves it to memory address $0010
3 LDA #$03 loads number 3 into register a
4 STA $0011 saves it to memory address $0011
5 LDA $0010 copy value from address $0010 (5) into register a
6 CLC clear the carry flag
7 ADC $0011 add value from address $0011 (3) to register a
8 STA $0012 store new total (8) into address $0012
9 BRK stops the program
REGISTER AMOUNT
a 0

6502 assembly has a bunch of new rules, but ignore that! BIG PICTURE! we can SEE how the logic of our paper computer is the SAME logic as assembly!

check out the zine i made about it! a zine to paper computers