Integer Base Converter

Convert integers between any base from 2 to 64. Binary, octal, decimal, hexadecimal, base36, base58 and base64 at once, with arbitrary-precision BigInt support.

Convert a whole number between any two bases from 2 to 64. Enter a value, pick the base it is written in, and every common representation updates instantly. Conversion uses JavaScript BigInt, so numbers far beyond 2^53 keep full precision.

Understanding positional number bases

What a base actually means

In a positional system the base (or radix) tells you how much each place is worth. In base 10 the digits of 237 mean 2x100 + 3x10 + 7x1. In base 16 the same digit string means 2x256 + 3x16 + 7 = 567. Nothing about the number changes when you convert it, only the notation.

The digit alphabet

A base-N system needs N distinct symbols. Digits 0-9 cover the first ten, then letters take over: a is 10, b is 11, and so on up to z at 35. Above base 36 the alphabet continues with uppercase letters and finally + and /, which is the ordering this tool uses. Bases up to 36 are treated case-insensitively because that is the near-universal convention; above 36 case becomes significant.

Where each base shows up

  • Base 2 maps directly onto hardware. Register contents, bit masks and permission flags are easiest to reason about in binary.
  • Base 8 groups bits in threes, which is exactly why Unix file modes such as 755 are octal.
  • Base 16 groups bits in fours, so one hex digit equals one nibble. Memory addresses, colour codes and hashes all use it.
  • Base 36 is the densest base that survives case-insensitive systems such as DNS labels.
  • Base 58 is base 62 minus the characters that are easy to misread: 0, O, I and l. Bitcoin addresses and many short-link services use it.
  • Base 64 encodes three bytes into four printable characters and is the standard way to move binary data through text-only channels.

Precision

Native JavaScript numbers lose accuracy above 2^53. This converter works entirely with BigInt, so a 200-digit decimal value converts to binary without silently rounding. Negative values are supported; a leading minus sign is preserved across bases.

Open-source notice: conversion is implemented with the native JavaScript BigInt API. No third-party numeric library is used.

FAQs

Why does base 58 skip some characters?
Base 58 deliberately drops 0, O, I and l because they are easily confused in printed or handwritten form. That makes addresses safer to transcribe by hand, which is why Bitcoin adopted it.
Is base64 here the same as the base64 used for email attachments?
No. This tool treats base 64 as a positional numeral system for a single integer. Attachment encoding (RFC 4648) works on byte streams and adds padding with '='. Use the Base64 tool for that.
Can I convert very large numbers?
Yes. Everything runs through BigInt, so hundreds of digits convert exactly. There is no silent rounding at 2^53 the way there would be with ordinary JavaScript numbers.
Is the input case-sensitive?
For bases up to 36 it is not: 'FF' and 'ff' both mean 255 in hex. From base 37 upward uppercase and lowercase are distinct symbols, so case matters.
How do I convert a negative number?
Just prefix it with a minus sign. The sign is carried through to every output base. Two's-complement representation is a separate concept and is not applied here.
Does anything get sent to a server?
No. The conversion runs entirely in your browser, so the values you type never leave your machine.