Guides for Docify’s Browser-Only Tools
42 short tutorials for the same 22 client-side utilities. Each post names the live API and links the matching tool. This page is an index — open a card to read it. Nothing is uploaded.
Docify’s blog lists 42 short guides for the 22 browser-only tools on the homepage. Posts name the APIs those pages actually run — JSON.parse / JSON.stringify, Papa Parse, js-yaml CORE_SCHEMA, marked plus DOMPurify, jsPDF, pdf-lib embedPng, crypto.randomUUID, and the rest — then link back to the live tool. This is not a magazine, a search box, or a thirteenth utility.
What this index is
An internal-linking map of the written guides already listed below. Category hubs on /developer-tools/, /text-tools/, and /pdf-tools/ index the live utilities instead. There is no site search.
Word Processing
How to Count Words Online: Whitespace Split
Count words in the browser by splitting on whitespace. Characters, sentences, paragraphs, and Math.ceil(words / 200).
ReadWord Counter for Writers: What This Page Counts
Whitespace-split words, string-length characters, [.!?] sentences. Not Word’s tokenizer. Nothing is uploaded.
ReadCalculate Blog Reading Time: 200 WPM Ceil
Reading time is Math.ceil(word count / 200). Empty text is 0 minutes; one word is 1. No image adder.
ReadText Tools
Convert Text to UPPERCASE in the Browser
UPPERCASE and lowercase use toUpperCase and toLowerCase. Eight live cards. Identifier forms split on whitespace only.
ReadHow to Change Case in Text in the Browser
Eight live previews: sentence after .?!, Title Case via \b\w, and whitespace-only snake, kebab, camel, and Pascal.
Readsnake_case Converter: Spaces Become _
Lowercase, then replace whitespace with _. Does not split camelCase or hyphens. Nothing is uploaded.
ReadCompare Two Texts with diff-match-patch
Paste original and modified, click Compare. Deletes and inserts only — no yellow modified span.
ReadFind Text Differences: Paste, Don't Upload
Pasted strings only. Not a PDF, Word, or git diff. Character-level diff_main plus semantic cleanup.
ReadCompare Writing Drafts in the Browser
Two drafts, then Compare. Load sample does not run the diff. No copy/download of the highlight.
ReadLetraset Dummy vs Cicero: Not Random Latin
Letraset dummy (dolorem → Lorem). Cicero 1.10.32–33 Latin, not Rackham English. Extra counts cycle those three strings, not a random-word dictionary.
ReadUTF-16 vs Locale Sort: Why 10 Comes Before 2
Array.prototype.sort compares UTF-16 code units: A before a, 10 before 2. Ignore case uses toLowerCase(). Not localeCompare, Intl.Collator, or Unix sort.
ReadDeveloper Tools
How to Format JSON Online: Parse and Prettify
Format JSON in the browser with JSON.parse and JSON.stringify. 2-space prettify, minify, or validate. Standard JSON only — no comments, trailing commas, or JSON5.
ReadValidate JSON Syntax with JSON.parse
Check JSON syntax with JSON.parse. Standard JSON only — no comments, trailing commas, or JSON5.
ReadPrettify Minified JSON with JSON.stringify
Turn one-line JSON into 2-space pretty-print with JSON.parse and JSON.stringify. Standard JSON only — no comments, trailing commas, or JSON5.
ReadEncode Text to Base64: btoa + UTF-8
btoa(unescape(encodeURIComponent())) for UTF-8. RFC 4648 alphabet, not base64url. Nothing is uploaded.
ReadDecode Base64 to UTF-8: atob
decodeURIComponent(escape(atob())). Invalid strings error. Download is text/plain, not a binary restore.
ReadConvert a File to Base64: FileReader
FileReader.readAsDataURL, then the payload after the comma. Not a data URL prefix and not a binary restore.
ReadEncode URL Query Values: encodeURIComponent
Percent-encode a query value with encodeURIComponent. Spaces become %20, not +.
ReadDecode URL Text: decodeURIComponent
decodeURI vs decodeURIComponent. Malformed % errors. + stays a plus.
ReadWhen to Use encodeURI vs encodeURIComponent
encodeURI leaves reserved :/?#&= intact. encodeURIComponent encodes them. Neither is application/x-www-form-urlencoded.
ReadVixie Crontab vs Quartz: 5-Field vs 6/7
Five Vixie fields or @yearly/@annually/@monthly/@weekly/@daily/@midnight/@hourly. @reboot rejected. Quartz is 6/7 with seconds, ?, L, W, and #.
ReadUUID v4 vs Other Versions: Random vs Time
RFC 9562 v4 is 122 random bits via crypto.randomUUID() (nibble 4, variant 10xx). v1/v6 Gregorian 100-ns; v7 Unix ms; v3/v5 name hash. Docify mints v4 only.
ReadUnix Seconds vs Milliseconds: UTC vs Local
POSIX seconds ignore leap seconds. JS Date is milliseconds. toISOString is UTC; date-only YYYY-MM-DD is UTC; T-time without offset is local. No unit auto-detect.
ReadSHA-256 vs SHA-1 vs MD5: Checksum, Not a Password
MD5 is 128-bit RFC 1321. SHA-1 is collision-broken (SHAttered 2017). SHA-256 is FIPS 180-4. Unkeyed checksums, not HMAC, not bcrypt, not a file verifier.
ReadNamed vs Numeric HTML Entities: Ampersand First
Named < vs < vs <. Encode & first. Apostrophe is ' (HTML 4.01 has no '). Decode is five names plus numeric refs, not .
ReadYAML 1.2 Core vs 1.1: Norway, Comments, JSON
YAML 1.2 Core keeps yes and NO as strings. YAML 1.1 treats NO as false. Comments are dropped. .inf becomes JSON null. Not !!merge.
ReadJavaScript RegExp vs PCRE: Flags and Lookbehind
JS new RegExp is not PCRE2. $ misses a trailing newline unless m. \A is the letter A. No possessive ++. Lookbehind (?<=a+) works. Flags gimsuy only.
ReadCompact JWS vs JWE: Decode Is Not Verify
Optional Bearer prefix stripped. Three-segment JWS is header.payload.signature. Five-segment JWE is encrypted. Decode is not HMAC or RSA verify.
ReadsRGB Hex vs rgb() vs hsl(): Same Triple, Three Spellings
8-bit opaque sRGB: #36c is #3366cc / rgb(51, 102, 204) / hsl(220, 60%, 50%). hslToRgb / rgbToHsl. Not named colors, Display P3, or alpha.
ReadPositional BigInt vs Number.parseInt
Number.parseInt stops at the first invalid digit (IEEE-754, exact through 2^53−1). Horner on BigInt rejects bad digits. Bases 2–36. At most 256 digits.
ReadDocument Tools
Convert Markdown to HTML: marked + DOMPurify
marked then DOMPurify.sanitize. Copy or download the HTML fragment. PDF strips heading markers, emphasis, and link URLs.
ReadMarkdown to PDF: jsPDF Stripped-Text Dump
Download PDF strips heading markers, emphasis, and link URLs, then draws leftover text with jsPDF. Not a styled HTML-to-PDF.
ReadPreview Markdown with marked + DOMPurify
Live right-hand pane: marked parse, DOMPurify sanitize, updates as you type. Not a PDF proof.
ReadCombine Images into One A4 PDF in the Browser
Upload image/* files, reorder with Up and Down (not drag-drop), then Generate PDF. One A4 page per image; addImage is JPEG. Not a merger, collage, or OCR.
ReadConvert JPG to PDF in the Browser with jsPDF
FileReader data URL, then Generate PDF. jsPDF A4, one image per page, addImage as JPEG. Not a merger, collage, or OCR.
ReadImages to PDF Limits: Not a Merger or Collage
jsPDF addImage always uses JPEG. Landscape stays portrait. Not OCR, not a PDF merger, not a multi-photo page. SVG and HEIC often fail.
ReadStamp a Drawn Signature on Page 1 of a PDF
Upload a local PDF, draw on the 500×200 canvas, then Sign and download. pdf-lib stamps a 150×50 pt PNG at x:50 y:50. Not a certificate signature.
ReadPDF Signer Limits: Visual Stamp, Not eSign
embedPng is a 150×50 pt picture on page 1. No ESIGN or eIDAS claim, no audit trail, no certificate.
ReadPDF Signer Is Not a PKCS#7 Digital Signature
Not PKCS#7, PAdES, or a certificate. Mouse-only pad; stamp stays at 150×50 pt on page 1.
ReadData Tools
CSV to JSON in the Browser with Papa Parse
Paste or read a local .csv, then click Convert. header, skipEmptyLines, dynamicTyping. Not Excel or JSON-to-CSV.
ReadHow Papa Parse Turns CSV Rows into JSON
header: true keys each row. Empty lines drop; whitespace rows stay. Delimiter is auto-detected.
ReadPapa Parse CSV to JSON: What Developers Get
FileReader.readAsText, then Papa.parse on the string. Any error blocks JSON. Not Excel or unparse.
ReadFAQ
- Are these pages the tools themselves?
- No. This index lists short guides. Each card links a post that names a live API and points at the matching tool. Open the tool to run the conversion in your browser.
- Do I need an account, and is anything uploaded?
- No. Docify is a static site. The guides and the 22 tools run in the browser. There is no account system, no file hosting, and no site search.
- Is every Docify guide listed here?
- Yes. The 42 cards below are the complete set, grouped by topic. Posts that are not listed here do not exist yet. Do not expect a /?s= search box.
- How do these guides differ from the category hubs?
- The hubs on /developer-tools/, /text-tools/, and /pdf-tools/ index the live utilities. This page indexes the written guides that point back to those same tools. A guide is not a thirteenth utility.