Developer text tools
Paste JSON, a JWT or base64, or type a short command like uuid or camel case this, and the result appears as a card at the top of the bar, ready to copy.
Use them
Like the calculator, there's nothing to open: type or paste into the bar. The card shows the tool's name and a line about the result on the left, and the result itself on the right.
| Key | What it does |
|---|---|
| ↵ | Copy Result, and the bar closes. |
| ⌘↵ | Paste Result into the app you were in. Needs Accessibility. |
| ⌘K | Other forms of the result to copy, listed with each tool below. |
JSON
Paste anything that starts with { or [. Valid JSON comes back formatted with two-space indents, its keys in their original order, and the card says how many keys or items it has.
- A JavaScript object literal (bare keys, single quotes, trailing commas, comments) is turned into proper JSON.
- JSON Lines (one object per line) becomes an array.
- If it isn't valid, the card says what's wrong instead, and there's nothing to copy.
⌘K: Copy Minified, and for an array, Copy as JSON Lines.
Base64
| Type | What you get |
|---|---|
base64 hello | The text encoded. b64 and base64 encode … work too. |
base64 -d aGVsbG8= | The text decoded. --decode and decode work too. |
| A pasted base64 string | Decoded on its own when it's at least 16 characters and decodes to readable text. |
A pasted data: URL | Its type and size, and its text when it holds text. |
⌘K on an encoded result: Copy URL-Safe (with - and _, no padding). Decoding accepts both the standard and the URL-safe alphabet, with or without padding.
JWT
Paste a JSON web token (it starts with eyJ). The card shows its claims as formatted JSON, its algorithm, and when it expires ("Expires in 2 hours", "Expired 3 days ago" or "No expiry").
To check a signature, type a space and the secret after the token. Only HS256 signatures are checked; the card says "Signature valid" or "Signature doesn't match". Nothing is ever signed.
⌘K: Copy Header.
IDs
| Type | What you get |
|---|---|
uuid | A random UUID (version 4). guid works too. |
uuid v7 or uuid7 | A time-ordered UUID (version 7). |
ulid | A ULID. |
typeid user | A TypeID with the prefix you type (lowercase letters and underscores), or none with plain typeid. |
The id stays the same while you look at it, and a new one is made when you type the command again. ⌘K on a UUID: Copy Uppercase.
Change case
Type a style, the word case, and your text: camel case parse http response gives parseHttpResponse. Writing it as one word works too (snakecase …). Words are split at spaces, punctuation and camel-case humps, so you can convert between styles.
| Type | Style |
|---|---|
camel case | camelCase |
pascal case | PascalCase |
snake case | snake_case |
kebab case | kebab-case |
constant case or screaming case | CONSTANT_CASE |
title case | Title Case |
sentence case | Sentence case |
upper case / lower case | UPPER CASE / lower case |
⌘K copies the same words in any of the other styles.
Count
Type count (or wc) and your text. The card shows the number of words, with the characters and lines under it. ⌘K: Copy Character Count.
Lorem ipsum
| Type | What you get |
|---|---|
lorem | One paragraph. |
lorem 3 | Three paragraphs. |
lorem 20 words | Twenty words. |
lorem 5 sentences | Five sentences. |
Up to 50 of each. lipsum works too, and the same request always gives the same text.
Settings
The tools have one switch: Settings → Calculator → Answers → Developer text tools (on by default). They also go off when the Calculator itself is turned off at the top of that page.
Limits
- Text longer than 20,000 characters isn't looked at, so very large pastes stay a normal search.
- JWT signatures: HS256 only.