Guides for Docify’s Browser-Only Tools
43 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 43 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, LF-only paragraphs, and Math.ceil(words / 200).
ReadWord Counter for Writers: What This Page Counts
Whitespace-split words, UTF-16 characters, ASCII [.!?]+ sentences, LF-only paragraphs. 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 uses toUpperCase. Sentence case after .?! only — a bare LF stays lowercase. Identifier forms split on whitespace only.
ReadHow to Change Case in Text in the Browser
Sentence case after .?! only — a bare LF does not capitalize the next line. Title Case via \b\w. Identifier forms split on whitespace only.
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
Load sample Compare is brown→red, jump+s→jump+ed, lazy→sleeping. Not a git or PDF diff.
ReadFind Text Differences: Paste, Don't Upload
Load sample Compare is brown→red, jump+s→jump+ed, lazy→sleeping. Pasted strings only — not a PDF, Word, or git diff.
ReadCompare Writing Drafts in the Browser
Load sample Compare is brown→red, jump+s→jump+ed, lazy→sleeping. Load sample does not run Compare.
ReadLetraset Dummy vs Cicero: Not Random Latin
Load sample Generate is dummy + 1.10.32. Word 70 is Sed. Extra counts cycle those three strings, not a random-word dictionary.
ReadUTF-16 vs Locale Sort: Why 10 Comes Before 2
Unique is banana, Apple, apple, Cherry. Ignore case Unique is banana, Apple, Cherry. Reverse is Cherry, banana, apple, Apple, banana.
ReadDeveloper Tools
How to Format JSON Online: Parse and Prettify
Load sample Prettify is John Doe / age 30 / hobbies 2-space JSON. Load sample does not run Prettify. Not the users / Jane leftover.
ReadValidate JSON Syntax with JSON.parse
Load sample Validate is John Doe / age 30 / hobbies 2-space JSON plus Valid JSON. Same parse as Prettify. Not the users / Jane leftover.
ReadPrettify Minified JSON with JSON.stringify
Load sample Prettify is John Doe / age 30 / hobbies. JSON.parse then 2-space stringify. Not the users / Jane leftover.
ReadMinify JSON Without Breaking Unicode
Load sample Minify is John Doe / age 30 / hobbies compact line. Non-ASCII stays characters. Not Python ensure_ascii.
ReadEncode Text to Base64: btoa + UTF-8
Load sample Encode is Hello World! → SGVsbG8gV29ybGQh. RFC 4648, not base64url.
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
Load sample Encode URI is hello%20world&category=news. Encode component percent-encodes :/?#&=. Not form-urlencoded.
ReadDecode URL Text: decodeURIComponent
decodeURI leaves %26/%3D encoded. Decode component turns them into &/=. + stays a plus.
ReadWhen to Use encodeURI vs encodeURIComponent
encodeURI leaves + as +. encodeURIComponent writes %2B. Decode URI leaves %2B encoded. Neither is form-urlencoded.
ReadVixie Crontab vs Quartz: 5-Field vs 6/7
Load sample Explain is 30 4 1,15 * 5 → At 04:30, 1, 15 of every month (1–12), and also 5 (Friday). Not Quartz.
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
Load sample Convert is 1700000000 seconds → 2023-11-14T22:13:20.000Z. Same integer as ms is 1970-01-20T16:13:20.000Z.
ReadSHA-256 vs SHA-1 vs MD5: Checksum, Not a Password
Load sample Hash is abc → ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Not HMAC or a password hash.
ReadNamed vs Numeric HTML Entities: Ampersand First
Named < vs < vs <. Decode < to <, but < or < without ; stay written. Not .
ReadYAML 1.2 Core vs 1.1: Norway, Comments, JSON
Load sample Convert is name: Docify / count: 2 / enabled: true. Core keeps yes/NO as strings. 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 ++. With g, (?=a) on aba is two empty matches.
ReadCompact JWS vs JWE: Decode Is Not Verify
Load sample Decode is HS256 JWT, Ada Lovelace, iat 1516239022 → 2018-01-18T01:30:22.000Z. Decode is not HMAC or RSA verify.
ReadsRGB Hex vs rgb() vs hsl(): Same Triple, Three Spellings
Load sample Convert is #3366cc / rgb(51, 102, 204) / hsl(220, 60%, 50%). #36c is the same triple. Not named colors or Display P3.
ReadPositional BigInt vs Number.parseInt
Load sample Convert is hex ff → 255. FF is the same 255. Horner on BigInt, not Number.parseInt.
ReadDocument Tools
Convert Markdown to HTML: marked + DOMPurify
Load sample preview is Welcome to Markdown as h1. marked then DOMPurify. PDF keeps list dashes and fences.
ReadMarkdown to PDF: jsPDF Stripped-Text Dump
Load sample PDF is Welcome to Markdown; list dashes and fences stay; Visit Docify (URL dropped). Not HTML-to-PDF.
ReadPreview Markdown with marked + DOMPurify
Load sample preview is Welcome to Markdown as h1 plus language-javascript fence. 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 43 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.