Browser-native tools

Document tools that stay on your device

Format, convert, and compare files locally. Nothing is uploaded.

Word count, case, diff, and Markdown preview are grouped on the text tools hub. JSON, encodings, IDs, and hashes are on the developer tools hub. Images-to-PDF and the page-1 signature stamp are on the PDF tools hub.

Docify is a static directory of 35 browser-only document tools. Work stays on the device — files are not uploaded. The 4 writing utilities live on /text-tools/, the 29 encoding and data utilities on /developer-tools/, and the 2 PDF utilities on /pdf-tools/. There is no account system and no site search.

Word Counter

Count words, characters, sentences, paragraphs, and reading time in your browser. Whitespace-split words, UTF-16 characters, 200 WPM. Nothing uploaded.

Open

Case Converter

Convert text case online: UPPERCASE, lowercase, Title Case, Sentence case, snake_case, kebab-case, camelCase, PascalCase. Free browser tool, nothing uploaded.

Open

JSON Formatter

Prettify, minify, and validate JSON in your browser with JSON.parse and JSON.stringify. 2-space pretty print, nothing uploaded.

Open

Markdown Converter

Convert Markdown to HTML in your browser with marked and DOMPurify. Live preview, HTML download, and a plain-text PDF export. Nothing uploaded.

Open

Text Diff

Compare two texts in your browser with Google's diff-match-patch. Additions and deletions are highlighted after semantic cleanup. Nothing uploaded.

Open

Base64

Encode and decode Base64 text and files in your browser with btoa and atob (RFC 4648). UTF-8, + / = alphabet. Nothing uploaded.

Open

Base64url

Encode and decode Base64url in your browser with RFC 4648 §5 (- and _, no padding). UTF-8 via btoa/atob. Nothing uploaded.

Open

Base32

Encode and decode Base32 in your browser with RFC 4648 §6 (A–Z 2–7, = padding). UTF-8 via encodeURIComponent. Nothing uploaded.

Open

Base32hex

Encode and decode Base32hex in your browser with RFC 4648 §7 (0–9 A–V, = padding). UTF-8 via encodeURIComponent. Nothing uploaded.

Open

Base16

Encode and decode Base16 (hex) in your browser with RFC 4648 §8 (0–9 A–F, no padding). UTF-8 via encodeURIComponent. Nothing uploaded.

Open

URL Encoder

Encode and decode URLs with percent-encoding (encodeURI and encodeURIComponent). Spaces become %20, not +. Nothing uploaded.

Open

URLSearchParams

Encode and decode form-urlencoded query strings in your browser with WHATWG URLSearchParams. Spaces become +, not %20. Nothing uploaded.

Open

URL Parser

Parse URLs in your browser with WHATWG new URL(). Split host, path, query, and hash locally. Nothing uploaded.

Open

Punycode

Encode and decode Punycode in your browser with RFC 3492. Raw Punycode, no xn-- prefix. Nothing uploaded.

Open

IDNA

Encode and decode IDNA in your browser with UTS #46 ToASCII and ToUnicode. Convert Unicode domains to ACE labels locally. Nothing uploaded.

Open

Unicode Normalize

Normalize Unicode text in your browser with UAX #15 NFC, NFD, NFKC, and NFKD. Compose or decompose characters locally. Nothing uploaded.

Open

CSV to JSON

Convert CSV tables to JSON in your browser with Papa.parse. First-row headers become object keys locally. Nothing uploaded.

Open

JSON to CSV

Convert JSON arrays to CSV in your browser with Papa.unparse. Object keys become the header row locally. Nothing uploaded.

Open

Images to PDF

Convert images to PDF in your browser with jsPDF. Each JPG, PNG, GIF, or WebP gets its own A4 page locally. Nothing uploaded.

Open

PDF Signer

Sign a PDF in your browser with pdf-lib. Draw a signature and stamp it on page 1 locally. Visual stamp, not PKCS#7. Nothing uploaded.

Open

UUID Generator

Generate random UUID v4 identifiers in your browser with crypto.randomUUID(). RFC 9562 version 4, locally. Nothing uploaded.

Open

UUID v7 Generator

Generate time-ordered UUID v7 identifiers in your browser with Date.now() and crypto.getRandomValues(). RFC 9562 version 7, locally. Nothing uploaded.

Open

UUID v5 Generator

Generate name-based UUID v5 identifiers in your browser with SHA-1 via crypto.subtle.digest. RFC 9562 version 5, locally. Nothing uploaded.

Open

ULID Generator

Generate time-ordered ULID identifiers in your browser with Date.now() and crypto.getRandomValues(). Crockford Base32, locally. Nothing uploaded.

Open

Unix Timestamp

Convert Unix timestamps (epoch/POSIX time) to human-readable dates, or dates to Unix time. Supports seconds and milliseconds. Nothing uploaded.

Open

Hash Generator

Generate SHA-256 and SHA-1 hashes via Web Crypto, plus MD5 in JavaScript. Checksum tool, not a password hasher. Nothing uploaded.

Open

HTML Encoder

Encode and decode HTML entities in your browser. Escapes ampersand, angle brackets, and quotes as named or numeric references locally. Nothing uploaded.

Open

YAML to JSON

Convert YAML to JSON and JSON to YAML in your browser with js-yaml (CORE_SCHEMA). YAML 1.2 Core. Single document only. Nothing uploaded.

Open

Regex Tester

Test JavaScript regular expressions in your browser. Supports flags g, i, m, s, u, and y. Nothing uploaded.

Open

Line Sorter

Sort, deduplicate, and reverse lines in your browser. UTF-16 code unit order (not locale). Ignore case option for sorting and deduplication. Nothing uploaded.

Open

JWT Decoder

Decode and inspect JWT tokens in your browser. View header and payload as JSON. Signatures are shown but never verified. Nothing uploaded.

Open

Color Converter

Convert colors between hex, RGB, and HSL in your browser. CSS Color Module Level 4. Opaque sRGB only. Nothing uploaded.

Open

Lorem Ipsum

Generate Lorem Ipsum placeholder text in your browser. Classic Latin dummy text from the Cicero-derived passage. Nothing uploaded.

Open

Number Base Converter

Convert numbers between binary, octal, decimal, and hexadecimal in your browser. Supports arbitrary bases 2–36. Nothing uploaded.

Open

Cron Explainer

Parse and explain cron expressions in your browser. Supports standard 5-field Vixie crontab syntax. Nothing uploaded.

Open

FAQ

Does Docify upload my files?
No. Every tool runs in the browser. This homepage is a static directory of the 35 utilities. There is no account system, no file hosting, and no site search.
How many tools are there, and how are they grouped?
35 tools. Word count, case, diff, and Markdown preview are on /text-tools/ (4). JSON, encodings, IDs, and hashes are on /developer-tools/ (29). Images-to-PDF and the page-1 signature stamp are on /pdf-tools/ (2).
Is there a site search?
No. The cards below are the complete set. Use the three hubs if you want a smaller list. Do not expect a /?s= search box.
How does this page differ from the hubs and the blog?
This page lists every live tool. The hubs group those same utilities. The blog on /blog/ lists 37 guides that point back to the tools. The hubs and blog are indexes, not a thirty-sixth converter.

Guides

Short tutorials for the same tools — formatting JSON, converting Markdown, signing PDFs, and more.

Read the blog