Time zone planner
Jamaica never shifts its clocks — most of your contacts do. Green is their working day, amber is the edge, red is asleep. The tool warns you when a zone's offset is about to change.
Date calculator
Gaps, deadlines, and "when do I have to start" — without counting on your fingers.
Between two dates
Add / subtract
Deadline planner
Image shrink + metadata strip
Runs entirely on this device — the photo never leaves your browser. Re-encoding through a canvas removes GPS location, camera model and every other EXIF tag automatically.
Money math
The three calculations people get talked past: what financing really costs, the difference between markup and margin, and honest percentage change.
Loan / financing — true cost
Markup vs margin
Percentage change
Text & JSON toolkit
The stuff you'd otherwise paste into an ad-farm website. It stays on this page.
Result appears here.
Compare two blocks (line level)
Lines only in A show as −, only in B as +.
Structural JSON diff
Compares two JSON objects by meaning, not by line. Formatting, key order and whitespace are ignored — you get only real changes, each with its full path. This is the one to use on two workflow exports.
+ added · − removed · ~ changed, with the path to each.
Secure
Passwords from real cryptographic randomness, QR codes generated on this page, and key fingerprints so you can tell credentials apart without ever exposing them.
Password generator
Entropy uses crypto.getRandomValues. Crack-time assumes 10 billion guesses/second offline — the honest worst case, not the marketing one.
QR code
Generated locally by a library served from Cloudflare's CDN — no QR service ever sees the content, and nobody can redirect the code later.
Credential fingerprint
Same input → same fingerprint, so two pastes match only if the keys are byte-identical (leading/trailing spaces and a "Bearer " prefix change the hash — that's the point). The list lives in memory only and clears on refresh.
Error dissector
Paste an error blob — n8n, Airtable, a stack trace, raw JSON — and it digs out every status code, message, node name and API body it can find, however deeply nested. Built for the class of bug where the real cause is four levels down in cause.response.status.
Findings appear here.
Airtable helpers
Deliberately credential-free — nothing here holds a PAT, so nothing here can leak one. These prepare data and requests; the token stays in your terminal.
Phone normaliser (Jamaica rules)
Paste numbers one per line in any format. Outputs +1876… E.164, dedupes on the last 10 digits, flags what it can't fix. Built for mixed-format consent lists.
API request builder
Builds a correct curl with the right body shape — record URLs take {"fields":…}, collection URLs take {"records":[…]}. Getting that wrong is the most common Airtable 422.
Traps this route has proven: a 403 usually means a WRONG TABLE ID, not bad permissions — Airtable answers missing tables with 403, not 404. A 422 "Could not find field 'fields'" means you used the record body shape on a collection URL or vice versa. Field names are case- and emoji-sensitive; prefer IDs.
Schema explorer
Paste the JSON from GET /v0/meta/bases/{baseId}/tables and search every table and field name → ID. Ends the "which fld is that" hunt.
Tables and fields appear here.
CSV cleaner
Trims whitespace, collapses doubled spaces, drops fully-duplicate rows and empty lines. Import-ready.
Cron & timestamps
Reads a five-field cron expression, tells you in plain English what it means, and lists the next fire times in whichever zone you pick. Built because "fires on the first tick of the hour when minute < 5" is easy to write and hard to verify.
Cron expression
Fire times appear here.
Timestamp converter
Seconds vs milliseconds is auto-detected by magnitude.
Unit converter
Enter a value once; every equivalent in that family appears at the same time. No dropdown-pair fiddling.
Record / table ID validator
Airtable answers a missing or malformed table ID with 403 Forbidden, not 404 — so a typo looks exactly like a permissions problem and sends you hunting the wrong thing. Paste IDs here first.