Notch is intended to be a general purpose antique number conversion utility. It is presently in early alpha, with a single Roman Numerals mode. Development snapshots can be found on the Notch Download page. The following documentation is in progress.

Below: dev version with fractions. Shows translation from Roman to Arabic of four Scrupulus (⸱℈⸱℈⸱℈⸱℈⸱) and two Sextula (⸱Ƨ⸱Ƨ⸱) to the simplified and reduced duodecimal fraction 1/24.
One Scrupulus (⸱℈⸱) = 1/288 and one Sextula (⸱Ƨ⸱) = 1/72.
1/288 + 1/288 + 1/288 + 1/288 + 1/72 + 1/72 = 1/24 = one Semuncia (⸱Ꜫ⸱).
Translation from Arabic to Roman just shows the Semuncia (⸱Ꜫ⸱) as the fraction. (Multiple fractions are summed and simplified).


Notch began as a Hypercard Stack that I wrote for the Macintosh Classic back in 1996.


Isn’t that sweet! You’ve got to love Bill Atkinson’s Hypercard: it was the revolution in object orientated programming. Research for the new version of Notch was drawn from Wikipedia articles and various antique publications on the Internet Archive website. A list of links is given at the bottom of this page.


There are several different notations for Roman numerals, some are regarded as ‘Standard’ and others as ‘Variant’. At present, these are handled by three main modes: Date, Vinculum and Apostrophus. The Date format is ‘Standard’ and converts numbers up to 3,999. The ‘Variant’ formats Vinculum and Apostrophus convert much larger numbers, with optional support for tweaking the notation according to historical evidence.

Arabic To Roman

Simply enter a positive whole number, then press the enter key or click the ‘Down’ arrow button to convert to Roman numerals


Roman To Arabic

Because Unicode characters for Vinculum and Apostrophus require obscure key combinations, input is limited to using buttons. Each button appends the number to the Roman field. Use 'POP' to clear the last entered number, or 'CLEAR' to start again. Click the ‘Up’ arrow button to convert to Arabic.

Note: the Roman field is read-only (you can’t type into it) but you can still copy the text to the clipboard; click in the field, do 'Select All' (CTLR-A) and copy (CTRL-C). (From 0-0-2-3 you can use the Log to copy and save output).

Tip: Hold the mouse over any Roman numeral button to display the decimal value.

The user must ensure the correct ‘syntax’ when entering a Roman number. The order of magnitude is important. Any numeral preceding a larger numeral always results in the smaller value being subtracted from the larger. Thus IV = 5-1 = 4, CM = 1000-100 = 900. The rule for subtractive notation regarding Roman numerals states that a symbol representing 10n may not precede any symbol larger than 10n+1.

For example, M cannot be preceded by L, D or X, only by C. Thus the decimal number 990 should be written as CMXC (decimal 900 (CM) followed by decimal 90 (XC)), but not as the irregular subtractive notation XM. And the decimal number 950 should be written as CML (decimal 900 (CM) followed by decimal 50 (L)), but not as the irregular subtractive notation LM.


Subtractive Notation Switches

Subtractive Notation switches allow fine control of the output format. For example, instead of IV, you can output IIII, as is often seen on clock faces. This is because the numeral IIII closely matches the width of the numeral VIII on the opposite side of the face, and so makes for a more aesthetic arrangement:


Whilst there is some historical evidence for irregular subtractive notations, e.g. IIIXX for 17, IIXX for 18, IIIC for 97, and IIC for 98, such cases are not handled by the program, as the standard tends to avoid them. Note: irregular subtractive notations may be hypothetically correct, but they are not necessarily historically accurate. For example, the program converts the following Roman numbers CDXCIX, LDVLIV, XDIX, VDIV, and ID into the decimal number 499. But only CDXCIX is correct. Likewise, the bogus Roman number MMMDXXCMVLCI will be converted into 4746, whereas the correct Roman number for 4746 is either IVDCCXLVI or MMMMDCCXLVI.

According to the modern standard, MMMM is preferred to IV or MV. Set the option using the Subtractive Notation switch for 4000, where you can also elect to use IIII.


Example 1. The year number 1910 on Admiralty Arch, London, is rendered as MDCCCCX, rather than the subtractive notation MCMX. You can output the former by selecting DCCCC instead of CM in the pop-up for 900.

Example 2. The number 25459 may be output as X̅X̅V̅CDLIX or X̅X̅V̅CCCCLVIIII. In the latter case, select CCCC instead of CD in the pop-up for 400, and select VIIII instead of IX in the pop-up for 9.


Using Fractions

Whilst the Romans used decimal (base-10) for whole numbers, they used duodecimal (base-12) for fractions. Duodecimal (or dozenal) has many advantages over decimal. One is the high divisibility of 12; another is its succinct, (non-repeating) representation of the commonest fractions. 12 has six divisors { 1, 2, 3, 4, 6, 12 } whilst 10 has only four { 1, 2, 5, 10 }.

The duodecimal fractions pop-up on the Roman panel shows the Latin name, its symbol and quantity. An Uncia is 1 ounce, which is 1/12 of an As (assis).


Translating Roman Fractions to Arabic

To add a fraction to the Roman field, select it in the pop-up and then click the 'PUSH' button. You can PUSH as many fractions as desired. The fractions are summed and added to the numerals total. After entering the symbols, click the UP arrow. Any improper fractions are simplified and reduced to their lowest terms, on the condition that the reduction gives a valid duodecimal. The result is displayed in Arabic panel:


Above: 4 + 10/12 + 8/12 + 1/8 = 5 and 5/8

After translating to Arabic, it worth translating back to Roman to see if the chosen notation can be shortened. For example, after pushing 22 Obulus for the fraction 22/576, one ends up with the rather unwieldy notation of: ÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱÷⸱. But the translated result shows the reduced equivalent fraction of 11/288. Now click the DOWN arrow to translate back to Roman, which results in the shorter notation of: ⸱℈⸱℈⸱℈⸱℈⸱℈⸱℈⸱℈⸱℈⸱℈⸱℈⸱℈⸱ (11 Scrupulus).

If you do not like the result of translating back to Roman, click the small ‘UNDO’ button directly above the Arabic DOWN arrow. This will restore the Roman translation to its previous state.

When the fractions in the Roman field add up to a whole number, that number is added to the integer total and the Arabic Duodecimal Fraction field will be empty when translating back to Arabic.

Future option: ‘Always use shortest notation’

This check box option is desirable but not yet implemented.

Note that 28/216 can be expressed as ●⸱Ꜫ⸱Ⱨ⸱, which is 1 Uncia + 1 Semuncia + 1 Tremissis (1/12 + 1/24 + 1/216).

The above notation is is obviously more compact than:
⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱Ⱨ⸱ (28 Tremissis).

In this instance converting 28/216 back to Roman results in a longer notation. Thus it is desirable to implement the option ‘Always use shortest notation’ for converting between Roman and Arabic. This option will be implemented in a future release. For the time being, please use the small ‘UNDO’ buttons above the UP and DOWN arrows.

Translating Arabic Fractions to Roman

The following rules apply when entering fractions in the ‘Duodecimal Fraction’ field :

Note that fractions are reduced to their lowest terms before translating to Roman, so 30/36 gets reduced to 5/6 (five Sextans). The fraction 5/6 does not appear in the Arabic duodecimal fraction field until the resulting Roman fraction is translated back to Arabic. A reduced fraction is only used when the resultant denominator is in the duodecimal list. For example the fraction 45/48 reduces to 15/16, but 16 is not in the duodecimal list, so the original fraction 45/48 is used instead. However 44/48 reduces to 11/12 and the denominator 12 is in the duodecimal list, so the reduced fraction is used for translation.

After entering the fraction, press the ‘Enter’ key or click the DOWN arrow button.

Fraction Symbols

The smallest Roman fraction was the Lentes (1/6912) but its symbol is lost in history, so I took the liberty of choosing 'ɞ'. All other symbols are based on historical documents; note that some quantities had several several variant glyphs, and not all are represented by the Times New Roman Unicode font. Therefore the more common glyphs were used. When a glyph did not exist in the font table, a similar glyph was used instead. (For example, the old symbol for Deunx looks like three Ss with a line through the middle; this glyph does not exist in the font table, so the later symbol 'S●●●●●' is used instead).


Fraction symbols in Elementa Geometriae by Euclide (This image was pasted together from two separate pages). The link is for the specific page on the Internet Archive.
Publication supplied by: Bibliothèque Sainte-Geneviève Livres.


Part of the frontispiece to ‘ Rare Mathematica or, A Collection of Treatises On The Mathematics and Subjects Connected With Them, from ancient unedited manuscripts’. Edited By James Orchard Halliwell, Esq., F.R.S., F.S.A., of Jesus College, Cambridge. Published By Samuel Maynard, 8, Earl's Court, Leicester Square. 1841.

Insert documentation here.



Standard Date Mode


      I              1 unus,a, un
      V              5 quinque
      X             10 decem
      L             50 quinquaginta
      C            100 centum
      D            500 quingenti
      M           1000 mille

When in Date mode, the maximum Arabic number you can translate to Roman is 3999 which is output as MMMCMXCIX.

Insert documentation here.


Vinculum (Medieval Titulus) Mode

From the Latin vincŭlum (vinclum) -i, n. (vincio), a band, cord, chain. Titŭlus -i, m. an inscription, label, title.

The purpose of this mode is to try and replicate the Titulus notation used in Medieval times.


      I              1 
      V              5
      X             10
      L             50
      C            100
      D            500
      M           1000 

For large numbers (4000 and above), a bar is placed above a base numeral to indicate multiplication by 1000:

      I           1000  One Thousand
      V           5000  Five Thousand
      X          10000  Ten Thousand
      L          50000  Fifty Thousand
      C         100000  Hundred Thousand
      D         500000  Five Hundred Thousand
      M        1000000  One Million

For very large numbers, there is no standard format, although sometimes a single bar is placed below a base numeral to indicate multiplication by 1,000,000. (This can also be indicated by a double bar placed above).

      I        1000000  One Million
      V        5000000  Five Million
      X       10000000  Ten Million
      L       50000000  Fifty Million
      C      100000000  Hundred Million
      D      500000000  Five Hundred Million
      M     1000000000  Thousand Million (One Billion)
CHECK BOX OPTION: Use Side Bars Multiplier

By adding side bars before and after a numeral (or any group of numerals) you can multiply the total by 10 or 100. (Think of each pair of bars as a brackets or parenthesis).

Note that you can do irregular things when entering a group of barred Roman numerals.

For example, the incorrect Roman numeral |VIIIIIIIII| will convert to 1400000. But reconverting 1400000 back to Roman, gives the correct form: I|IV|

Note that |VIII| is probably more intuitive for 800000 than DCCC. Likewise, |IX| is arguably clearer for 900000 than CM.

When side bars occur within a group of numerals, they are surrounded by the word separator dot, which prevents confusing the notation with unrelated numerals. It is not necessary to use separator dots when inputting a Roman numeral, as the parser ignores them, but you must enter matched pairs of side bars (just as matched pairs of brackets are required in a mathematical formula).

CHECK BOX OPTION: Express millions as |hundred thousands|

This is an experimental feature. When checked, side bar notation will also be used to express millions as multiples of thousands.

Another example with a large number 7,888,876,778 (seven billion, eight hundred and eighty-eight million, eight hundred and seventy-six thousand, seven hundred and seventy-eight)...

In the latter case V̱I̱I̱I̱ (eight million) is expressed as |L̅X̅X̅X̅| which is 80,000 x 100.

Note that even with such large numbers as these, the Medieval Titulus notation can be used without modification. This is quite extraordinary, as the 'unsigned long long' integer type (which is required to print these very large numbers), is not supported by Microsoft’s printf/scanf functions! So the Medieval scribes could use bigger integers than most computers. (The basic 'unsigned int' data type on a 32bit x86 system only supports a maximum value of 4,294,967,295). Although I have yet to find any Medieval records where such large Roman numerals were used.


The maximum number you can translate between Roman and Arabic is:



Nine billion, nine hundred and ninety-nine million, nine hundred and ninety-nine thousand, nine hundred and ninety-nine.

Notation using the Medieval Titulus requires the Side Bar multiplier (x100) to reach nine billion. XC is 90 million (Using subtractive notation, X = 10 million, C = 100 million; C minus X = 90 million), so |XC| is 90 million x 100 = nine billion.


Apostrophus (Roman Classic) Mode

Apostrophus has its origins in Etruscan numerals, and is a system of encasing numerals in parentheses to denote thousands. Apostrophus parentheses are written with a C, I, and Ↄ (backward C).


From 100, the symbols are as follows:

100                C   
500               IↃ   or D
1000             CIↃ   or ↀ
5000              IↃↃ  or ↁ
10,000          CCIↃↃ  or ↂ
50,000            IↃↃↃ or ↇ
100,000        CCCIↃↃↃ or ↈ
500,000           IↃↃↃↃ
1,000,000     CCCCIↃↃↃↃ
5,000,000         IↃↃↃↃↃ
10,000,000   CCCCCIↃↃↃↃↃ
50,000,000        IↃↃↃↃↃↃ
500,000,000       IↃↃↃↃↃↃↃ

Note that for each 10n, there is a balanced set of n-2 pairs of parentheses. Thus 104 = 10000, and 4-2 = 2 pairs of parentheses, giving CCIↃↃ.

Also note that 5*10n has n-1 parentheses, but only on the right. Thus:

5*103 = 5,000, and 3-1 = 2 parentheses on the right, giving: IↃↃ. Note that IↃↃ is the ‘right half’ of CCIↃↃ .

5*108 = 500,000,000 and 8-1 = 7 parentheses on the right, giving: IↃↃↃↃↃↃↃ.

When in Apostrophus mode, a dot separator is used to distinguish between numerals, and make them easier to read. Consider the number 999:

999 = CIↃ⸱CCIↃↃ⸱C⸱CIↃ⸱XCIX  with dot separator.

999 = CIↃCCIↃↃCCIↃXCIX  without dot separator.

Apostrophus Notation Switches

The abreviated notations D, ↀ, ↁ, ↂ, ↇ and ↈ, are set via the Apostrophus Notation panel. Simply choose an option for each numeral in the pop-up menus. For example, the number 999,999 (noviens centena nonaginta novem milia nongenti nonaginta novem) with abreviations OFF, translates as:


But when abreviations are ON, 999,999 is shortened to:


The number 199,500 with abreviations OFF, translates as:


But when abreviations are ON, 199,500 is shortened to:


Strictly speaking, the Romans never used M for 1000 (M was introduced in Medieval times), and used CIↃ or ↀ instead. However, the M option is still an available option due to the many variants in existence.


Translating Arabic to Apostrophus

The translator appears stable and should produce a legal Roman numeral.

The maximum allowed entry is 9,999,999, which translates to Apostrophus as the monstrous string:


And even with abreviations, this is still an unwieldy:


Compare this with the Medieval Titulus notation which is a succinct: ⸱|XC|⸱CMXCIXCMXCIXCMXCIX

There are no abreviations above 100,000, and it soon becomes clear why the Medieval Titulus notation was adopted for large numbers.

Each part of the Apostrophus number is translated as a chunk. A chunk is anything that appears between the word separator dots. When POP is used on an Apostrophus number that has been translated from Arabic, it pops the chunks, not the individual characters.

Translating Apostrophus to Arabic

The parser is probably less stable when translating from Roman to Arabic, especially for user entered numerals above 100,000.

To enter a numeral in Apostrophus, use the yellow buttons. Numbers above 100,000 (Centena Milia) must be entered manually using the C, I and Ↄ buttons. For each 10n you must enter a balanced set of C and Ↄ. The maximum 10n allowed is CCCCCCCCIↃↃↃↃↃↃↃↃ = 10,000,000,000. The maxium 5*10n allowed is IↃↃↃↃↃↃↃ = 500,000,000.


When an Apostrophus numeral is entered manually using using the C, I and Ↄ buttons, POP works on individual characters instead of chunks. However, you must use the ‘Word Separator’ (green button) to break the numeral into visible chunks. This lets the parser correctly determine any subractive notations. For example, CIↃ which is one thousand, must be distinguished from C⸱IↃ, which is 400 (500 - 100, by subtractive notation). Note that when you click the UP arrow and translate to Arabic, the character string is converted into chunks; thenceforth POP will remove the chunks, and not individual characters.

Parsing Apostrophus strings is not straight forward, especially if the user has entered an illegal notation. Therefore, ALWAYS VERIFY THE ROMAN INPUT BY CONVERTING THE ARABIC RESULT BACK TO ROMAN.

Insert more documentation here.

1                  I unus,a, un
2                 II duo, ae, o
3                III tres, tria
4                 IV quattuor
5                  V quinque
6                 VI sex
7                VII septum
8               VIII octo
9        VIIII or IX novem
10                 X decem

11                XI undecim
12               XII duodecim
13              XIII tredecim; decem et tres; tres et decem
14               XIV quattuordecim; decim et quattuor
15                XV quindecim
16               XVI sedecim; sexdecim; decem et sex
17              XVII decem et septem; septem et decim; septemdecim
18             XVIII duodeviginti (decem et octo)
19     XVIIII or XIX undeviginti (decem et novem)

20                XX viginti
21               XXI unus et viginti; viginti unus
22              XXII duo et viginti; viginti duo
28            XXVIII duodetriginta (octo et viginti)
29              XXIX undetriginta (novum et viginti)
30               XXX triginta
40                XL quadraginta
50                 L quinquaginta
60                LX sexaginta
70               LXX septuaginta
80              LXXX octoginta
90                XC nonaginta
98     IIC or XCVIII nonaginta octo; octo et nonaginta
99        IC or XCIX nonaginta novem; undecentum

100                     C centum
101                    CI centum et unus; centum unus
136                CXXXVI centum et triginta sex; centum triginta sex
200                    CC ducenti, ae, a
300                   CCC trecenti
400                  CCCC quadringenti
500               IↃ or D quingenti
600             IↃC or DC sescenti
700           IↃCC or DCC septingenti
800         IↃCCC or DCCC octingenti
900       IↃCCCC or DCCCC nongenti
1000          CIↃ or ↀ or M mille
2000           CIↃ CIↃ or MM duo milia (bis mille)
5000                IↃↃ or ↁ quinque milia
10,000           CCIↃↃ or ↂ decem milia
50,000             IↃↃↃ or ↇ quinquaginta milia
100,000         CCCIↃↃↃ or ↈ centum milia; centena milia
1,000,000          CCCCIↃↃↃↃ deciens centum milia; deciens

Ref: ‘The Public School Latin Grammar’ by Benjamin Hall Kennedy, D.D. Regius professor of Greek in the University of Cambridge, and Canon of Ely. London: Longmans, Green, and Co. 1879. p. 150., p. 157.

Main References:
The above is a very basic introduction.
The above page has a plethora of footnotes for further reference, particularly some Latin books that can be downloaded from the Internet Archive.
Britannica presents a general introduction to numeral systems, with Roman Numerals covered only in part.
The above page at is very good at explaining the sophistication derivations for Apostrophus notation. Highly recommended.
This extensive page also lists all the duodecimal fractions.