Estimate your body fat from a few tape measurements, your waist alone, or your BMI, and see where it sits in the healthy range for your age and sex.
64 public tools across 9 categories.
Search and filter the complete public catalog.
64 matching tools.
Estimate your body fat from a few tape measurements, your waist alone, or your BMI, and see where it sits in the healthy range for your age and sex.
Work out your body mass index from your height and weight, see where it falls on the adult BMI scale, and the healthy weight range for your height.
Work out how many calories you need a day to keep, lose or gain weight, using the 2023 National Academies equations, and see where that energy goes.
Convert text to camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, UPPERCASE, lowercase and a URL slug, all at once.
Convert numbers between binary, octal, decimal and hex in your browser. Paste 255, 0xFF or 0b11111111 and get every base back, with no rounding.
Format and validate YAML in your browser, convert YAML to JSON, or paste JSON to get YAML. Errors show the line and column of the first problem.
Validate JSON in your browser and find the first syntax error by line and column, with a caret under the spot. Duplicate keys and trailing commas fail.
Convert text to snake_case, so words become lowercase and spaces become underscores. It all runs inside your browser, so your text stays on the device.
Generate placeholder text by paragraph, sentence or word, with control over length, vocabulary, truncation and an optional seed for repeatable output.
Alternate lowercase and uppercase letters through your text while preserving spacing and punctuation. It all runs inside your browser, on your device.
Identify a file's format, MIME type, recommended extension, category and size from its contents. It all runs inside your browser, on your own device.
Flip text 180 degrees using Unicode lookalike glyphs, preserving characters that have no upside down form. It all runs inside your own browser.
Generate Adler-32 checksums from text or uploaded files. Adler-32 is built for speed rather than security, and it runs inside your own browser.
Generate SHA-512/224, SHA-512/256 or full SHA-512 digests from text or uploaded files. Everything runs inside your browser, on your own device.
Generate SHA-384 digests from text or uploaded files. Everything runs inside your own browser, so the data you paste never leaves the device.
Generate SHA-256 digests from text or uploaded files: 256 bits, 32 bytes, 64 hexadecimal characters. It all runs inside your own browser, on your device.
Generate SHA-224 digests from text or uploaded files. Everything runs inside your own browser, so the data you paste never leaves the device.
Generate SHA-1 digests from text or uploaded files: 160 bits, 40 hexadecimal characters. SHA-1 is not suitable for new security-sensitive uses.
Generate SHAKE128 or SHAKE256 extendable-output hashes of 1 to 1,048,576 bytes from text or uploaded files. It all runs inside your own browser.
Generate Keccak-224, Keccak-256, Keccak-384 or Keccak-512 hashes from text or uploaded files. It runs in your browser, so nothing leaves the device.
Generate SHA3-224, SHA3-256, SHA3-384 or SHA3-512 digests from text or uploaded files. Everything runs inside your own browser, on your device.
Generate MD4 digests from text or uploaded files for legacy compatibility. MD4 is cryptographically broken. It all runs inside your browser.
Generate MD5 digests from text or uploaded files: 128 bits, 32 hexadecimal characters. MD5 is cryptographically broken and is for legacy use only.
Generate FNV-1 or FNV-1a 32-bit and 64-bit non-cryptographic hashes from text or uploaded files. It all runs inside your browser, on your device.
Generate CRC-32 checksums from text or uploaded files using ISO-HDLC, CRC-32C, BZIP2, MPEG-2, cksum and six more named variants, in your browser.
Generate CRC-64 checksums from text or uploaded files using the XZ, ECMA-182, Go-ISO, MS, NVMe, Redis or WE variant. It all runs in your browser.
Generate BLAKE2b digests at 128, 256, 384 or 512 bits, or any length from 1 to 64 bytes, from text or uploaded files. It runs inside your browser.
Generate BLAKE2s digests at 128, 160 or 256 bits, or any length from 1 to 32 bytes, from text or uploaded files. It runs inside your browser.
Generate BLAKE3 hashes from text or uploaded files, 256-bit by default and any length up to 1,048,576 bytes, with optional keyed hashing.
Make a QR code from any text or URL and download it as a PNG. Choose the error correction, module size and colors. Runs in your browser.
Encode or decode MIME quoted-printable text. Runs in your browser.
Convert a domain name between Unicode and ASCII Punycode. Runs in your browser.
Encode bytes with a self-identifying multibase prefix, or detect the prefix and decode an existing multibase string.
Encode or decode HTML named, decimal, or hex character references. Runs in your browser.
Encode bytes with a human-readable prefix and Bech32 or Bech32m checksum, or validate and decode an existing string.
Encode or decode basE91, a compact printable alphabet. Runs in your browser.
Encode or decode RFC 1924 Base85. Not Ascii85 or Z85. Runs in your browser.
Encode bytes as whole-value Base62, or decode Base62 text back to bytes. Choose either supported digit and letter ordering.
Encode bytes with Bitcoin-alphabet Base58 or Base58Check, or decode them back. Supports optional Base58Check version-byte validation.
Encode text or files as RFC 9285 Base45, or decode Base45 text back to bytes. Designed for compact use with QR alphanumeric mode.
Percent-encode or decode URL text using component, path, query, fragment, or userinfo rules. It runs in your browser, so your input stays on the device.
Encode text or uploaded files as lowercase hexadecimal, or decode hex back to binary. It all runs in your browser, so your input stays on the device.
Encode text or uploaded files as Adobe Ascii85, or decode Ascii85 back to binary. It all runs in your browser, so your input stays on the device.
Encode text or uploaded files as Base32, or decode Base32 text and files back to binary. It all runs in your browser, so your input stays on the device.
Encode text or uploaded files as Base64, or decode Base64 text and files back to binary. It all runs in your browser, so your input stays on the device.
Open TAR, TAR.GZ, TGZ, TAR.BZ2, TAR.XZ and TAR.ZST files in your browser. List the contents or extract up to 100 files, from archives up to 100 MiB.
Unzip files in your browser. Open a ZIP up to 100 MiB, list what is inside, or extract up to 100 files. Password-protected ZIPs work too.
Compress or decompress bzip2 (.bz2) files up to 2 GiB in your browser, with a level from 1 to 9.
Compress or decompress LZ4 (.lz4) files up to 2 GiB in your browser.
Compress or decompress Zstandard (.zst) files up to 2 GiB in your browser, with a level from -7 to 4.
Compress or decompress Brotli (.br) files up to 2 GiB in your browser, with a quality from 0 to 11.
Compress or decompress raw DEFLATE streams (no header, no checksum) up to 2 GiB in your browser, with a level from 0 to 9.
Compress or decompress zlib streams (DEFLATE with a two-byte header and an Adler-32 checksum) up to 2 GiB in your browser, with a level from 0 to 9.
Compress or decompress gzip (.gz) files up to 2 GiB in your browser, with a level from 0 to 9.
Generate random passwords in your browser with Web Crypto. Set the length and character classes or use your own alphabet, and make up to 1,000 at once.
Decode a JWT in your browser to read its header, claims and signature. Nothing is verified, so use it to inspect a token, not to trust one.
Verify a password against an Argon2 PHC hash using the parameters embedded in the hash.
Create a salted Argon2id password hash using memory-hard, interoperable defaults.
Verify an HMAC authentication code without exposing the secret key to the server.
Generate an HMAC authentication code for text or a file using a hexadecimal secret key.
Transform text with the ROT13, ROT5, ROT18 or ROT47 substitution ciphers. It all runs inside your browser, so your text stays on the device.
Compress or decompress Snappy data in your browser: framed .sz files up to 2 GiB, raw blocks from Parquet or LevelDB, and Kafka's snappy-java stream.
Format, beautify or minify JSON in your browser. Keeps key order unless you sort keys, rejects duplicate keys, and points to the first syntax error.
Validate pasted or uploaded CSV data with custom delimiters, header handling and an optional expected column count. It runs inside your browser.
Browse by the type of work.
Every tag in use across the public catalog.