Number Tools

3 tools

Base Converter

Convert between binary, octal, decimal, hex

Random Generator

Generate random integers, UUID, strings

Number Formatter

Add thousands separators, set decimal places

Three tools solving three unrelated problems: looking at the same number in another base, producing a batch of values that do not collide, and typesetting a figure so a human can read it. What they share is the browser's numeric type, and therefore one common ceiling — the safe integer range ends at 2^53 - 1.

Which tool should I use?

Base Converter
For memory addresses, permission masks, colour values and the hexadecimal constants in config files; the four base fields stay in sync. Integers only — the decimal point will not go in — and negatives are written with a leading minus rather than in two's complement, so -8 appears as -1000 in binary, not as the run of ones a register would show. A warning appears once a value leaves the safe integer range, and at that point the output can no longer be trusted.
Random Generator
For a batch of test data, a unique identifier, or placeholder strings. The source of randomness differs between the tabs, and that matters more than the feature list: the UUID tab calls the browser's crypto.randomUUID, a cryptographic source, while the integer and string tabs use Math.random, whose output can be worked back to its internal state. Fine for fixtures; not for passwords, API keys or the token in a reset link.
Number Formatter
For making a figure presentable in a report: thousands separator, decimal separator, decimal places from 0 to 10, and scientific notation. On the way in only . is recognised as the decimal point, so a European-style 1.234,56 is misread as 1.234. Decimal places are applied by rounding, so reducing them discards precision for real rather than merely shortening the display.

Shared limitations

  • All three accept half-width Arabic numerals only, so full-width digits copied out of a report have to go through the full-width converter in the text section first. Random integers and strings come in batches of up to 100, with a maximum string length of 256.
  • Base conversion and number formatting both rest on the browser's Number type, so any value past 2^53 - 1 — snowflake IDs, 64-bit database keys — is silently rounded in transit. Keep those on the server side as strings or big integers.
  • Generation and conversion happen on your machine; random values are not requested from a server and no result is recorded anywhere. The corollary is that nothing survives leaving the page, so press copy while you still can. The page does carry third-party advertising resources, unrelated to the values computed here.

FAQ

Can I use the random strings as passwords?

Not advisable. The string tab draws on Math.random, whose internal state can be reconstructed from enough output — adequate for test fixtures, inadequate for anything protecting access. Use the UUID tab when you need a strong value; for actual passwords, a password manager remains the better answer.

Why is my hexadecimal result a different length than expected?

What is shown is the shortest representation of the value: no leading zeros and no notion of a fixed width. 255 comes out as FF, not 000000FF, so pad it yourself when aligning to a 32-bit or 64-bit field.