💻

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.

Developer Tools 15 uses
📋

JSON Formatter

Pretty-print, minify or validate JSON and see its key count, array count, nesting depth and size before and after.

Developer Tools 441 uses
🔧

Python compiler

Write Python 3 code, supply stdin, and run it against a real interpreter with live stdout, stderr and exit codes.

Developer Tools 9 uses
🌐

HTML Encoder/Decoder

Convert special characters to HTML entities and back, with optional quote, slash and space encoding.

Developer Tools 225 uses
🔗

URL Encoder/Decoder

Percent-encode or decode URLs with a choice of encodeURIComponent or encodeURI and a query parameter breakdown.

Developer Tools 125 uses
🔐

Base64 Encoder/Decoder

Encode or decode Base64 with full Unicode support, URL-safe output and optional padding removal.

Developer Tools 87 uses
📝

Markdown Editor

Write Markdown with a toolbar and live preview, then copy or download the Markdown or the rendered HTML.

Developer Tools 191 uses
🔍

Regex Tester

Test regex patterns live against sample text, with match positions, capture groups, named groups and flag toggles.

Developer Tools 268 uses
🎨

CSS Minifier

Compress CSS by stripping comments and whitespace, with calc() and licence comments protected.

Developer Tools 53 uses
🗄️

SQL Formatter

Format messy SQL into indented, readable clauses, or minify it to a single line without breaking literals.

Developer Tools 422 uses
🔄

Diff Checker

Compare two texts line by line with inline word highlights, unified or split view and adjustable context.

Developer Tools 227 uses
⏱️

Cron Expression Generator

Build or decode five-field cron expressions with per-field modes, ready-made presets and a plain English summary.

Developer Tools 355 uses

The five fields and the four syntax characters

A cron expression is five space-separated fields read left to right: minute 0 to 59, hour 0 to 23, day of month 1 to 31, month 1 to 12, and day of week 0 to 6. The generator colour-codes each field and lets you set it independently, offering the five modes that cover almost every schedule.

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

Say you want a backup to run at nine in the morning on working days only.

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 expression says nothing about which clock it is read against. Cron uses the timezone of the machine or the scheduler running it, so a job written for nine in the morning fires at nine UTC on a UTC server even if you wrote it while sitting in London in summer. Check your scheduler's timezone setting before assuming a local time.

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.

Frequently Asked Questions

It runs the job every fifteen minutes, at minutes 0, 15, 30 and 45 of every hour, on every day. The slash introduces a step within the minute field, and the four asterisks that follow mean every hour, every day of month, every month and every day of week are matched.
This generator uses 0 through 6 with 0 as Sunday and 6 as Saturday, which is the most widely supported convention. Some cron implementations also accept 7 as an alternative for Sunday, and many accept three-letter names. If you are targeting a specific scheduler, confirm against its own documentation.
Yes. Use the import option to load an existing expression, and the generator populates the five field controls and shows the plain English description. This is the quickest way to work out what an inherited schedule does before you change it, and it highlights mistakes in the original string.
Whichever timezone the scheduler itself is configured with, which is commonly UTC on servers and containers. The expression carries no timezone information. If your job must run at a particular local time, set the timezone on the scheduler or add an offset to the hour field and account for daylight saving changes.
Cron only fires when a real date matches. A day of month of 31 simply never matches in February, April, June, September or November, so the job silently skips those months. For a reliable end-of-month run, schedule on the first of the following month or handle the date logic inside the job.