pillowthought api — every text tool over plain HTTP. text in, text out. usage curl -s https://api.pillowthought.xyz/lorem curl -s "https://api.pillowthought.xyz/base64/encode?in=hello" echo $TOKEN | curl -s --data-binary @- https://api.pillowthought.xyz/jwt/decode curl -s --data-binary @notes.txt https://api.pillowthought.xyz/detect input the POST body (use --data-binary; plain -d strips newlines), or ?in=…, or the rest of the path: https://api.pillowthought.xyz/base64/encode/hello one trailing newline is dropped so `echo` works; add ?raw=1 to keep it. up to 256 KB of text. options as query parameters, e.g. ?count=5. unknown options are an error. output plain text. add ?json=1 for {"tool","output"}; errors come back as plain text with a 4xx status. help https://api.pillowthought.xyz/help/ for one tool's options and an example. tools (104) /base64/decode Decode Base64 (standard or URL-safe) to text. /base64/encode Encode text as Base64 (standard or URL-safe). ?urlSafe=true|false /binary/decode Decode 8-bit binary groups (01001000 01101001) into text. /binary/encode UTF-8 bytes of text as 8-bit binary groups. /case/camel Convert text or identifiers to camelCase (helloWorldAgain), line by line. /case/constant Convert text or identifiers to CONSTANT_CASE (HELLO_WORLD_AGAIN), line by line. /case/dot Convert text or identifiers to dot.case (hello.world.again), line by line. /case/kebab Convert text or identifiers to kebab-case (hello-world-again), line by line. /case/lower Convert text or identifiers to lower case (hello world again), line by line. /case/pascal Convert text or identifiers to PascalCase (HelloWorldAgain), line by line. /case/path Convert text or identifiers to path/case (hello/world/again), line by line. /case/sentence Convert text or identifiers to Sentence case (Hello world again), line by line. /case/snake Convert text or identifiers to snake_case (hello_world_again), line by line. /case/title Convert text or identifiers to Title Case (Hello World Again), line by line. /case/upper Convert text or identifiers to UPPER CASE (HELLO WORLD AGAIN), line by line. /chmod Convert Unix permissions between 755, rwxr-xr-x and u=rwx,go=rx, with a plain-English reading. /color/convert Convert a colour between hex, rgb(), hsl(), hwb(), oklch(), oklab() and lab(). /cron/explain Explain a cron expression in plain English and list the next runs. ?tz=UTC&count=0..50 /css/format Beautify CSS with consistent indentation. ?indent=2|4|tab /css/minify Strip comments and whitespace from CSS. /csv/to-json Convert CSV/TSV (first row = headers) to a JSON array of objects. ?header=true|false&types=true|false&delimiter=auto|,|tab|;|| /domain/parse Split a hostname into subdomain, registrable domain and public suffix; convert IDN ↔ punycode. /duration/convert Convert durations between 1h30m, ISO 8601 (PT1H30M), hh:mm:ss, seconds and plain English. /email/parse Validate an email address and split it into name, local part, +tag and domain. /escape/csv Escape text for use inside a CSV field. /escape/js Escape text for use inside a JavaScript string. /escape/json Escape text for use inside a JSON string. /escape/regex Escape text for use inside a regular expression. /escape/shell Escape text for use inside a shell argument. /escape/sql Escape text for use inside a SQL string literal. /hash/crc32 CRC-32 checksum digest of UTF-8 text. ?encoding=hex|HEX|base64|base64url /hash/identify Guess which algorithm produced a hash from its length and format. /hash/md5 MD5 digest of UTF-8 text. Not for security — collisions are easy. ?encoding=hex|HEX|base64|base64url /hash/sha1 SHA-1 digest of UTF-8 text. Not collision-resistant any more. ?encoding=hex|HEX|base64|base64url /hash/sha256 SHA-256 digest of UTF-8 text. ?encoding=hex|HEX|base64|base64url /hash/sha384 SHA-384 digest of UTF-8 text. ?encoding=hex|HEX|base64|base64url /hash/sha512 SHA-512 digest of UTF-8 text. ?encoding=hex|HEX|base64|base64url /hex/decode Decode hexadecimal bytes back into UTF-8 text. /hex/encode UTF-8 bytes of text as hexadecimal. ?sep=none|space|colon|0x|\x&upper=true|false /hmac/sha256 Keyed HMAC signature of text (SHA-256 by default; SHA-1/384/512 too). ?key=…&algo=sha256|sha512|sha384|sha1&encoding=hex|HEX|base64|base64url /html/decode Turn &lt; &#169; &eacute; and friends back into characters. /html/encode Escape <, >, &, quotes (and optionally all non-ASCII) as HTML entities. ?all=true|false /html/format Beautify HTML with consistent indentation. ?indent=2|4|tab /html/minify Collapse whitespace and drop comments in HTML (keeps
,