Combine unsigned 32-bit values with AND, OR, XOR, NOT, or a logical shift. Negatives and shifts past 31 are errors.
Format, validate, and convert data in the browser.
Combine unsigned 32-bit values with AND, OR, XOR, NOT, or a logical shift. Negatives and shifts past 31 are errors.
Turn UTF-8 text into standard or URL-safe Base64 and back. This is text, not an image data URL, and it is not encryption.
Show the same Unix mode as checkboxes, a 4-digit octal value, and ls-style permission text. Clear sets 0000.
Build a font-size clamp() from two pixel sizes and two viewport widths. The declaration is text and is not applied to the page.
Convert px to rem or rem to px with the root font size you type. The declaration is text and is not applied to this page.
Paste a hex, rgb, hsl, or named color and read the other forms. The swatch is the parsed color. Modern wide-gamut syntax is out of scope.
Encode or decode a documented HTML entity set as plain text. The result is never inserted into the page as HTML.
List each anchor’s href, text, rel, and target from pasted HTML. The href is kept as written and is not opened.
Turn one pasted HTML table into CSV text. Pick among top-level tables. Spans leave covered cells empty, and nested tables are refused.
Paste a request or response header block and read the start line and each field. The page splits text locally and does not send a request.
Search a fixed local table of HTTP status codes by number or reason phrase. Codes that are not in the table are not given a made-up meaning.
Convert one JavaScript number or 16 hex digits into the binary64 layout: sign, exponent, trailing significand, and hex bits.
Calculate an IPv4 network, mask, and usable host count from an address and a prefix length. Nothing is looked up.
Calculate the IPv6 network, first address, last address, and exact address count from one address and a prefix. Nothing is looked up.
Compare two JSON values structurally in your browser. Object keys are maps. Arrays are compared by index. Not a text diff and not a merge tool.
Escape any text as a JSON string, or unescape JSON string sequences back to real characters. Runs in the browser. Does not pretty-print objects.
Pretty-print or minify JSON in your browser. Invalid input stays in the box and the status shows the parse error. Nothing is uploaded.
Extract top-level keys, unique nested keys, or structural key paths from JSON in your browser. One name or path per line. Nothing is uploaded.
Convert JSON Lines (NDJSON) to a JSON array, or a JSON array back to one JSON value per line, in your browser. Empty lines are skipped.
Strip insignificant whitespace from valid JSON in your browser. Invalid input stays unchanged and the status shows the parse error.
Find the value at one JSON pointer. An empty pointer selects the whole document. A missing member is an error.
Generate a draft-07-style JSON Schema from one JSON sample in your browser. Required keys are those present in the sample. Not a complete contract.
Validate JSON against a documented Draft 07 keyword subset in your browser. Combinators and remote $ref are rejected, not ignored. Nothing is uploaded.
Sort JSON object keys A → Z or Z → A at every nesting level in your browser. Array item order is kept. Indentation is presentation, not the sort. Nothing is uploaded.
Convert an array of objects to CSV, or CSV with headers back to JSON, in your browser. Nested values stay as JSON text in cells. Not a universal flattener.
Generate TypeScript interfaces from a JSON sample in your browser. Keys present in the sample are required. Optional fields are not guessed.
Convert JSON to block YAML, or a documented YAML subset back to JSON, in your browser. Anchors, tags, and merge keys are rejected, not ignored.
Check whether a string is valid JSON in your browser. See a clear valid or invalid result and the parse error when JavaScript can name it.
Inspect valid JSON as a collapsible tree in your browser. Objects, arrays, and typed values are drawn from the parsed structure, not from pretty-printed text.
Inspect a JWT header and payload locally. The signature is not verified, and Clear removes the token from the page.
Compare two lists by whole-line membership. See lines only in A, only in B, and in both, without an ordered edit.
Find the media type for a common extension, or the extensions for a common media type. The list is curated and stays in the browser.
Decode one position in a source map mappings string. See the original file, line, and column. The source is not fetched.
Make an integrity attribute from a local file or from text. SHA-384 is the default. A URL is not fetched.
Compare two pasted texts line by line. Unchanged runs collapse to a count. The result is a reading diff, not a patch file.
See each Unicode code point, its UTF-8 bytes, and a name only when the character is on a fixed whitespace list.
Normalize pasted text to NFC, NFD, NFKC, or NFKD in the browser. Copy returns the normalized string only.
Encode or decode one URL component with encodeURIComponent and decodeURIComponent. The text never leaves this browser.
Parse one absolute URL in the browser with the WHATWG URL API. A missing scheme is an error, and the address is not fetched.
Build a query string from name and value rows. Spaces become plus signs. The string is form encoding, not a checked URL.
Turn a=1&b=2 or a leading question mark into separate name and value rows. Plus signs and percent-encoded spaces both become spaces.
Validate one UUID per line. See the version and RFC variant when the value matches, with a reason when it does not.
Check WCAG 2 contrast for a foreground and a background. Both colors must be opaque. The page does not measure your font.
Clean, count, and convert text.
Convert text to UPPERCASE, lowercase, Title Case, or Sentence case. Whitespace and punctuation stay where they are.
Count Unicode characters, characters without whitespace, JavaScript string length, and UTF-8 bytes. Optional limit and remaining.
Replace every occurrence of a phrase in the browser. Plain text only. Case-sensitive by default. The original paste stays visible.
Split a label into words and show camelCase, PascalCase, snake_case, and SCREAMING_SNAKE_CASE. Kebab-case is left to the slug tool.
Delete a short, named list of invisible Unicode marks and report how many of each were removed. Spaces, tabs, newlines, and bidi controls stay.
Remove duplicate lines and keep the first occurrence. Comparison is case-sensitive by default. Optional trim and blank-line drop.
Turn a title into a URL slug: lowercase, hyphens for spaces, punctuation stripped, repeated separators collapsed. Latin accents are unaccented. Other scripts are kept, not romanized.
Sort lines ascending or descending. Numeric-aware by default so 2 comes before 10. Optional case-sensitive compare.
Trim edges, collapse repeated spaces and tabs, normalize line breaks, and collapse extra blank lines. Each step is optional.
Count words, characters, sentences, and paragraphs in the browser. The rules are documented, and nothing is uploaded.
Count how often each whitespace-separated token appears. See the count, a one-decimal percent, and totals that still include rows left off the table.
Convert everyday units without treating unlike systems as the same.
Convert square metric units, square feet, acres, and square miles using squared length factors. An acre is 43,560 square feet.
Convert latitude and longitude between decimal degrees and degrees, minutes, and seconds. Ranges stay within 90 and 180.
Convert bits and bytes between decimal SI units (kB, MB, GB) and binary IEC units (KiB, MiB, GiB). They are not the same.
Convert US mpg, Imperial mpg, L/100 km, and km/L. The two gallons differ, and L/100 km runs opposite to mpg.
Convert metric, US, UK, and nautical lengths in the browser using the international yard and the 1852 m nautical mile.
Convert whole numbers between bases 2 and 36. Optional 0b, 0o, and 0x prefixes. Invalid digits are rejected.
Convert Pa, kPa, bar, standard atmospheres, and psi. Psi uses the international pound, the 0.0254 m inch, and standard gravity.
Convert integers 1–3999 to standard Roman numerals and back. Informal spellings such as IIII and IC are rejected.
Convert km/h, mph, m/s, knots, and feet per second. A knot is 1852 m per hour. Miles use 1609.344 m.
Convert Celsius, Fahrenheit, and Kelvin with the affine formulas. Values below 0 K are rejected.
Convert liters, cubic meters, US gallons, and Imperial gallons. A US gallon is 3.785411784 L; an Imperial gallon is 4.54609 L.
Convert metric mass and avoirdupois pounds, ounces, stone, and US or Imperial tons. The pound is 0.45359237 kg.
Run quick calculations in the browser.
Calculate age in years, months, and days from a date of birth to today or another date. Uses calendar months, not 365-day years.
Calculate the arithmetic mean of a list. Invalid tokens are reported instead of silently dropped. Count, sum, and average are shown.
Find the future value of a principal plus an optional level contribution, using a nominal annual rate and a named compounding frequency.
Count exclusive days (nights between) and inclusive calendar days between two dates, plus a years/months/days span. Reversed dates stay positive.
Add or subtract a whole number of days or weeks from a Gregorian date and read the result date, the signed day count, and the weekday.
Enter an original price and a discount percent to see the amount taken off and the price you pay. Tax is not added.
Add, subtract, multiply, or divide two fractions. The primary result is an exact fraction, then a simplified form and a decimal view.
Find the GCD and LCM of two integers. Decimals are rejected instead of silently truncated. Zero and negative inputs have stated rules.
Find the fixed monthly payment that pays off a principal at a nominal annual rate. The payment is rounded to cents before the total is added up.
Turn a cost and a selling price into margin and markup, or build a selling price from a cost plus one of those percents. The two percents use different denominators.
Find X% of Y, what percent one number is of another, or the change between two values. The calculation stays in this browser.
Calculate the percentage change from an original value to a new value, with a clear increase, decrease, or unchanged label.
Simplify A : B, or find the missing X in A : B = C : X. Zeros and invalid values are handled in the status line.
Add a tax rate you type onto a net price, or pull that same rate back out of a price that already includes tax. Results are rounded to cents.
Find the duration between two clock times. If the end is the same as or earlier than the start, the span crosses midnight (up to 24 hours).
Resize, convert, and inspect images.
Turn one HEX color into transparent pixels and download a PNG. Tolerance is Euclidean RGB, default 0, maximum 64. This is not background removal.
Build 16, 32, 48, and 180 PNG icons plus an ICO of the 16 and 32 payloads. Cover or Contain. Link tags are text. Nothing is uploaded.
Click a local JPEG, PNG, or WebP to sample one pixel as HEX, RGB, and RGBA. Nothing is uploaded.
Re-encode a JPEG or WebP image in this browser to shrink the file. Not a lossless PNG optimizer. Nothing is uploaded.
Crop a JPEG, PNG, or WebP in this browser. Drag a box or type pixel values. Nothing is uploaded.
Read width, height, megapixels, and file size from a local JPEG, PNG, or WebP. Nothing is uploaded.
Convert JPEG, PNG, and WebP in this browser. Canvas conversion is not lossless. Nothing is uploaded.
List the most common 5-bit colors in a local image, with pixel counts and percents. Fully transparent pixels are skipped. Nothing is uploaded.
Compare two decoded images of the same pixel size. Tolerance 0 requires every RGBA channel to match. The diff PNG marks mismatches red. Nothing is uploaded.
Resize a JPEG, PNG, or WebP image in this browser. Nothing is uploaded. Output is a new canvas encoding.
Rotate a JPEG, PNG, or WebP by 90° or 180° in this browser. Nothing is uploaded. Free-angle rotate is not offered.
Encode a JPEG, PNG, or WebP to a data URL or raw Base64, and decode one back, in this browser. SVG is refused.
Count fully transparent, partial, and opaque pixels in a local JPEG, PNG, or WebP. Visible bounds use alpha above 0. Nothing is uploaded.
Generate hashes, passwords, lorem, and more.
Generate a random sRGB color and read it as HEX, RGB, and HSL. Copy HEX. Nothing is uploaded.
Build a two-stop linear-gradient CSS rule from two hex colors and a direction. Preview and copy in the browser.
Hash text in the browser with SHA-256, SHA-384, SHA-512, or legacy SHA-1 via Web Crypto. Not encryption.
Generate classic Latin placeholder text by paragraph or word count. Output is plain text and stays in the browser.
Generate a password in the browser with chosen character sets and crypto.getRandomValues. Nothing is stored or uploaded.
Generate integers or decimals in a stated range using crypto.getRandomValues. Min and max are not swapped.
Generate a uniform random string from letters, alphanumerics, hex, or URL-safe characters using Web Crypto.
Generate the current Unix time in seconds and milliseconds, or convert a local instant or Unix seconds to ISO 8601 UTC.
Generate UUID version 4 values in the browser using the Web Crypto API. Nothing is uploaded.