Number Base Converter — Base 2–36, Roman, Gematria

Convert a value in real time across positional bases (binary, octal, decimal, hex, any base 2–36) and alphabetic numeral systems (Roman, Hebrew gematria, Greek). Every field is editable — type in any one and the rest update. Also includes an IEEE 754 Float32/Float64 bit inspector and fixed-width bitwise AND/OR/XOR/NOT/shift on two values.

Positional Number Systems
Decimal (10)
Hexadecimal (16)
Binary (2)
Octal (8)

Arbitrary precision via BigInt — integers of any size are supported. A negative sign is allowed.

Custom Radix (Base 2–36)
Base {{ radix }}

Digits use 0–9 then A–Z. Base 32 and base 36 are common for short IDs and compact encodings.

Alphabetic & Historical Numerals
Roman
Standard subtractive form, range 1–3999 (e.g. 2024 → MMXXIV).
Hebrew (Gematria)
Range 1–999,999. Uses geresh (׳) / gershayim (״) marks and the ט״ו / ט״ז convention for 15 & 16.
Greek (Ionian)
Milesian/Ionian system, range 1–9999. Keraia (ʹ) marks the numeral; low keraia (͵) prefixes thousands.
IEEE 754 Float{{ floatWidth }} Bit Breakdown

Interpreting {{ decNum }} as a {{ floatWidth }}-bit float:

{{ floatBits.sign }} {{ b }} {{ b }}
■ Sign: {{ floatBits.sign }} ■ Exponent ({{ floatBits.exponent.length }} bit): {{ floatBits.exponent }} ■ Mantissa ({{ floatBits.mantissa.length }} bit): {{ floatBits.mantissa }}
Bitwise OperationsAND / OR / XOR / NOT / shift on two values
A
B
Width
Shift by

A: not a valid decimal, 0x hex, or 0b binary value.

B: not a valid decimal, 0x hex, or 0b binary value.

About the Numeral Systems

Positional bases (binary, octal, decimal, hexadecimal, and any base 2–36) express a value as a sum of digit × baseposition. Conversion here is exact for integers of any magnitude using JavaScript BigInt.

Roman numerals are additive/subtractive and have no zero, so this tool covers the standard 1–3999. Input is validated by round-trip: non-canonical forms such as IIII or IC are rejected.

Hebrew gematria assigns numeric values to letters (א=1 … ת=400). Numbers are additive; 15 and 16 are written ט״ו and ט״ז to avoid spelling a divine name. Thousands are marked with a geresh. This is the same system used for Hebrew calendar years (e.g. ה׳תשפ״ד = 5784). A bare multiple of 1000 (e.g. ה׳) is inherently ambiguous with its single-letter value, so reading one back resolves to the smaller number.

Greek (Ionian/Milesian) numerals use 27 letters — including the archaic digamma (ϛ), koppa (ϙ) and sampi (ϡ) — grouped as units, tens and hundreds. A keraia marks the value as a number; a low keraia before a letter multiplies it by 1000.

Bitwise operations run on a fixed-width, two's-complement representation: pick 8/16/32/64 bits, and each operand is first masked (and flagged as overflowing) to that width before AND/OR/XOR/NOT and shifting are applied. Signed mode shows the wrapped pattern's two's-complement value; the right shift is arithmetic (sign-extending) when signed and logical (zero-filling) when unsigned. The byte view respects the endianness toggle — big-endian lists the most significant byte first (network order), little-endian the least significant first (x86/ARM memory order) — the underlying numeric value is unaffected either way.

Everything runs client-side in your browser — no value ever leaves the page.