Regex, cron, timestamps, URL encoding and code formatters are the daily tools of every developer. The 5 most important things to know:
(?<name>) not (?P<name>).Date.now() returns milliseconds.encodeURIComponent() for query parameter values, never encodeURI().The best developer tools are the ones that are always available — no installation, no account, no waiting. This guide covers the everyday utilities that developers reach for dozens of times a week: testing a regular expression, building a cron schedule, converting a timestamp, encoding a URL, or formatting a SQL query. Each tool runs entirely in your browser, processing your data locally without sending it to any server.
Regular expressions (regex) are one of the most powerful tools in a developer's toolkit. A regex pattern can validate an email address, extract data from a log file, or perform complex search-and-replace operations in a single line of code.
JavaScript regex flavour: Our Regex Tester uses JavaScript's built-in RegExp engine, the standard for web development and Node.js.
Flags: g (global), i (case insensitive), m (multiline), s (dotall), u (Unicode). For most use cases, gi is the right combination.
Capture groups: (pattern) captures a group; (?:pattern) groups without capturing; (?<name>pattern) names the capture.
Common patterns: Email: /^[\w.-]+@[\w.-]+\.[a-z]{2,}$/i. UUID: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i.
A standard cron expression has 5 fields: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7).
Special characters: * means every value. */n means every nth value. a-b means a range. a,b,c means specific values.
Common schedules — every minute: * * * * * daily at midnight UTC: 0 0 * * * every Monday at 9am: 0 9 * * 1 every weekday at 6pm: 0 18 * * 1-5.
6-field cron: AWS EventBridge, Spring Boot, and Quartz add a seconds field. Our Cron Expression Generator supports both 5-field and 6-field variants.
Timezone gotcha: Cloud schedulers (AWS EventBridge, GitHub Actions schedules) run in UTC. A job set to fire at 9am local time will fire at a different UTC hour depending on DST.
A Unix timestamp counts seconds elapsed since January 1, 1970, 00:00:00 UTC. It is the universal language for representing moments in time in APIs, databases, and log files.
Seconds vs milliseconds: A 10-digit number is almost certainly seconds (e.g., 1700000000 = November 2023). A 13-digit number is milliseconds. JavaScript's Date.now() returns milliseconds; Python's time.time() returns seconds. Our Timestamp Converter auto-detects the precision.
The Year 2038 problem: 32-bit signed integers can represent timestamps only up to January 19, 2038. Systems storing timestamps in 32-bit integers will overflow on that date. 64-bit systems can represent timestamps until the year 292 billion.
ISO 8601 for human-readable timestamps: Always use ISO 8601 format (2024-01-15T10:30:00Z) in JSON payloads and log files. Avoid locale-specific formats like 01/15/2024.
URLs can only contain a limited set of ASCII characters directly. Characters outside this set must be percent-encoded: replaced by a % followed by their two-digit hex code. Space becomes %20, & becomes %26.
encodeURI vs encodeURIComponent: encodeURI() encodes a full URL, preserving characters with structural meaning. encodeURIComponent() encodes a URL component (a single query parameter value), encoding nearly everything including & and =.
The most common bug: Using encodeURI() on a query parameter value, which leaves & unencoded and breaks the query string. Always use encodeURIComponent() for individual parameter values.
Double encoding: Encoding an already-encoded string produces %2520 instead of %20. Decode once before re-encoding if you are unsure whether the input is already encoded.
The two most common causes are: Python's re module uses a different regex flavour, and named groups use different syntax — translate (?P<name>) to (?<name>) for JavaScript.
Use */15 9-17 * * 1-5. The */15 runs at 0, 15, 30, and 45 minutes past; 9-17 restricts to business hours; 1-5 restricts to Monday through Friday. Use our Cron Generator to build and verify this visually.
Use our Timestamp Converter — it shows the current timestamp updating in real time. In code: JavaScript uses Math.floor(Date.now() / 1000) for seconds, Python uses import time; time.time().
The & character is the query string delimiter. If your parameter value contains a literal &, it must be percent-encoded as %26. Use our URL Encoder's component mode to encode individual parameter values correctly.
Pick one style and enforce it with a linter. The most common convention is keywords in UPPERCASE (SELECT, FROM, WHERE) with each clause on its own line. Our SQL Formatter applies consistent formatting and supports configurable keyword casing.