The converter parses your input into a JavaScript Number with parseInt(value, fromBase), then re-emits it with toString(targetBase) for each of the six target bases. Hex output is force-uppercased for log/dump readability. Because the intermediate value is a JS Number, the converter is exact for integers in the safe range up to 2^53 − 1 (about 9 quadrillion). Negative decimals work; fractions and floats do not — parseInt truncates at the decimal point.
Bases 2, 8, 10 and 16 are the everyday programmer ones — bit patterns, file permissions, decimal arithmetic and memory dumps respectively. Base 36 (0–9, a–z) is the densest case-insensitive alphanumeric encoding and is common for short URL slugs and IDs. Base 32 here is the plain numeric radix, which is a different beast from the Crockford / RFC 4648 Base32 alphabets used in TOTP secrets and S3 ETags — those use a custom letter mapping, not 0–v.
JavaScript Numbers are IEEE-754 double-precision, so the safe integer range is ±(2^53 − 1) — 9,007,199,254,740,991. Beyond that, parseInt loses precision and bits start dropping. Use a BigInt-based tool for 64-bit or 128-bit values.
Convention for log files, hexdumps and memory inspectors — uppercase A–F is easier to distinguish from lowercase b/d/e at a glance. Hex is case-insensitive, so the output pastes cleanly into any tool that accepts hex.
Negative decimal input works (and is shown as a leading '-' in the other bases). Fractions and floating-point values do not — parseInt strips anything from the decimal point onward, so 3.75 in decimal becomes 11 in binary, not 11.11.
Base 36 (0–9, a–z) gives the most compact alphanumeric encoding for short identifiers like URL slugs and Reddit IDs. Base 32 here is the plain numeric radix — note that's different from RFC 4648 / Crockford Base32, which use a custom alphabet for case-insensitive transport.
Explore the full suite of Number tools and 290+ other free utilities at Chunky Munster.