Developer Tools
This is the set of small utilities a developer reaches for several times a day, usually while debugging something else. Rather than installing a package or writing a throwaway script, you paste the data in, read the answer and get back to work. The JSON Formatter indents and validates API responses so a missing bracket becomes obvious, and the SQL Formatter does the same for queries that arrived as one long line. The Regex Tester shows which parts of a sample string a pattern actually matches, which is far faster than guessing in a log file. The Diff Checker highlights what changed between two versions of a config or a paragraph of text. For data that has to survive being moved around, use the Base64 Encoder/Decoder for binary in a text field, the URL Encoder/Decoder for query strings and the HTML Encoder/Decoder when markup needs to be shown rather than rendered. The Cron Expression Generator translates a schedule into the five-field syntax and back again, and the CSS Minifier strips whitespace before deploy. The Markdown Editor previews as you type, and html javascipt css compiler gives you a scratch pad for a quick front-end idea. Heavier work belongs in the Python compiler, which executes your script and returns the output.
12 tools available
Showing 1–12 of 12
html javascipt css compiler
Edit HTML, CSS and JavaScript side by side and preview the result in a sandboxed frame with console output.
JSON Formatter
Pretty-print, minify or validate JSON and see its key count, array count, nesting depth and size before and after.
Python compiler
Write Python 3 code, supply stdin, and run it against a real interpreter with live stdout, stderr and exit codes.
HTML Encoder/Decoder
Convert special characters to HTML entities and back, with optional quote, slash and space encoding.
URL Encoder/Decoder
Percent-encode or decode URLs with a choice of encodeURIComponent or encodeURI and a query parameter breakdown.
Base64 Encoder/Decoder
Encode or decode Base64 with full Unicode support, URL-safe output and optional padding removal.
Markdown Editor
Write Markdown with a toolbar and live preview, then copy or download the Markdown or the rendered HTML.
Regex Tester
Test regex patterns live against sample text, with match positions, capture groups, named groups and flag toggles.
CSS Minifier
Compress CSS by stripping comments and whitespace, with calc() and licence comments protected.
SQL Formatter
Format messy SQL into indented, readable clauses, or minify it to a single line without breaking literals.
Diff Checker
Compare two texts line by line with inline word highlights, unified or split view and adjustable context.
Cron Expression Generator
Build or decode five-field cron expressions with per-field modes, ready-made presets and a plain English summary.
The five fields and the four syntax characters
Four characters carry the syntax. An asterisk means every value of that field. A comma separates a list, so 6,18 in the hour field means six in the morning and six in the evening. A hyphen forms an inclusive range, so 1-5 in the day of week field covers Monday to Friday. A forward slash adds a step, so a step of 15 on the minute field produces an expression that fires at minutes 0, 15, 30 and 45. A range with a step combines the last two, giving patterns such as every ten minutes between nine and five.
The job runs whenever the current time matches all five fields at once, checked at the start of every minute.
Building a weekday nine o'clock backup
The minute field must pin the job to the top of the hour, so choose a specific value of 0. Leaving it as an asterisk would instead fire the job sixty times, once every minute of the nine o'clock hour. The hour field takes a specific value of 9. Day of month and month both stay as every value, written as asterisks, because the schedule is driven by weekday rather than by date. The day of week field takes a range from 1 to 5, since 1 is Monday and 5 is Friday.
Reading the fields together gives 0 9 * * 1-5, described in plain English as nine in the morning, Monday to Friday. That comes to 5 runs a week, or 260 in a normal year.
Change only the minute field to a step of 10 and a range of 9 to 17 on the hour, and you get */10 9-17 * * 1-5, which fires 6 times an hour across 9 hours, or 54 runs each working day.
Timezones, the day-of-week trap and other gotchas
The classic trap involves the day of month and day of week fields. When both are set to something other than an asterisk, standard cron treats them as an OR rather than an AND, so 0 9 1 * 1 fires on the first of the month and on every Monday, not only on a Monday that falls on the first. Keep one of the two as an asterisk unless you genuinely want that behaviour.
Two more points. This is the five-field form, so the smallest interval is one minute and there is no seconds field, although some schedulers add one. And a run that overlaps the next scheduled time can leave two copies running at once unless your job guards against it.