Converters
Every conversion on this page runs inside this tab. There is no upload, no queue and no account — open your network tab and watch: after the page loads there is no request left to make.
Data & text
Paste on the left, pick a conversion, read the result on the right. The CSV reader is a real RFC 4180 parser rather than a split on commas, so a quoted field containing a comma, a quote or a newline survives — which in a genuine export is immediately the case.
Units
Nine categories, converted through each category's base unit so no pair can disagree with another. Where a unit is ambiguous in the real world the label says which one it is: a US gallon is not a UK gallon, and a month is thirty days here because something had to be chosen.
—
| Unit | Value | Code |
|---|
Number bases
Any base from 2 to 36, converted through BigInt so a 64-bit value stays exact instead of being rounded by a double. A digit that is not legal in the source base is refused by name — parseInt('1092', 2) silently returns 1, and that is the bug this avoids.
| Base | Value |
|---|
Colour
HEX, RGB, HSL, HSV and CMYK from any one of them, plus the contrast ratio against black and white. The ratios are here because this site's own palette is documented in them, and a colour tool that cannot answer "is this readable" is decoration.
| Notation | Value |
|---|
Time
A Unix epoch in seconds or milliseconds, or any date this browser can read, printed in every representation at once. Seconds and milliseconds are told apart by magnitude rather than digit count, so zero and negative epochs still work.
| Format | Value |
|---|
Images
Scale an image and re-encode it, on a canvas, in this tab. Changing format alone is the job of Convert, which carries the argument spec and the Python parity; what is here is the part that page does not do — resizing, and reading an image's real dimensions and weight.
Drop an image here
or choose a file — PNG, JPEG, WebP, AVIF, GIF or BMP, up to 40 megapixels
Resampled with high-quality smoothing. Above 100% it is interpolation, not detail.
JPEG has no alpha channel, so transparency is flattened onto white.
The file is read by this tab and encoded by this tab. Nothing is uploaded.
What is not here
Hosted converters lead with video, audio and Office documents. None of those are on this page, and the reason is the same reason nothing here is uploaded.
| Format | What it would take | Why it is absent |
|---|---|---|
| Video — MP4, MOV, WebM | An ffmpeg build compiled to WebAssembly, around 25 MB, or a server that accepts the upload. | Both break the rule that makes this page possible: no third-party runtime, and nothing leaves the tab. |
| Audio — MP3, WAV, FLAC | The same wasm codec bundle. The browser can decode audio, but it cannot encode MP3 or FLAC. | A control that looked like it worked and failed on every real file would be worse than its absence. |
| A PDF engine — parsing and generation are both far beyond what a page can hand-roll honestly. | Extracting text from a PDF is a real job, and it is done by Extract through the Python package instead. | |
| Word, Excel, PowerPoint | A ZIP reader plus an OOXML parser per format. | Same answer: Extract handles these locally, in Python, where the libraries already exist and are audited. |
| YAML | A real YAML parser. The specification is large and the subset that is easy to write is the subset that silently mis-parses. | A converter that is right most of the time is not a converter. JSON, JSONL, CSV, TSV and Markdown are all handled exactly. |