<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Docify guides</title>
    <link>https://www.docify.me/blog/</link>
    <description>Short guides for Docify's browser-based tools. Each post explains a specific conversion, encoding, or formatting technique. All processing happens locally in your browser.</description>
    <language>en-us</language>
    <lastBuildDate>Thu, 01 Oct 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://www.docify.me/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Base64 vs Base64URL: URL-Safe Alphabet</title>
      <link>https://www.docify.me/blog/base64-vs-base64url/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/base64-vs-base64url/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Standard Base64 uses + and /, which break URLs. Base64URL replaces them with - and _, making encoded strings safe for query parameters and filenames.</description>
    </item>
    <item>
      <title>JSON vs YAML: Configuration Files</title>
      <link>https://www.docify.me/blog/json-vs-yaml-configuration/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/json-vs-yaml-configuration/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Compare JSON and YAML syntax for configuration files. JSON uses braces and quotes; YAML uses indentation and allows comments. Learn when to use each format.</description>
    </item>
    <item>
      <title>Hex vs Base64 vs Base32: RFC 4648 Encodings</title>
      <link>https://www.docify.me/blog/hex-vs-base64-vs-base32/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/hex-vs-base64-vs-base32/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Hex expands bytes 100%, Base64 expands 33%, Base32 expands 60%. Compare encoding density, character sets, and use cases.</description>
    </item>
    <item>
      <title>WHATWG new URL vs encodeURI: Punycode vs Percent-Encoding</title>
      <link>https://www.docify.me/blog/new-url-vs-encodeuri/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/new-url-vs-encodeuri/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>WHATWG URL parses and normalizes URLs including Punycode for international domains. encodeURI percent-encodes without parsing structure. Learn when to use each.</description>
    </item>
    <item>
      <title>Punycode vs IDNA: RFC 3492 and UTS #46</title>
      <link>https://www.docify.me/blog/punycode-vs-idna/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/punycode-vs-idna/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Compare RFC 3492 Punycode (label encoding) vs UTS #46 IDNA (full domain ToASCII). Learn when each applies to internationalized domains.</description>
    </item>
    <item>
      <title>URLSearchParams vs encodeURIComponent: Form vs Percent-Encoding</title>
      <link>https://www.docify.me/blog/urlsearchparams-vs-encodeuricomponent/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/urlsearchparams-vs-encodeuricomponent/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>URLSearchParams uses + for spaces (form encoding). encodeURIComponent uses %20 (RFC 3986). Choose based on whether you need HTML form compatibility.</description>
    </item>
    <item>
      <title>RFC 4648 Base32 vs Base32hex: Alphabet and Sort Order</title>
      <link>https://www.docify.me/blog/rfc-4648-base32-vs-base32hex/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/rfc-4648-base32-vs-base32hex/</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Base32 uses A-Z and 2-7. Base32hex uses 0-9 and A-V for natural sort order. Both are RFC 4648 compliant with different alphabets.</description>
    </item>
    <item>
      <title>NFC vs NFD vs NFKC: Canonical vs Compatibility</title>
      <link>https://www.docify.me/blog/nfc-vs-nfd-vs-nfkc/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/nfc-vs-nfd-vs-nfkc/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>NFC composes characters (é). NFD decomposes them (e + combining acute). NFKC and NFKD also normalize compatibility characters. Learn which form to use.</description>
    </item>
    <item>
      <title>Convert JSON to CSV in JavaScript: Papa.unparse vs Papa.parse</title>
      <link>https://www.docify.me/blog/papa-unparse-vs-papa-parse/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/papa-unparse-vs-papa-parse/</guid>
      <pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate>
      <description>Raw Papa.unparse writes [object Object] for nested values. IEEE-754 rounding happens at JSON.parse. This article compares them and does not convert JSON.</description>
    </item>
    <item>
      <title>How to Convert JPG &amp; PNG Images to PDF (Combine Multiple Images into One PDF)</title>
      <link>https://www.docify.me/blog/convert-jpg-to-pdf-online-free/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/convert-jpg-to-pdf-online-free/</guid>
      <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
      <description>jsPDF addImage always passes JPEG, even for PNG sources. Each image gets one A4 portrait page. This article explains jsPDF image-to-PDF and does not convert images.</description>
    </item>
    <item>
      <title>How to Sign a PDF Online Free</title>
      <link>https://www.docify.me/blog/add-signature-to-pdf-online/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/add-signature-to-pdf-online/</guid>
      <pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate>
      <description>pdf-lib embedPng and drawImage stamp a PNG on page 1 at x:50, y:50 (150×50 pt). This is not PKCS#7. This article explains pdf-lib stamping and does not sign PDFs.</description>
    </item>
    <item>
      <title>Convert Markdown to HTML: marked + DOMPurify</title>
      <link>https://www.docify.me/blog/convert-markdown-to-html-online/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/convert-markdown-to-html-online/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>marked does not sanitize HTML. DOMPurify strips scripts after parse. This article explains marked plus DOMPurify and does not convert Markdown.</description>
    </item>
    <item>
      <title>Encode Text to Base64: btoa + UTF-8</title>
      <link>https://www.docify.me/blog/encode-text-to-base64-online/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/encode-text-to-base64-online/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Encode text to Base64 using btoa() with UTF-8 encoding. Handles Unicode characters correctly by converting to UTF-8 first.</description>
    </item>
    <item>
      <title>Markdown to PDF Converter: jsPDF Plain-Text Export</title>
      <link>https://www.docify.me/blog/markdown-to-pdf-converter-free/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/markdown-to-pdf-converter-free/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>jsPDF splitTextToSize draws stripped Markdown lines at 12pt (width 170, 7 units per wrap). marked HTML is never passed to jsPDF. This article explains the jsPDF text dump and does not export PDFs.</description>
    </item>
    <item>
      <title>YAML 1.2 Core vs 1.1: Norway, Comments, JSON</title>
      <link>https://www.docify.me/blog/yaml-1-2-core-vs-1-1/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/yaml-1-2-core-vs-1-1/</guid>
      <pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate>
      <description>YAML 1.2 Core schema treats yes/no as strings, not booleans. JSON is valid YAML 1.2. Learn the key differences from YAML 1.1.</description>
    </item>
    <item>
      <title>Calculate Blog Reading Time: Words Per Minute</title>
      <link>https://www.docify.me/blog/calculate-reading-time-for-blog-posts/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/calculate-reading-time-for-blog-posts/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Calculate reading time at 200 words per minute using whitespace-split word counts. Useful for blog post metadata.</description>
    </item>
    <item>
      <title>Convert a File to Base64: FileReader</title>
      <link>https://www.docify.me/blog/how-to-convert-file-to-base64/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/how-to-convert-file-to-base64/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Convert files to Base64 using FileReader. The file never leaves your browser. Useful for embedding images in data URLs.</description>
    </item>
    <item>
      <title>Convert Text to UPPERCASE in the Browser</title>
      <link>https://www.docify.me/blog/convert-text-to-uppercase-online-free/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/convert-text-to-uppercase-online-free/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Convert text to UPPERCASE using JavaScript toUpperCase(). Spaces and punctuation are preserved. Also supports lowercase, Title Case, and snake_case.</description>
    </item>
    <item>
      <title>CSV to JSON in the Browser with Papa Parse</title>
      <link>https://www.docify.me/blog/convert-csv-to-json-online-free/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/convert-csv-to-json-online-free/</guid>
      <pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate>
      <description>Quoted numeric cells become numbers under dynamicTyping. CSV quotes only escape delimiters. This article explains Papa Parse and does not convert CSV.</description>
    </item>
    <item>
      <title>Decode Base64 to UTF-8: atob</title>
      <link>https://www.docify.me/blog/decode-base64-string-free-tool/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/decode-base64-string-free-tool/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Decode Base64 strings to UTF-8 text using atob(). Handles Unicode when the original was properly UTF-8 encoded.</description>
    </item>
    <item>
      <title>JavaScript RegExp vs PCRE: Flags and Lookbehind</title>
      <link>https://www.docify.me/blog/javascript-regexp-vs-pcre/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/javascript-regexp-vs-pcre/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>JavaScript RegExp differs from PCRE. The u flag enables Unicode mode. Lookbehind was added in ES2018. Some PCRE syntax is unsupported.</description>
    </item>
    <item>
      <title>Named vs Numeric HTML Entities: Names vs Code Points</title>
      <link>https://www.docify.me/blog/named-vs-numeric-html-entities/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/named-vs-numeric-html-entities/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>HTML entities encode special characters: &amp;lt; for &lt;, &amp;amp; for &amp;. Named entities are readable; numeric work everywhere.</description>
    </item>
    <item>
      <title>snake_case Converter: Python Variables and Database Columns</title>
      <link>https://www.docify.me/blog/snake-case-converter-tool/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/snake-case-converter-tool/</guid>
      <pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate>
      <description>Convert text to snake_case: lowercase with underscores replacing spaces. Useful for variable names in Python and database columns.</description>
    </item>
    <item>
      <title>UUID Versions Explained: v4 vs v1, v5, v7 and v8 (Format &amp; Length)</title>
      <link>https://www.docify.me/blog/uuid-v4-vs-other-versions/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/uuid-v4-vs-other-versions/</guid>
      <pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate>
      <description>Compare UUID versions: v4 random, v1/v7 time-based, v5 name-hashed, v8 custom. All UUIDs are 128 bits (36 chars with hyphens, 32 without).</description>
    </item>
    <item>
      <title>Compact JWS vs JWE: Decode Is Not Verify</title>
      <link>https://www.docify.me/blog/jwt-jws-vs-jwe/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/jwt-jws-vs-jwe/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>Compact JWS is three base64url segments; compact JWE is five. This article compares them and does not decode tokens.</description>
    </item>
    <item>
      <title>Compare Two Texts with diff-match-patch</title>
      <link>https://www.docify.me/blog/compare-two-texts-online-free/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/compare-two-texts-online-free/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>diff_main then diff_cleanupSemantic paints delete, insert, and equal spans. Replacements are delete-plus-insert. This article explains the character-level diff and does not compare texts.</description>
    </item>
    <item>
      <title>How to Format JSON Online: Parse and Prettify</title>
      <link>https://www.docify.me/blog/how-to-format-json-online/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/how-to-format-json-online/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>Format JSON with proper indentation for readability, or minify to remove whitespace. Validates syntax and shows error messages.</description>
    </item>
    <item>
      <title>Letraset Dummy vs Cicero: Not Random Latin</title>
      <link>https://www.docify.me/blog/letraset-dummy-vs-cicero/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/letraset-dummy-vs-cicero/</guid>
      <pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate>
      <description>Lorem ipsum comes from a scrambled passage of Cicero. The Letraset version has specific sentence patterns. Not random Latin.</description>
    </item>
    <item>
      <title>Minify JSON Without Breaking Unicode</title>
      <link>https://www.docify.me/blog/minify-json-without-breaking-unicode/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/minify-json-without-breaking-unicode/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>Minify JSON while preserving Unicode characters. Unlike some tools, special characters remain readable instead of being escaped.</description>
    </item>
    <item>
      <title>Positional BigInt vs Number.parseInt</title>
      <link>https://www.docify.me/blog/positional-bigint-vs-parseint/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/positional-bigint-vs-parseint/</guid>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <description>Number.parseInt stops at the first invalid digit. Exact integers end at 2^53-1. This article compares it with Horner's method on BigInt and does not convert numbers.</description>
    </item>
    <item>
      <title>SHA-256 vs SHA-1 vs MD5: Differences and Which to Use</title>
      <link>https://www.docify.me/blog/sha-256-vs-sha-1-vs-md5/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/sha-256-vs-sha-1-vs-md5/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>SHA-256 is the standard for checksums. SHA-1 and MD5 are deprecated for security. None are suitable for password hashing.</description>
    </item>
    <item>
      <title>sRGB Hex vs rgb() vs hsl(): Same Triple, Three Spellings</title>
      <link>https://www.docify.me/blog/srgb-hex-vs-rgb-vs-hsl/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/srgb-hex-vs-rgb-vs-hsl/</guid>
      <pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate>
      <description>Compare sRGB hex, rgb(), and hsl() notations. Same opaque color, three CSS spellings. Use the browser converter — nothing is uploaded.</description>
    </item>
    <item>
      <title>Unix Seconds vs Milliseconds: UTC vs Local</title>
      <link>https://www.docify.me/blog/unix-seconds-vs-milliseconds/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/unix-seconds-vs-milliseconds/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>POSIX seconds and JavaScript Date milliseconds are two integer clocks. Digit length is not a unit.</description>
    </item>
    <item>
      <title>UTF-16 vs Locale Sort: Code Units vs localeCompare</title>
      <link>https://www.docify.me/blog/utf-16-vs-locale-sort/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/utf-16-vs-locale-sort/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>JavaScript sort uses UTF-16 code units by default, so 10 sorts before 2. Use localeCompare for natural sorting.</description>
    </item>
    <item>
      <title>Validate JSON Syntax with JSON.parse</title>
      <link>https://www.docify.me/blog/validate-json-syntax-checker/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/validate-json-syntax-checker/</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>Validate JSON syntax using JSON.parse(). Invalid JSON shows the error message and position. Valid JSON can be formatted or minified.</description>
    </item>
    <item>
      <title>Vixie Crontab vs Quartz: 5-Field vs 6/7</title>
      <link>https://www.docify.me/blog/vixie-cron-vs-quartz/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/vixie-cron-vs-quartz/</guid>
      <pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate>
      <description>Vixie crontab is five fields (minute through day-of-week). Quartz adds seconds and an optional year. This article compares them and does not parse expressions.</description>
    </item>
    <item>
      <title>How to Count Words Online: Whitespace Split</title>
      <link>https://www.docify.me/blog/how-to-count-words-in-text-online/</link>
      <guid isPermaLink="true">https://www.docify.me/blog/how-to-count-words-in-text-online/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Count words by splitting on whitespace. Unspaced CJK text counts as one word since the split is whitespace-only. Character count includes spaces.</description>
    </item>
  </channel>
</rss>
