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.

KeyWhat it does
↵Copy Result, and the bar closes.
⌘↵Paste Result into the app you were in. Needs Accessibility.
⌘KOther forms of the result to copy, listed with each tool below.
Nothing is stored. What you type for these tools (a token, a secret, pasted JSON) is never kept in your recent searches or used for ranking, and nothing is sent anywhere.

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.

⌘K: Copy Minified, and for an array, Copy as JSON Lines.

Base64

TypeWhat you get
base64 helloThe text encoded. b64 and base64 encode … work too.
base64 -d aGVsbG8=The text decoded. --decode and decode work too.
A pasted base64 stringDecoded on its own when it's at least 16 characters and decodes to readable text.
A pasted data: URLIts 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

TypeWhat you get
uuidA random UUID (version 4). guid works too.
uuid v7 or uuid7A time-ordered UUID (version 7).
ulidA ULID.
typeid userA 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.

TypeStyle
camel casecamelCase
pascal casePascalCase
snake casesnake_case
kebab casekebab-case
constant case or screaming caseCONSTANT_CASE
title caseTitle Case
sentence caseSentence case
upper case / lower caseUPPER 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

TypeWhat you get
loremOne paragraph.
lorem 3Three paragraphs.
lorem 20 wordsTwenty words.
lorem 5 sentencesFive 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