Skip to content
Marvin's Toolbox.

Marvin's Toolbox

Small, fast tools for everyday jobs, like shrinking a photo for WhatsApp or turning a YAML file into JSON.

Your data never leaves your device. Every tool runs entirely in your browser. See how

153 tools found

Favorites

Star any tool to pin it here.

Calculators

10

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.

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.

Work with dates: count the days between two dates, add or subtract a duration, get someone's exact age, and look up the ISO week number, day of year and other facts about any date.

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.

See what a monthly ETF savings plan grows to after fund costs, inflation and tax. Also finds the contribution a target needs and how long withdrawals last.

Work out the monthly payment, total interest and payoff date of a loan or mortgage, find the loan you can afford from a payment, or how long a payment takes. See the full amortization schedule, the balance after a fixed-rate period and how extra payments shorten it.

Answer any percentage question as you type: what is X% of a number, what percent one number is of another, the percentage increase or decrease between two values, a number raised or lowered by a percent, and the whole behind a part.

Convert between pixels and print size at any DPI. See how large an image prints in cm or inches, or how many pixels a print needs, A0 to A10 included.

Solve proportions with the rule of three: enter three values and the fourth is calculated as you type. Covers direct and inverse proportionality, shows the formula with your numbers plugged in, and explains the result in a sentence.

Enter a salary as an hourly, monthly or yearly figure and the rest fill in for you, including what you actually earn per second, minute, hour and working day. Set your currency and adjust your hours per day, days per week and weeks per year.

Show all tools related to calculators

Converters

23

Convert audio files between MP3, WAV, OGG, FLAC and M4A. Drop in as many files as you like, pick the target format and bitrate, and download the results one by one or all at once.

Encode and decode Base16, Base32, Base36, Base45, Base58, Base62, Base64 and Base85. Pick the alphabet variant you need, from Crockford Base32 to Bitcoin Base58 and Ascii85, and convert in either direction.

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.

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.

Convert an animated GIF into an MP4 or WebM video. Videos are far smaller than GIFs and play everywhere, so this is the quickest way to make a heavy GIF shareable.

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.

Convert images between JPEG, PNG, WebP and AVIF, and open iPhone HEIC photos too. Drop in as many as you like, pick a format, and dial in the quality for the lossy ones. When you convert to JPEG, choose the colour that fills any transparency. Live previews, download one or all at once.

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.

Read the text out of a screenshot, photo or scan with OCR. Pick the language, watch the recognition progress, review the result with per-word confidence, and copy or download the extracted text.

Paste JSON and get matching types or schemas for the language you work in, from TypeScript and Zod to Go and Rust. Nested objects become their own named types, optional fields are detected from your data, and each language comes with its own options.

Translate text to Morse code and Morse back to text, with a reference table of every letter, digit and punctuation mark. Play any result as sound with adjustable speed and tone.

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.

Convert between scientific notation and full numbers as you type. Reads 1.23e5, 1.23 × 10^5 and plain numbers, shows the value written out, in normalized scientific notation and in engineering notation, and can round to any number of significant digits.

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.

Convert subtitles between SRT and VTT, shift their timing forward or backward, and fix frame rate drift to sync out-of-sync captions. Preview the parsed cues, catch format errors, and download the converted file.

Rasterize SVG files to PNG, WebP or JPEG at any size. Set an exact width and height or a scale such as 2x or 4x, keep transparency or fill a background colour, and download one file or the whole batch.

Convert between common units of length, mass, temperature, area, volume, speed, pressure, energy, power, time, data, angle and frequency, from millimeters to light-years. Pick a unit, type a value and read the result with as many decimals as you want.

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.

Convert videos between MP4, WebM, MKV and MOV. Drop in one or more files, pick the target format and quality, follow the encoding progress, and download the results one by one or all at once.

Turn a video clip into an animated GIF. Pick the exact section on a timeline, set the frame rate, size and loop behavior, and fine-tune the palette for a small file that still looks good.

Show all tools related to converters

Development

55

Verify a file against its checksum. Drop the file and paste the expected hash or a sha256sum line, and the hash type is detected for you, from MD5 to BLAKE3.

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.

Paste a cURL command and get the same request as JavaScript fetch, Python requests, Go net/http, PHP, Rust and more. Headers, cookies, auth, form data and JSON bodies carry over, and a fetch() call can be turned back into a cURL command.

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.

Test a date format string against any date and time zone, and see what every token means. Works with strftime, Go layouts, date-fns, Moment, Java, PHP and .NET patterns, and translates a format from one language to another.

Turn docker run commands into a docker-compose.yml, or a compose file back into docker run. Ports, volumes, environment variables, networks, restart policies and resource limits carry over.

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.

Test glob patterns and .gitignore rules against a list of file paths and see which ones match, which are ignored and which rule decided it.

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.

Calculate an IPv4 or IPv6 subnet from an address and prefix or netmask: network, broadcast, usable hosts and masks, plus a binary view and subnet splitting.

Run real jq 1.8 filters against your JSON. Toggle options like slurp and raw output, browse a cheat sheet of common filters, and copy or forward the result.

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.

Decode a JSON Web Token into its header and payload, read the claims and expiry as dates, and 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 encoded text and it works out how it was encoded and undoes it layer by layer, from Base64 and Base85 to URL escapes, HTML entities, ROT13 and gzip.

Write Mermaid diagrams and see them render as you type. Flowcharts, sequence diagrams, class, state, ER and Gantt charts export as SVG or PNG.

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.

Open an OpenAPI or Swagger spec in JSON or YAML and browse it as readable docs. Search endpoints, group them by tag, see parameters, request bodies, responses and schemas with $ref resolved, and copy a ready cURL command for any operation.

Decode Protocol Buffers, MessagePack and CBOR data without a schema. Paste hex or Base64, or drop a file, and see every field as a tree mapped back to its bytes, then copy the result as JSON.

Test a JavaScript regular expression against your own text with every match highlighted and capture groups color coded. Toggle flags and copy all matches.

Check which versions a semver range matches. Paste a range like ^1.2.3 or >=2 <3 and a list of versions, and see what passes, what fails and why, plus the range in plain words.

Fetch a sitemap by URL or paste the file to count its URLs, see paths, hosts and last modified dates, and check it against the sitemap protocol.

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.

Run real SQL on your own data with SQLite. Open a CSV, JSON or .sqlite file, or paste a table, and query it with joins, aggregates and window functions. Browse the schema, export results as CSV or JSON, and download the database.

Paste an OnCalendar expression to see its normalized form and its next run times in any time zone, just like systemd-analyze calendar. Convert it to and from cron, and generate matching .timer and .service units.

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, path, query and fragment and edit each part. Query parameters become an editable table, and tracking parameters go with one click.

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.

Build tracking URLs with utm_source, utm_medium, utm_campaign, utm_term and utm_content. Fill in the fields, watch the link update as you type, and keep the parameters consistent with presets and naming rules.

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.

Build a complete WireGuard setup: one server and as many peers as you need. Keys, preshared keys and tunnel addresses are filled in for you, with full or split tunnel routing, DNS, NAT rules, a QR code per peer and a zip of every config.

Run XPath queries against your own XML or HTML and see the matching nodes right away. Shows each match with its path and value, handles namespaces, and comes with examples for the syntax you keep forgetting.

Show all tools related to development

Media

26

Turn speech in an audio or video file into text with Whisper. Pick a model size and a language, or translate to English, then read a timestamped transcript and download it as text, SRT or VTT subtitles.

See everything about an audio file: duration, format, codec, sample rate, bit depth, channels and bitrate, the embedded tags and cover art, plus measured peak and RMS levels and a waveform overview.

View and edit the ID3 tags of an MP3, including title, artist, album, year, genre, track number, lyrics and cover art. Reads the existing metadata of other audio formats too, and saves a tagged copy of your MP3.

Cut a section out of an audio file on a zoomable waveform timeline. Drag the start and end handles, play back just your selection, fade the edges if you like, and export the result as MP3, WAV, OGG, FLAC or M4A.

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.

Turn a code snippet into a clean image for docs, slides and posts. Pick a language, syntax theme, font size and window style, set the background and padding, then download a sharp PNG or copy it to the clipboard.

See any image the way people with a color vision deficiency see it. Drop in a picture and preview protanopia, deuteranopia, tritanopia, the milder anomalous forms and monochromacy next to the original, then download any simulation as a full resolution PNG.

Pull the dominant colors out of any image as a ready-to-copy palette. Choose how many colors you want, copy each one as HEX, RGB or HSL, and export the whole palette at once.

See and edit the EXIF metadata inside a photo, then download it with your changes or save a copy with all metadata removed, GPS included. It reads JPEG, PNG, HEIC and more, and edits JPEG files.

Copy the EXIF metadata from one photo onto another without changing the destination's pixels. That covers camera model, lens, focal length, exposure, GPS and more. Choose to replace all metadata or only fill in what the source provides.

Turn a series of images into a video. Drop in your frames, reorder them, set the frame rate and resolution, and encode the result as MP4 or WebM, ready to play anywhere.

Draw arrows, boxes, text, highlights and numbered steps on a screenshot, blur or pixelate anything private, crop the result and add a watermark. The finished image downloads as PNG or JPG or goes straight to your clipboard.

Crop any image with rule of thirds, golden ratio and golden spiral overlays, rotate or flip it, snap to preset aspect ratios or set your own, then resize the result to exact pixel dimensions and export it as PNG or JPEG.

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.

See the RGB and luminance histograms of any image, with per-channel toggles, a linear or logarithmic scale, and exposure stats such as clipped shadows and highlights.

Compress images to JPEG at a target file size or quality, with presets for WhatsApp, Instagram and Discord, optional resizing and EXIF kept or stripped.

Check that your microphone works before a call. Pick a device, see the input level and a live frequency spectrum, try echo cancellation and noise suppression, and record a short clip to hear how you sound.

Create a QR code for text, a link, an email, a phone number, an SMS, Wi-Fi access or a contact card. Set the error correction level, size, margin and colors, then download it as PNG or SVG or copy it straight to the clipboard.

Read a QR code from an image or your camera. Drop in a screenshot or photo and the decoded content appears instantly, with links, Wi-Fi credentials, contact cards and other payload types recognized and broken down. Live camera scanning works right in the page.

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.

Pull the audio track out of a video as MP3, M4A, WAV, FLAC or OGG. Drop in one or more files, pick a track and bitrate, or keep the original audio untouched when the format allows it, and download the results.

Compress a video to a quality level or a target size like 10 MB, scale it down if you like, and compare the size before and after with a preview.

See everything about a video file: duration, resolution, aspect ratio, frame rate, codecs, bitrate, container details and audio tracks, with a frame preview and a per-track breakdown. Reads MP4, WebM, MKV, MOV and more.

Extract still frames from a video. Grab every frame, every Nth one or one per second, or step through and pick single frames by hand. Choose PNG, JPEG or WebP for the output and download everything as a zip.

Cut a section out of a video on a frame-accurate timeline with a live preview. Drag the start and end handles, preview just your selection, and export either with the original quality kept or re-encoded to MP4 or WebM.

Check that your camera works before a call. Pick a device and a resolution, watch a large live preview with the resolution and frame rate it really delivers, line yourself up with a framing grid, and save a snapshot.

Show all tools related to media

PDF

6

Turn photos and images into a single PDF. Drop in JPEG, PNG or WebP files, reorder them, pick the page size, orientation and margins, and choose whether each image fills the page or keeps its own size.

Shrink a PDF's file size by re-encoding its pages at a chosen quality and resolution. See the size before and after, preview the result, and tune the quality until size and readability balance.

Combine several PDFs into one or split a PDF into separate files. Reorder pages with drag and drop, see a thumbnail of every page, extract a page range or pick single pages, and download the result.

Add password protection to a PDF or remove it from one you own. Set separate user and owner passwords, control printing and copying permissions, and unlock a protected file with its password.

Pull the text out of a PDF, page by page or all at once. Keeps the reading order, lets you pick a page range, and gives you plain text you can copy, download or send to another tool.

Render every page of a PDF as an image. Choose PNG or JPEG, set the resolution, pick single pages or a range, then download pages one by one or all at once as a zip.

Productivity

5

Sort your tasks by urgency and importance on a 2x2 board. Drag them between do, schedule, delegate and drop, then save the matrix as an image or a Markdown checklist.

Work in focused sessions with breaks in between, timed the pomodoro way. Set your own lengths for focus, short breaks and the long break, let the next phase start on its own if you like, and hear a chime when time is up. Finished sessions count up for the day.

Paste a list and draw a random winner instantly or with a spinning wheel. Pick several at once, weight entries, remove winners between rounds and keep a history.

Find a meeting time that works for everyone across timezones. Add each participant's city or timezone, step through the hours of the day and see everyone's local time side by side with working hours highlighted, then copy a summary of the chosen slot.

Compare options against the criteria that matter to you. Weight each criterion, score every option, and get a clear ranking with each option's score broken down, plus a check of how close the result is and what would change it.

Show all tools related to productivity

Security

12

Decode any DER or PEM data into a browsable ASN.1 tree with named object identifiers and a linked hex view. Open PKCS#12 .p12 and .pfx bundles with their password to list the certificates and keys inside, and export them as PEM.

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.

Build a Content-Security-Policy header directive by directive, or paste an existing policy to check it. Weak spots like unsafe-inline, wildcards and missing directives are flagged with what to do instead.

Create a certificate signing request with a fresh RSA or ECDSA key or your own. Fill in the subject and subject alternative names, then download the CSR and private key as PEM, with the matching openssl command alongside.

Encrypt any file with a password using AES-256-GCM, or decrypt a file that was encrypted here. Strong key derivation and integrity protection built in.

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

Generate strong random passwords, word-based passphrases or ModHex passwords that type the same on any keyboard layout, with entropy and crack time for each.

Check how strong a password really is. Uses the same zxcvbn analysis password managers rely on to estimate realistic crack times, spot dictionary words, keyboard patterns and reused sequences, and suggest concrete improvements.

Split a password, recovery phrase or key into shares with Shamir's Secret Sharing, so that any chosen number of them restores it and fewer reveal nothing. Print or copy the shares, and put them back together later.

Paste an SSH or PGP public key, or a whole authorized_keys or known_hosts file, to see each key's algorithm, size, fingerprints, comment, certificate details, user IDs, subkeys and expiry dates.

Paste a 2FA secret or an otpauth:// link and watch the one-time codes tick live, with a countdown to the next code. Supports the digit counts, periods and algorithms real authenticators use.

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

Show all tools related to security

Text

16

Open a CSV or TSV file and read it as a proper table. Sort by any column, filter rows with a search or per-column conditions, hide columns you do not need, and copy or download what is left.

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

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

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.

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 with a live GitHub-style preview, including tables, task lists, callouts and highlighted code. 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.

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.

Convert text into every case at once: title case in the APA, AP, Chicago, MLA, Bluebook, AMA and NYT styles, sentence case, upper, lower, camelCase, snake_case, kebab-case and more.

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.

Turn a nested list into a folder tree drawn with ├── and └── lines. Paste a Markdown list or an existing tree, pick the line style and copy it into a README.

Split a long text into numbered posts that fit a character limit. Pick a preset for X, Threads, Mastodon or Bluesky or set your own limit, choose the numbering style, and keep words or paragraphs intact. Copy each post on its own or all at once.

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.

Count words, characters, sentences, paragraphs, lines and more as you type, with estimated reading and speaking time.

Show all tools related to text

Why this site exists

marvins.tools is a growing set of single-purpose tools that run entirely in your browser. No sign-up, no ads, no paid tier, and your files and text stay on your own device.

It started out of frustration with simple tasks being buried under popups, uploads and newsletter prompts. If a tool here saves you a few minutes, that is the whole point. New ones get added over time.

How it all runs without a server

A longer write-up explains how each tool does all of its work in your browser, and how one tool hands its result to the next.

Read the technical overview

Frequently asked questions