Base and unit conversion: temperature is the only non-linear one
Converting between bases 2 and 36 needs BigInt to avoid silent precision loss. Across ten unit categories nine are linear ratios, while temperature is affine, and a single multiplier is always wrong.
Base conversion starts with a precision decision
Converting between bases 2 and 36 uses letters past ten, and the parsing rules are straightforward. The real issue is that JavaScript Number is a double, and above 2 to the 53 integers lose their low bits silently. A conversion that quietly drops a few digits is worse than one that throws.
So the integer part goes through BigInt: parse at arbitrary precision, then emit in the target base. The fractional part carries an explicit warning that precision is at stake. Decimal and binary fractions genuinely cannot always convert exactly, and saying so beats pretending otherwise.
Binary is only useful when grouped
A long run of 0101 is unreadable without grouping. Groups of four align with one hex digit; groups of eight align with a byte. The byte view slices by byte and shows decimal and hex alongside, which is far more useful than one long string when reading protocol fields.
Nine of ten categories are the same shape
Length, mass, area, volume, data, time, speed, pressure and energy are all linear: each pair differs by a fixed ratio, so one implementation covers them, converting every unit to a base unit and back out. Data units should show both decimal and binary systems (KB and KiB), or the argument about whether a megabyte is 1000 or 1024 KB follows you forever.
Temperature is the exception: an affine transform, with both a scale and an offset between Celsius and Fahrenheit. Storing it in the same ratio table guarantees a wrong answer, and the error only shows away from zero, since zero degrees happens to look right.
Everything at once
The value of a converter is not typing repeatedly. Enter one number and every equivalent in that category appears at once, skipping the two-step dance of converting to a base unit and then to the target. That is also why all ten categories live on one page instead of ten separate tools.
Covered by assertions
Pure functions like these have ideal boundaries: zero Celsius equals 32 Fahrenheit, which exercises both offset and scale at once; a large integer must survive a base round trip; and a unit converted away and back must return to its original value.

Comments
…