Guides

The reasoning behind the tools

Each tool answers one question quickly. These guides answer the ones that need more than a widget: which option is right, why the obvious choice is sometimes wrong, and what actually goes wrong in production. Written against the same engines the tools run, so the examples are reproducible rather than illustrative.

35 guides

Developer HTTP status codes: what to send and what to do The five classes, the difference between 401 and 403, which codes are safe to retry, and why returning 200 with an error body breaks clients. 3 min read · Updated Developer SQL formatting and test data: preparing a database Why formatting a query is lexical rather than semantic, what a seeded fixture guarantees, and the import rules that keep fake rows out of production. 3 min read · Updated Images SVG in practice: optimising, rasterising and sizing What an SVG optimiser can safely remove, why viewBox is not width and height, and when to rasterise a vector — with a measured size reduction. 3 min read · Updated Money & calculators Units, ratios and grades: three kinds of scale Linear factors, offset scales and weighted averages — why temperature is different, how a ratio simplifies, and what a GPA actually averages. 3 min read · Updated Text & writing Measuring text and typing: counts, frequency and WPM Why word counts disagree, how word-frequency ranking tokenises text, and what net WPM actually measures — with the formulas stated. 3 min read · Updated Text & writing Styled text: Unicode alphabets, zalgo and upside-down How fancy, glitch and flipped text are made from real code points, why none of it is formatting, and the search and accessibility consequences. 3 min read · Updated Encoding Bytes, hex and entities: the same text in four notations How UTF-8 bytes are written in binary, hex, decimal and octal, what HTML entities actually encode, and where full-width and superscript characters fit. 4 min read · Updated Phonetic & symbol writing Morse, Braille and NATO: three ways to spell a message The ITU Morse table, Grade 1 Braille with its number and capital signs, and the NATO spelling alphabet — what each encodes and where it stops. 4 min read · Updated Developer Passwords, codes and file identity: what proves what Entropy behind a password, the time window behind a TOTP code, the randomness of a UUID, and why the first bytes of a file beat its extension. 4 min read · Updated Money & calculators Loans, compound interest and debt payoff How a fixed-rate payment is derived, what compounding does to a savings plan, and why snowball and avalanche can pay different amounts of interest. 4 min read · Updated CSS & design CSS generators: gradients, shadows, radii and triangles What the generated CSS actually means, how the border triangle works, and why a generator output is a starting point rather than a final style. 4 min read · Updated Documents & paperwork Invoice vs receipt: what each document must contain An invoice asks for payment; a receipt confirms it. The fields, the order of discount, tax and deposit, and the numbering that makes either auditable. 4 min read · Updated Codes & captions QR, barcodes and subtitles: three formats machines read The strict grammars behind QR payloads, the EAN-13 check digit, and subtitle timing across SRT, WebVTT and ASS — with measured examples. 4 min read · Updated Images Favicons and app icons: sizes, formats and markup The icon sizes a browser and a phone actually ask for, why a multi-size .ico still exists, and the markup that avoids 404s and stale caches. 3 min read · Updated Images Composing images: crop, rotate, stitch and watermark What each edit does to the pixels, why 90° rotation is lossless and cropping is not, and how grid splits round when the image does not divide evenly. 3 min read · Updated Text & writing Markdown conversion: HTML, tables and what is lossy What actually survives an HTML → Markdown conversion, why ordered lists and nested lists break, and how GFM tables handle pipes, alignment and ragged rows. 4 min read · Updated Colour Colour notation and contrast: HEX, RGB, HSL and WCAG ratios The same colour written three ways, why HSL is not perceptual, and how the 4.5:1 contrast ratio is computed — with measured examples. 4 min read · Updated Numerals & scripts Numeral systems: Unicode digits and Roman numerals Why Thai ๑ and Arabic-Indic ١ are the same number, how Roman numerals reject non-canonical forms, and where Chinese grouping breaks the pattern. 5 min read · Updated Text & writing Cleaning text that looks right and behaves wrong Invisible characters, curly quotes and line endings that survive every copy-paste. What each one is, what trim() actually removes, and the order to clean in. 5 min read · Updated Developer Catastrophic backtracking: why a short regex can hang a page Nested quantifiers turn a few dozen characters into millions of paths. How to recognise the pattern, measure it, and rewrite it so the engine stays linear. 5 min read · Updated Developer Cron syntax explained: five fields, six and DST What each cron field means, why Quartz has six, how day-of-month and day-of-week combine, and which schedules skip or repeat at a clock change. 4 min read · Updated Time & date Why your date is off by one day: time zones and DST A timestamp is an instant; a date is a wall-clock label. Why bare dates shift, why a day is not always 24 hours, and how ISO weeks cross the year boundary. 4 min read · Updated Images What your photos reveal: EXIF, GPS and metadata A photo carries the camera, the time and often the location. What EXIF contains, what a browser can read, and what survives a re-encode. 5 min read · Updated Images JPEG, PNG or WebP: what actually makes an image smaller Dimensions, format and quality are three separate levers: what each costs, when PNG wins, and why re-encoding an already-compressed photo can make it bigger. 5 min read · Updated Money & calculators Margin, markup and ROI are three different denominators Why the same profit is a 50% markup and a 33% margin, what ROI adds over both, and the four numbers that decide a price. 5 min read · Updated Text & writing Unicode normalisation: why é can be one character or two The same visible text can be encoded two valid ways. How NFC and NFD differ, and why comparing across them gives "equal strings that are not equal". 6 min read · Updated Text & writing The invisible characters that break lookups Zero-width spaces, byte-order marks, soft hyphens and homoglyphs are invisible and break exact-match lookups. Where each comes from. 7 min read · Updated Web & DNS Punycode and homograph attacks: what xn-- really means How internationalised domains become xn-- strings, how punycode works per label, and how homograph attacks exploit it. 7 min read · Updated Web & DNS CIDR subnets explained: masks and why /31 is special How CIDR packs a network and prefix into one string, how to compute the network and broadcast address, and why /31 and /32 are special. 6 min read · Updated Data formats JSON, YAML or TOML: choosing a config format How JSON, YAML, TOML and XML differ, what each conversion actually loses, and why a round-trip is not always the identity. 6 min read · Updated Data formats CSV is not a format: quoting, delimiters and bugs Why the same CSV opens in one tool and garbles in another: the RFC 4180 quoting rules, where real files break them, and how to detect the delimiter first. 7 min read · Updated Security Hash, encrypt, encode: three words that are not the same Hashing is one-way, encryption needs a key, encoding needs nothing. Which one solves your problem, and where mixing them up causes real damage. 7 min read · Updated Security Decoding a JWT proves nothing: what a token cannot tell you A JWT decoder shows the claims, not whether the token is genuine — verification needs the key. Why trusting a decoded payload is a real vulnerability. 7 min read · Updated Text & writing Why your character count is wrong: bytes vs characters One emoji is 1 grapheme, 7 code points, 11 UTF-16 units and 25 bytes. Which number database columns, post limits and CSS actually enforce. 7 min read · Updated Encoding Base64 vs URL encoding: they solve different problems What Base64 and percent-encoding each leave alone, where the two get confused, and how the wrong choice silently corrupts data. 7 min read · Updated

How these guides are written

Every claim here was checked against the implementation the corresponding tool uses — the same function that runs in your browser. When a guide says a decoder rejects a particular input, that is because the decoder on this site rejects it; when it gives a byte count, the count comes from the same encoding call the tool makes. See the methodology for how the code is tested, and who writes this.

The guides are deliberately longer than the tool pages. A tool page is a reference you land on for twenty seconds; a guide is what you read when the twenty seconds did not answer the question.

What each guide contains

The guides share a shape, and it is not the shape of a product page. Each one opens with the problem as it appears in practice — a file that opens correctly in one tool and garbles in another, a token that decodes but should not be trusted, a string comparison that fails on text that looks identical. Then it gives the rule behind the behaviour, with the standard or specification named, and works through an example that can be reproduced with the linked tool.

The last section of each guide is the part most references omit: where the rule breaks. Encodings have characters they do not cover; formats have features they cannot represent; round-trips are not always the identity. A guide that only told you the happy path would be a restatement of the tool's own page, and it would leave you without an answer the first time an input did something unexpected. Naming the failure modes is the point.

Where to start

Each guide links to the tools it explains, and every tool page that a guide expands on links back to it, so you can move in either direction: from the concept to the widget, or from a result you do not understand to the explanation behind it.