Start typing or open a Markdown file to see the preview.
Password
Password generation · Hash — everything runs in your browser, nothing is sent anywhere
- Strength: -
- Entropy: - bits
- Pool: - chars
- Brute force: -
A tick means no character in the password needs escaping or encoding in that context — it does not test a real connection. The per-context rules come from the official docs (RFC 3986, libpq, SQL).
Editing re-checks instantly — nothing leaves your browser.
- Strength: -
- Entropy: - bits
- Pool: - chars
- Length: -
- Brute force: -
- Character kinds: -
This is a ceiling: it assumes every character is random. A password built from words or personal patterns is weaker than shown.
A tick means no character in the password needs escaping or encoding in that context — it does not test a real connection. The per-context rules come from the official docs (RFC 3986, libpq, SQL).
- Hash (SHA-1/256/384/512) is one-way — you cannot get the original text back. It only proves two inputs are identical.
- Base64 is not encryption — it only changes the representation, and anyone holding the string can decode it without a key. Reversible, therefore not secure.
- To store real user passwords, do not use plain SHA — use bcrypt, scrypt or Argon2 (they add a salt and a tunable cost).
- Randomness comes from
crypto.getRandomValues(), the operating system generator — notMath.random().
Base64
Encode and decode Base64 · UTF-8 (Thai and emoji) — the round trip is verified as you type
Text → Base64 (UTF-8, Thai and emoji supported)
- Input bytes: -
- Format: -
Pick an image and get its Base64 — the prefix is optional.
PNG · JPEG · GIF · WebP · BMP · ICO · SVG — the file never leaves your browser
No image yet — pick a file or paste Base64
- Type: -
- Image size: -
- Base64 size: -
- Base64 is not encryption — it only changes the representation, and anyone holding the string can decode it without a key. Reversible, therefore not secure.
Image resize
Resize or enlarge an image right here in the browser — in pixels or by percentage — then download it.
PNG · JPEG · GIF · WebP · BMP · ICO · SVG — the file never leaves your browser
Quality applies to JPEG and WebP only — PNG is always lossless.
Choose an image to see the resized result here
- Source: -
- Target: -
- File size: -
Press Select, drag on the preview, then Apply.
- Everything runs in your browser — the image is never uploaded anywhere. JPEG has no transparency, so transparent areas are filled with white.
PDF ↔ Image
Convert PDF pages to images, or combine images into a PDF — locally in your browser.
Choose a file to begin
Choose images to begin
Choose a PDF to edit
Image highlight
Draw boxes, circles and highlights on an image.
PNG · JPEG · GIF · WebP · BMP · ICO · SVG — the file never leaves your browser
Drag on the image to draw.
Choose an image to draw on here
- Source: -
- Now: -
- Steps: -
- Everything runs in your browser — nothing you type or paste is uploaded anywhere.
Encrypt
Encrypt and decrypt text with a passphrase you type — AES-256-GCM, all inside your browser.
Type the text and a passphrase.
The passphrase is never stored and never sent anywhere.
- Characters in: -
- Encrypted size: -
- Round trip: -
- Scheme: AES-256-GCM · PBKDF2-SHA256 210,000
- This is real encryption — AES-256-GCM with a key derived from your passphrase.
Keys
RSA or ECDSA.
Generate a key pair
Use a key
Encrypt, decrypt, sign or verify.
- Test keys only.
- Everything runs in your browser.
JSON
View, validate and edit JSON — format it, minify it, and see the structure as a tree.
Valid JSON shows up here as a tree you can fold
- Objects: -
- Arrays: -
- Keys: -
- Max depth: -
- Output size: -
- Everything runs in your browser — the file is never uploaded.
UUID / ULID
Generate UUID v4 or time-ordered ULIDs.
Random 128-bit IDs.
- Randomness comes from
crypto.getRandomValues().
Timestamp
Convert between epoch and ISO dates.
- Local: -
- Epoch (sec): -
- Epoch (ms): -
- Relative: -
- Everything runs in your browser — nothing you type or paste is uploaded anywhere.
URL
Percent-encode and decode URLs.
- Everything runs in your browser — nothing you type or paste is uploaded anywhere.
Text diff
Compare two texts line by line.
- added -
- removed -
- unchanged -
- Everything runs in your browser — nothing you type or paste is uploaded anywhere.
Markdown
Edit Markdown on the left, preview on the right, then export as HTML or print to PDF.
Files stay on this device. Supports .md, .markdown and .txt up to 1 MB.
Opens the print dialog — choose “Save as PDF”.
- Everything runs in your browser — nothing you type or paste is uploaded anywhere.
JWT
Decode a JSON Web Token.
- Algorithm: -
- Expires: -
Sign a token
Create a signed token.
Verify a token
Recompute the signature.
- Decoding is not verifying.
- The secret stays in your browser.
Text tools
Change text case, clean lines, and inspect text size.
- Characters: 0
- Words: 0
- Lines: 0
- UTF-8 bytes: 0
- Everything runs in your browser.
Regex tester
Try a regular expression, inspect matches, and preview replacements.
Patterns run in this browser. Very complex patterns may take a long time.
- Everything runs in your browser.
CSV ↔ JSON
Convert CSV rows to JSON and JSON records to CSV.
CSV is parsed with quoted fields and escaped quotes. JSON to CSV expects an array of objects.
- Everything runs in your browser.
File checksum
Calculate a SHA-2 checksum for a local file and compare it with a known value.
Files up to 128 MiB are read into memory. The file stays in your browser.
- Everything runs in your browser.
Number base
Convert numbers between bases.
- Binary: -
- Octal: -
- Decimal: -
- Hex: -
- Everything runs in your browser.
Color picker
Convert color formats.
Screen picking works in Chrome / Edge (Chromium) and in the desktop app.
- HEX: -
- RGB: -
- HSL: -
- On white: -
- On black: -
- Everything runs in your browser.
Cron
Check when a cron schedule runs next.
- Everything runs in your browser.
YAML ↔ JSON
Convert YAML and JSON locally in your browser.
- Everything runs in your browser.
HTML Preview
Preview HTML in an isolated frame.
Scripts and external network requests are blocked. Embedded data images and inline styles are allowed.
- Scripts and external network requests are blocked.
Code formatter
Beautify or minify HTML, CSS, JavaScript, and XML locally.
- Everything runs in your browser.
SQL formatter
Format SQL for a selected database dialect.
- Everything runs in your browser.
JSON to Code
Infer TypeScript or Go types from a JSON sample.
- Everything runs in your browser.
HTML to JSX
Convert HTML markup into React JSX.
- Everything runs in your browser.