JavaScript Abacus
Android Abacus
Java Abacus
X Abacus (and Windows too)

JavaScript Abacus

(Missing your favorite?... let me know)
Abaci from around the world and long ago Different Abacus Configurations using JavaScript
Configurations JS
Chinese Abacus *
Chinese Abacus with trial TEACH mode
Korean Abacus *
(Jupan, AKA Japanese
Soroban pre-WWII)
Korean Abacus
Japanese Abacus *
(Soroban post-WWII)
Japanese Abacus
Roman Hand Abacus *
right most column twelfths and
Ancient Roman Numerals in display
Roman Hand Abacus
Roman Hand Abacus *
right most column eighths and
Modern Roman Numerals on abacus
Roman Hand Abacus (8)
Ivory Roman Hand Abacus *
from 2nd - 5th Century
Ivory Roman Hand Abacus
Russian Abacus *
Russian Abacus
Old Russian Abacus *
(Schoty w/ 1/4 Kopek)
Old Russian Abacus
Danish School Abacus * Danish Abacus
Medieval Counters * Medieval Counter
British Abacus *
An abacus from the British Museum
from the 17th century
British Abacus
Vietnamese Abacus *
(unusual example as normally
of Chinese-Japanese type)
Vietnamese Abacus
Base 16 Japanese Abacus * Base 16 Abacus
Chinese Abacus *
(base 16)
Chinese Base 16 Abacus
Reconfigured Abacus to represent
Chinese Solid-And-Broken-Bar System *
(base 12)
Early Chinese Numbering
Mesoamerican Abacus *
similar to a Soroban base 20)
Mesoamerican Abacus
Calendar Mesoamerican Abacus
Calendar Mesoamerican Abacus
Sumerian Abacus
(reconstruction as no examples
or diagrams exist from era)
Sumerian Abacus
Base 2 Abacus Base 2 Abacus
Georgian Abacus *
(Russian base 20, for warmer climate
(no shoes), do not take seriously)
Georgian Abacus
US Currency
US Currency
European Currency
European Currency
Counters with British Currency
British Currency
British Currency
British Currency
Japanese Currency
Japanese Currency
South Korean Currency
South Korean Currency
Russian Currency
Russian Currency
Old Russian Currency
Old Russian Currency
Lee's Abacus *
Principal Chinese with a Nonevenly
Distributed 7/13 Rail Auxiliary
Lee Abacus Noneven CN
Lee's Abacus *
Principal Korean with a Nonevenly
Distributed 7/11 Rail Auxiliary
Lee Abacus Noneven KO
Lee's Abacus *
Principal Chinese with a Evenly
Distributed 9 Rail Auxiliary
Lee Abacus Even CN
New Those with a "*" above have a "Teach" mode for addition, subtraction and just added multiplication, division, square root and cube root. Multiplication, division, and roots works best on "Lee" versions as they can hold values in auxiliary abacii.
Now with beginnings of some language support for French, Spanish, Dutch, German, Norwegian, Russian (I need help from translators see line 72 or so of abacus.js). It is all driven by a single JavaScript program with input parameters in the html.

Let me know of any bugs... (yes, the Lee's Abaci has some alignment issues if you change number of rails). If there is a abacus design not featured that you want to see, let me know. The Java below has more features (and no alignment issues), but can no longer run in your browser ... sigh.

See project notes for todo list and history.

Android Abacus

Abacus for my phone Abacus Implementation for Android
Icon Source Code Executable
Abacus.zip Abacus.apk

Unzip somewhere and then put in Eclipse like File->Project->Android Project from Existing Code. Then build, install, and run as usual. Any trouble building and getting on your Android, let me know so I can make fixes or better instructions.

See project notes for todo list and history.

Java Abacus

java -jar AbacusApp.jar -lee=1
Screenshot shown here running as: "java -jar AbacusApp.jar -lee=1"

There are two modes in menu that will help you learn how to use the abacus:

the "demo" mode: here some static lessons are given for the different types of abacus. The lessons include counting, adding, subtracting, and multiplying. The original lessons were taken from work by Luis Fernandes.

the "teach" mode: here you learn at your own pace by entering your own calculation like "A+B", "A-B", "A*B", or "A/B" (where A>0 and result non-negitive). Pressing the enter key, will give you a step by step explanation and show proper moves on the abacus. According to the books below, you are supposed to start on left side, when adding or subtracting multi-digit numbers. (There is a menu option "rightToLeftAdd", if you think this is inefficient (similar one for multiplication "rightToLeftMult")). Lee's Abacus is more suitable if you are learning multiplication and division, as there are extra places to store operands.

SQRT operation is a feature that that solves perfect squares (0 - 104080804 tested with internal tester) in teach mode and also handles floating point numbers. For non-perfect squares it gives approximations. Move the decimal point slider to the left before starting to increase precision. For example, try it out with "10201v" in teach mode on a "Lee's Abacus". Unlike the other operations, sqrt reduces to an answer from which you must divide by 2. (You can try that out like "202/2", once sqrt operation gives you its "doubled" answer of "202"). This follows closely the work of Lee Kai-chen from his book "How to Learn Lee's Abacus". Let me know of any problems. Now if you can just input negatives... the solution would involve turning the abacus sideways. ;)

CBRT operation is a feature that solves perfect cubes (0 - 1003003001 tested with internal tester). For example, try it out with "1030301u" in teach mode on a "Lee's Abacus". Here cbrt reduces to an answer from which you must divide by 3. (You can try that out like "303/3", once cbrt operation gives its "tripled" answer of "303".) This again follows closely the work of Lee Kai-chen.

You can download the jar file (preserve the .jar extension), and then it can be run as an application like "java -jar AbacusApp.jar -rails=15" or "java -jar AbacusApp.jar -lee=1 -leftAuxRails=9 -rightAuxRails=9". The X Manual Page is written for the X version but may be useful to understanding the Java program.

Java Abacus Abacus Implementation for Java
Icon Source Code Jar File
abacus.zip AbacusApp.jar

There is a feature for teachers to test students on the use the abacus. This would give the ability to create your own tests. Results would go into a results directory. Sample tests are given in zip file (there is only the one test so far). The idea is to move the beads to the correct position and then record the answer by a certain time.

See project notes for todo list and history.

X Abacus (and Windows too)

Still my favorite Abacus Abacus Implementation for X (Linux and friends) and Windows
Icon Latest Source Latest Windows Man Page README LSM Older Versions Ancient Versions Sourceforge
xabacus-latest.tar.xz wabacus-latest.zip xabacus xabacus.README xabacus.lsm At SillyCycle At Ibiblio under construction

Latest UNIX/VMS version is 8.8.3 and was written in C/C++. Windows version has same source and compiled with MinGW (though does have less features).

See project notes for todo list and history.


Learning the Abacus
ABACUS Guide Book
Books by Takashi Kojima
The Japanese Abacus, Its Use and Theory
Advanced Abacus Japanese Theory and Practice
The Abacus
Salamis Tablet
TOMOE Soroban
Short story by Isaac Asimov The Feeling of Power
Rhymes with Orange Cartoon 2011-08-22 (on 12th page)

Send comments/suggestions to:
An abacus enthusiast

Maintainer's Home Page
Last Revised: 10 July 2024