Skip to content
Marvin's Toolbox.

Search tools

Type to filter all tools

Development

Formatters, inspectors and converters for everyday developer tasks.

Verify a checksum online: drop a file, paste the expected checksum and see instantly whether they match. The hash type is detected from the checksum itself, covering MD5, SHA-1, SHA-256, SHA-512, BLAKE3, CRC-32 and more, and sha256sum lines or whole checksum files can be pasted as-is.

Convert Unix file permissions between checkboxes, octal like 755 and symbolic notation like rwxr-xr-x, all kept in sync as you edit any of them. Covers setuid, setgid and the sticky bit, and shows the matching chmod command ready to copy.

See what your clipboard really holds. One press lists every format on it, from plain text and HTML to Excel tables and images, each with its type, size and a preview. Pasting works too, and can reveal even more formats.

Format code in JavaScript, TypeScript, JSON, JSON5, HTML, Vue, CSS, SCSS, LESS, Markdown, YAML, GraphQL, XML and SQL. Pick tabs or spaces, set the indent width, and format the input in place with one click.

Check two colors against the WCAG contrast rules. Type or pick a text and a background color, read the contrast ratio, see which AA and AAA checks pass, preview real text at the sizes WCAG distinguishes, and get suggested fixes when a check fails.

Generate color palettes from a base color using real color harmonies like complementary, analogous, triadic and monochromatic tints and shades. Adjust and lock individual colors, then copy the palette as HEX values, CSS variables or Tailwind config.

Build a cron expression by clicking instead of memorizing syntax. Pick minutes, hours, days, months and weekdays with simple controls or start from a preset, watch the expression and its plain English meaning update live, and check the next run times before you copy it.

Paste a cron expression and get a plain English explanation, a field by field breakdown and the next times it would run, in your local timezone or UTC. Reads five field crontab syntax, six fields with seconds, names like MON and macros like @daily.

Design CSS box shadows visually: layer several shadows, drag sliders for offset, blur, spread, color and opacity, toggle inset, preview the result live and copy the generated CSS. Includes presets from subtle elevation to hard drop shadows.

Preview CSS easing functions on a live animation. Drag the handles of a cubic-bezier curve or pick a preset, compare easings side by side, tune the duration, and copy the resulting cubic-bezier() value.

Build linear, radial and conic CSS gradients visually: add and drag color stops, set the angle or center, preview the result live and copy the generated CSS. Includes ready-made presets to start from.

Compress text or a file with gzip, deflate, brotli or Zstandard and see the size before and after, the compression ratio and how long it took. One click tries every method and recommends the smallest result.

Decompress gzip, deflate, brotli or Zstandard data from a file or pasted Base64 and read the result as text or download it. Detects the format from the magic bytes where possible, with a manual override.

Paste raw email headers to trace the Received chain hop by hop with per-hop delays, read the SPF, DKIM and DMARC results, and see every header explained. Helps you spot spoofing and find where a slow email got stuck.

Generate realistic fake data for testing: names, emails, addresses, phone numbers, companies, internet data, dates and more. Tick the fields you need, set how many rows you want and a locale, then copy or download the result as JSON, CSV or plain text.

Turn any image into a complete favicon set: a multi-size favicon.ico, PNG icons in every common size, Apple touch and Android icons, a web manifest and the HTML tags to paste into your page. Download everything as a zip.

Drop a HAR export from your browser's network tab and see every request on a waterfall timeline. Inspect status codes, timings, sizes, headers and payloads, filter by type or URL, and spot the slow requests at a glance.

Hash text or a file with MD5, SHA-1, SHA-256, SHA-512, SHA-3, BLAKE2, BLAKE3, CRC32 and more, all computed live as you type. Compare against an expected checksum and copy any digest.

Inspect any file or text as a hex dump with offsets, byte values and an ASCII column. Jump to an offset, search for bytes or text, select a range to see it decoded as integers and strings, and copy or download the dump.

Look up any HTTP status code in a searchable, filterable table. Search by number or name, filter by class from 1xx to 5xx, and expand any code for a plain explanation and a link to the spec. Includes the common non-standard codes from nginx, Cloudflare and others.

Work out an IPv4 or IPv6 network from an address with a prefix or netmask: network and broadcast addresses, usable host range, subnet mask, wildcard mask and address type. Adjust the prefix with a slider, read the binary breakdown, and split the network into smaller subnets.

Run real jq filters against JSON in your browser. Write a filter, pass options like slurp or raw output, browse a built-in cheat sheet of common filters, and copy the result or send it to another tool.

Compare two JSON documents by structure and see every added, removed and changed key and value with its exact path. Browse the result as a tree, a filterable change list or a line diff, ignore array order, catch type changes and export the changes as a JSON report.

Paste JSON to explore it as a collapsible, searchable tree, hide the fields you don't need, and see the structure it implies as a badge-annotated schema and a copyable TypeScript interface.

Validate JSON against a JSON Schema and see every violation with its exact path, the failing rule and a plain explanation. Supports draft-07 through 2020-12 with format checks, and can infer a starter schema from your data.

Try JSONPath queries against your own JSON and see the matches instantly. Every result comes with its normalized path, sample queries help you get started, and the matches are ready to copy or send onward as JSON.

Paste a JSON Web Token to see its header and payload as formatted JSON, with the token color coded so each part maps to its output. Explains the registered claims, shows expiry as readable dates, flags expired tokens and can verify the signature with a secret or public key.

Build and sign a JSON Web Token from a header and payload. Supports the HMAC, RSA, ECDSA and EdDSA algorithms real systems use, fills in standard claims like expiry for you, and shows the signed token ready to copy.

Press any key and see the full JavaScript keyboard event: key, code, the legacy keyCode and which, modifier states, location and repeat flag, with a history of recent presses you can copy.

Paste or drop application logs and read them as a clean, structured list. Detects logfmt, JSON lines and common plain-text formats, colors levels and timestamps, and lets you expand or collapse the fields of every entry.

Paste anything that looks encoded and this tool works out what was used and undoes it, layer by layer. The whole BaseXX family from Base16 to Base85, binary, URL escapes, HTML entities, ROT13 and gzip, Brotli or Zstandard compression are detected in any combination, and every step of the chain is reported.

Look up any MIME type or file extension in a searchable table. Search by extension or type name, filter by family, and expand any entry for its extensions, compressibility and where it is defined.

Paste a MongoDB ObjectId and see the creation timestamp, the random value with its legacy machine and process id split, and the counter, color coded so each part of the ID maps to its meaning. Also generates ObjectIds for any date, handy for time-range queries.

Generate Nano IDs in bulk with full control over length and alphabet. Pick the default, hex, numbers-only or a custom character set, see the collision probability for your settings, and copy the results as a plain list.

Test a regular expression against your own text and see every match highlighted as you type. Capture groups are color coded in the pattern, the matched text and the match list, so you always see which parentheses captured what. Toggle any JavaScript regex flag and copy all matches as a list.

Fetch a website's sitemap by URL, or paste or upload the file, and see what is inside: URL counts, the most used paths, hosts, last modified dates, changefreq and priority use, plus health checks against the sitemap protocol. Reads XML sitemaps, sitemap indexes, text sitemaps, gzipped files and feeds.

Paste a Discord, Twitter or custom snowflake ID and see the exact creation timestamp, worker, process and sequence bits it carries. Pick a preset or set your own epoch and bit layout, or turn a date into the matching id range.

Generate ULIDs one at a time or in bulk: sortable, timestamp-prefixed identifiers in Crockford base32. Use monotonic mode for strictly ordered ids, decode any ULID back to its timestamp, and copy the results as a plain list.

Break a URL into scheme, host, port, path, query and fragment, and edit every part on its own. Query parameters become an editable table where you can change, add, remove and reorder values, with everything decoded for reading and the rebuilt URL ready to copy.

Paste any user agent string and see the browser, version, engine, operating system, device type and CPU architecture it describes, or check your own browser's user agent with one click.

Paste a UUID to see what it carries: version, variant, and for time-based versions the exact timestamp, clock sequence and node. Also shows the raw bytes, the 128-bit integer and the URN form.

Generate UUIDs in versions 1, 3, 4, 5, 6 and 7, one at a time or in bulk. Pick a version, set how many you need, and regenerate with one click. Name-based versions take a namespace and a name, and the result copies as a plain list.

Tools that also have to do with development

These tools have their home in another category but fit here too.

Enter a resolution to get its simplified aspect ratio, or start from a ratio and one side to get the missing dimension. Knows the common ratios like 16:9, 4:3 and 21:9 and shows how close your size is to each.

Create barcodes in dozens of formats, from EAN-13, UPC-A and Code 128 to QR Code, Data Matrix and PDF417. Type the content, tune the size, colors and text options, and download the result as PNG or SVG.

Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly, reads URL-safe Base64, and shows binary payloads as a hex dump you can download.

Hash a password with bcrypt or Argon2 and verify a password against an existing hash. Tune the cost factor, memory, iterations and parallelism, see how long the hash takes, and read the parsed parts of any hash you paste.

Calculate AND, OR, XOR, NOT and bit shifts with a live binary view of every operand and the result. Enter numbers in decimal, hex, octal or binary and see each bit line up as you type.

Convert a color between HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH and OKLAB. Type into any field and the others update as you go, or pick the color visually. Reads CSS color syntax and keeps alpha where the format supports it.

Convert config and data between JSON, YAML, TOML, JSON5, INI, XML, CSV and .env. Type or paste on the left, pick the output format on the right, and copy the result. Includes a format button and a minify toggle.

Convert between px, rem, em, percent, pt and viewport units with a configurable root font size. Type into any field and the others update as you go, set the parent font size for em math, and read a conversion table for common sizes.

Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.

Work out how long a download or file transfer takes from the file size and your connection speed. Handles all the common size and speed units, breaks the duration down readably, compares typical connections and can also solve for speed or file size.

Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.

Escape text into HTML entities or decode entities back to plain text. Choose named or numeric entities, escape only the unsafe characters or everything outside ASCII, and read the result live.

Compare two images and see exactly what changed. Slide between them horizontally or vertically, blink or blend them over each other, view them side by side, and let the pixel diff highlight every changed region with a difference percentage.

Convert images into data URIs you can paste straight into CSS or HTML. Shows the encoded size next to the original, wraps the result as a CSS background or img tag if you want, and handles whole batches at once. Also decodes a pasted data URI back into a file.

Reveal the characters you can't see in a text: zero-width spaces, non-breaking spaces, bidi marks, control characters and CRLF versus LF line endings. Inspect every occurrence and clean them out with a click.

Paste JSON and get matching TypeScript types, with interfaces or type aliases, optional readonly fields and comments showing example values detected in your data. Nested objects become their own named types.

Generate RSA, ECDSA and Ed25519 key pairs in your browser with the Web Crypto API. Choose the key size or curve, then export the keys as PEM, JWK or an OpenSSH public key line.

Strip the sensitive bits out of a log or any text before sharing it: emails, IP and MAC addresses, file paths, UUIDs, timestamps, URLs, tokens and more. Pick what to redact and how it is replaced, with stars, a fixed character, a type label or a length-preserving mask.

Generate placeholder text: pick how many words, sentences or paragraphs you need, optionally starting with the classic Lorem ipsum opening, and copy the result.

Write Markdown in a syntax highlighted editor and watch the rendered preview update as you type, side by side or stacked. GitHub Flavored Markdown covers tables, task lists, callouts and highlighted code blocks, with live word count and reading time. Copy the result as Markdown, HTML or rich text.

Build a Markdown table in a spreadsheet-like editor and copy the aligned result. Add, move and delete rows and columns, set per-column alignment, and paste cells straight from Excel, Google Sheets or CSV. The output stays neatly padded so it reads well as plain text.

Convert numbers between binary, octal, decimal, hexadecimal and any base up to 36. Type into any field and the others update as you go. Handles huge integers without losing precision and accepts 0x, 0b and 0o prefixes.

Turn any text into a clean URL slug. Transliterates accents and non-Latin scripts to ASCII, with options for the separator, letter case and a length limit. Handles many titles at once, one line per slug.

Sort the lines of a text alphabetically, naturally, by length, by numeric value or shuffled. Reverse the order with a switch, and optionally trim lines, drop blank lines and remove duplicates in the same pass.

Escape or unescape a string for JSON, JavaScript, regex, shell, SQL, CSV, XML and more. Paste text, pick the target format and copy the result, in either direction.

Shrink an SVG with SVGO. Paste the markup or drop a file, toggle every optimizer plugin individually, set the numeric precision and multipass, and compare the size before and after. Copy the result or download it as a file.

Compare two texts and see every added, removed and changed line highlighted, side by side or inline, with the changed words marked within each line. Ignore case, whitespace or blank lines, read a summary of how much changed, and export the result as a unified diff.

Paste text and see every character laid out: its codepoint, official Unicode name, block, category, UTF-8 and UTF-16 bytes and HTML entity. Emoji and other grapheme clusters are grouped, so you see what the eye sees and what the bytes say.

Convert Unix timestamps in seconds, milliseconds, microseconds or nanoseconds to readable dates in your local time, UTC or any timezone, and turn any date back into a timestamp. Shows the live current timestamp and relative time.

Encode text for use in URLs or decode percent-escaped strings back to readable text. Choose component, full-URL or form encoding, unwrap double-encoded strings, and break a URL into its parts with every query parameter decoded.

Paste a PEM certificate to see its subject, issuer, validity dates, subject alternative names, key details, fingerprints and extensions in plain view.