Tools › Developer
Developer
The small jobs that crop up while writing code: test a regular expression, compare two blocks of text, explain a cron schedule, convert timestamps and number bases, read hex dumps, logs, stack traces and HAR files, work out subnets and permissions, see why Git ignores a file, check which SSH settings apply to a host, and turn cURL commands into code.
UUID GeneratorUp to 1,000 UUIDs as version 4 (random), 7 (time-ordered), 1 (time-based) or 5 (from a namespace and name), ULIDs, NanoIDs and MongoDB ObjectIds, and a tool to read any of them.
Timestamp ConverterUnix time in seconds, milliseconds, microseconds or nanoseconds (told apart by length), or a date, shown as Unix time, ISO 8601, local time, UTC and how long ago; also Windows FILETIME, .NET ticks, Chrome, NTP, GPS, HFS+, FAT, Apple Cocoa, Excel and Julian Day times, and the times inside ULIDs, ObjectIds, Firebase push IDs, Bluesky TIDs and Snowflake IDs; the first and last second of a day, week, month, quarter or year; a list of timestamps at once; code for Unix time in a dozen languages; and durations between seconds, SCORM 1.2 time and ISO 8601 (SCORM 2004, xAPI, cmi5).
Truth TableType a boolean expression, in symbols, words or code, to get its truth table, its simplest form and its minterms; type two to check they're equivalent.
Number BasesDecimal, hexadecimal, octal, binary, Base62 and any base from 2 to 36; type in any box. Also a number as a fixed-width signed integer with its byte order, and text as binary, octal, decimal or hex character codes.
Key CodesPress a key to see what JavaScript gets: event.key, event.code, the old keyCode and which, the key's location, and the modifiers held.
Gamepad TesterPlug in or pair a game controller, press a button on it, and see every button and stick live as the browser's Gamepad API reports it, set a dead zone to check for stick drift, and test the vibration where the controller and browser support it.
cURL to CodePaste a curl command, a raw HTTP request or a HAR from your browser, and get the same request as curl, Python requests, JavaScript fetch, Go or PHP.
docker run to ComposePaste one or more docker run commands and get the compose.yaml that runs the same containers: ports, volumes, environment, networks, limits and health checks.
Mermaid EditorWrite or paste Mermaid text and see the diagram it describes drawn as you type: flowchart, sequence, class, state, entity-relationship, Gantt, pie, mind map and more. Start from a template for any of them, or open the reference for its syntax, with examples to insert. Choose a theme such as light, dark, print or high contrast, zoom and pan, go full screen, save it as SVG or PNG, copy the SVG or a Markdown block, or open and save the text as a file.
Diff CheckerCompare two texts line by line, with the changed words inside each line highlighted, side by side or as a unified diff. Or compare two JSON or YAML documents, ignoring formatting and key order.
Regex TesterTest a regular expression as you type. The pattern is colour-coded and explained piece by piece, every match and capture group is highlighted in the text in matching colours and listed in a table, a replacement is previewed, and example strings that match are generated.
Git Ignore TesterPaste a .gitignore and some paths to see whether Git ignores each one, the pattern that decides it, and why: a later pattern overriding an earlier one, or a file that can’t be brought back because its folder is ignored.
Cron ExplainerDescribes a cron expression in English, lists its next 10 runs, and gives the launchd StartCalendarInterval that matches it, with a builder for writing one from menus and tick boxes.
PermissionsFile modes as checkboxes, octal (755) and the ls -l form (rwxr-xr-x), including setuid, setgid and sticky, with the matching chmod commands.
Subnet CalculatorThe network, netmask, broadcast address and usable host range of an IPv4 or IPv6 address with a CIDR prefix or a netmask, the network split into smaller subnets or listed address by address, a list of addresses grouped by network, and random IPv6 unique local prefixes and MAC addresses.
SSH Config InspectorPaste an OpenSSH client config (~/.ssh/config) and type a host to see which Host and Match blocks apply and the settings ssh would use, with the line each comes from and the later values it ignores. Mistakes and risky settings are pointed out.
Path ConverterA path in any form (POSIX, ~, Terminal-escaped or quoted, HFS such as Macintosh HD:Users:…, file:// URL, AppleScript POSIX file, smb:// URL or Windows \\server\share) fills a field for each form at once, each with a Copy button: POSIX, from home, quoted for the shell, a file:// URL, HFS, AppleScript POSIX file, and, for a network share in /Volumes with an SMB server given, an smb:// URL and a Windows UNC path.
Hex ViewerA file's bytes in hex, with each character shown above its bytes (UTF-8 included, control characters as symbols), 4 KB at a time and read straight from the file, so large files are fine; plus its entropy, the text inside it, and any files hidden inside it.
File TypeFind out what files really are from what's inside them, not their names: the type and how it was recognised, its MIME type and usual extension, and whether the extension matches. Office documents, e-books, apps and other ZIP-based files are told apart by their contents.
Web ScratchpadHTML, CSS and JavaScript, each in its own syntax-highlighted tab, run together as one page, on ⌘/Ctrl-Enter, the Run button or as you type. Result and Console tabs show the page, and its console output and uncaught errors (with the line in the JavaScript tab).
HAR Viewer & RedactorOpen a HAR file (a browser's saved network log) to see its requests, then save a copy with cookies, sign-in headers, tokens, passwords and response bodies removed, safe to send to a support team.
Log ViewerOpen a log file, even a large one, and narrow it down: by level, by words or a regular expression, and by time. Stack traces and other multi-line entries stay together, times can be shown in your own time zone, and terminal colour codes are shown as colours or removed.
Stack Trace FormatterPaste a stack trace from a log, an error report or JSON (escaped
and all) to have it laid out frame by frame, with library frames folded away and your own code first. Add source maps to see where minified JavaScript errors really happened.
Semver Range CheckerType a version range as npm or Cargo writes it (^1.2.3, ~1.2, 1.x, >=1.0 <2, 1.2 - 1.4 || 2) to see what it means in plain comparators and words, and which of your versions it matches, pre-releases included.
Test File GeneratorMake a file of an exact size, or a set of files that add up to a total, filled with zeros, random bytes or repeated text. For testing uploads, size limits and storage.
Folder TreeDraw a folder's files and subfolders as a tree, like the tree command, in Unicode or ASCII lines, a Markdown list or indented text. Choose or drop a folder, or paste a list of paths.
Guides
Documenting a project's files, tables and linksWrite a README or handover note that's easy to follow: draw the folder structure as a tree, turn a spreadsheet into a table, make every link the same format, give files tidy names and check the Markdown.
Debugging a failing API callFrom a browser's network capture to a fix: find the failing request, read its status, token and times, turn it into code, and share the capture safely.
Why won't my JSON file load?Find the error in a JSON file that a program rejects, repair the common slips, check it has what the program expects with a JSON Schema, and find your way round a large file.
Handling passwords and tokens in your own appStore passwords as bcrypt hashes and choose the cost, make API keys and store only their hash, add two-factor sign-in with TOTP, and check the tokens your app issues.
Reading a crash or a logFind the cause of an error: filter a log by level and time, find your code in a stack trace, read timestamps and compare a working config.
Testing an upload limit or a slow uploadFind out whether an upload problem is the file size, the number of files or the connection: make test files of exact sizes, work out how long they should take, capture what the browser did, and match it to the server's log.
What is this file?Work out what an unknown file really is, look inside its bytes, check it against a published hash, and unpack compressed or encoded data.
What time is this number? Timestamps in logs and IDsWork out which kind of time a number is (Unix, Windows, Chrome, .NET, Excel, GPS and more), read the time hidden in an ID, find the bytes in a file, and turn a day or week into exact start and end times.
Why is Git ignoring my file (or not ignoring it)?Find out why Git ignores a file you want to commit, or keeps showing one you meant to ignore: test your .gitignore patterns, re-include a file inside an ignored folder, stop tracking a committed file, and spot invisible characters.