# PDFFlare — Full Content Dump Site: https://pdfflare.com/ Total tools: 81 Total blog posts: 111 Generated at build time on every Vercel deploy. This document is the complete content of pdfflare.com in markdown form, intended for AI assistants and large language models. For the index of all pages, see https://pdfflare.com/llms.txt. Each tool and blog post also exposes a markdown variant at /llms.md. --- # Tools # Merge PDF URL: https://pdfflare.com/tools/pdf/merge-pdf Category: PDF Tools Merge multiple PDF files into one document online for free. No signup, no watermark. Drag and drop to reorder pages. ## What it does Merge PDF Files Online — Free & Fast. Combine multiple PDFs into one. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - merge pdf online free - combine pdf - join pdf files - merge pdf files - pdf merger ## How to use it 1. Open https://pdfflare.com/tools/pdf/merge-pdf 2. Follow the on-page instructions for merge pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF - [PowerPoint to PDF](https://pdfflare.com/tools/pdf/powerpoint-to-pdf): PPTX, PPT, ODP to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Split PDF URL: https://pdfflare.com/tools/pdf/split-pdf Category: PDF Tools Split PDF files into individual pages or custom ranges online for free. No signup needed. ## What it does Split PDF Online — Extract Pages for Free. Separate into pages or ranges. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - split pdf online free - separate pdf pages - extract pages from pdf - pdf splitter - split pdf file ## How to use it 1. Open https://pdfflare.com/tools/pdf/split-pdf 2. Follow the on-page instructions for split pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF - [PowerPoint to PDF](https://pdfflare.com/tools/pdf/powerpoint-to-pdf): PPTX, PPT, ODP to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Compress PDF URL: https://pdfflare.com/tools/pdf/compress-pdf Category: PDF Tools Compress PDF files online for free. Reduce PDF size without losing quality. No signup needed. ## What it does Compress PDF — Reduce File Size Online. Reduce file size. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - compress pdf - reduce pdf size - pdf compressor - make pdf smaller - shrink pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/compress-pdf 2. Follow the on-page instructions for compress pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF - [PowerPoint to PDF](https://pdfflare.com/tools/pdf/powerpoint-to-pdf): PPTX, PPT, ODP to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # PDF to Word URL: https://pdfflare.com/tools/pdf/pdf-to-word Category: PDF Tools Convert PDF to editable Word document (DOCX) online for free. Preserves formatting. No signup. ## What it does Convert PDF to Word Online — Free & Accurate. Convert to editable DOCX. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - pdf to word converter free - pdf to docx - convert pdf to word - pdf to word online - pdf to editable word ## How to use it 1. Open https://pdfflare.com/tools/pdf/pdf-to-word 2. Follow the on-page instructions for pdf to word 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF - [PowerPoint to PDF](https://pdfflare.com/tools/pdf/powerpoint-to-pdf): PPTX, PPT, ODP to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Word to PDF URL: https://pdfflare.com/tools/pdf/word-to-pdf Category: PDF Tools Convert Word documents (DOCX) to PDF online for free. Fast and secure — no signup needed. ## What it does Convert Word to PDF Online — Free & Fast. Convert DOCX to PDF. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - word to pdf converter - docx to pdf - convert word to pdf - word to pdf online free ## How to use it 1. Open https://pdfflare.com/tools/pdf/word-to-pdf 2. Follow the on-page instructions for word to pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF - [PowerPoint to PDF](https://pdfflare.com/tools/pdf/powerpoint-to-pdf): PPTX, PPT, ODP to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Excel to PDF URL: https://pdfflare.com/tools/pdf/excel-to-pdf Category: PDF Tools Free Excel to PDF converter with orientation, fit-to-width, and sheet picker. Convert XLSX, XLS, ODS — no cut-off columns, no signup, no watermark. ## What it does Excel to PDF Converter — Free & Fast Online. XLSX, XLS, ODS to PDF. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - excel to pdf converter - xlsx to pdf - xls to pdf - spreadsheet to pdf - convert excel to pdf online free - excel sheet to pdf - save excel as pdf without cutting columns ## How to use it 1. Open https://pdfflare.com/tools/pdf/excel-to-pdf 2. Follow the on-page instructions for excel to pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [PowerPoint to PDF](https://pdfflare.com/tools/pdf/powerpoint-to-pdf): PPTX, PPT, ODP to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # PowerPoint to PDF URL: https://pdfflare.com/tools/pdf/powerpoint-to-pdf Category: PDF Tools Free PowerPoint to PDF converter with handout layouts (2, 4, 6, 9 per page), speaker notes, slide ranges, and grayscale. Convert PPTX, PPT, ODP — no signup. ## What it does PowerPoint to PDF Converter — Free & Fast Online. PPTX, PPT, ODP to PDF. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - powerpoint to pdf converter - pptx to pdf - ppt to pdf - convert powerpoint to pdf online free - powerpoint to pdf with notes - powerpoint handout pdf - slides to pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/powerpoint-to-pdf 2. Follow the on-page instructions for powerpoint to pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Crop PDF URL: https://pdfflare.com/tools/pdf/crop-pdf Category: PDF Tools Crop PDF pages online for free. Drag to select the crop area, apply to all pages or just the first. 100% browser-based, no upload, no signup. ## What it does Crop PDF Online — Free, Browser-Based Page Trimming. Trim PDF margins or pages. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - crop pdf - crop pdf online - crop pdf pages - trim pdf margins - crop pdf free - resize pdf page - crop pdf online free ## How to use it 1. Open https://pdfflare.com/tools/pdf/crop-pdf 2. Follow the on-page instructions for crop pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # HTML to PDF URL: https://pdfflare.com/tools/pdf/html-to-pdf Category: PDF Tools Convert HTML to PDF online for free. Paste HTML code or upload an .html file — pick A4 or Letter, portrait or landscape. 100% browser-based, no signup. ## What it does HTML to PDF Converter — Free & Browser-Based. Convert HTML to PDF. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - html to pdf - html to pdf converter - convert html to pdf - html file to pdf - save html as pdf - html code to pdf - webpage to pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/html-to-pdf 2. Follow the on-page instructions for html to pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # PDF to JPG URL: https://pdfflare.com/tools/pdf/pdf-to-jpg Category: PDF Tools Convert PDF pages to high-quality JPG images online for free. Extract all pages or select specific ones. ## What it does Convert PDF to JPG Online — Free & Fast. Extract pages as images. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - pdf to jpg converter - pdf to image - convert pdf to jpg - pdf to jpeg online - extract images from pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/pdf-to-jpg 2. Follow the on-page instructions for pdf to jpg 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Photo to PDF URL: https://pdfflare.com/tools/pdf/jpg-to-pdf Category: PDF Tools Convert photos to PDF free online. Combine JPG, PNG, HEIC (iPhone), and WebP images into one PDF — drag to reorder, no signup, no watermark. ## What it does Photo to PDF Converter — JPG, PNG, HEIC, WebP to PDF. Photos to PDF document. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - photo to pdf - jpg to pdf - image to pdf - picture to pdf - heic to pdf - iphone photos to pdf - convert images to pdf - png to pdf - combine photos into pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/jpg-to-pdf 2. Follow the on-page instructions for photo to pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Rotate PDF URL: https://pdfflare.com/tools/pdf/rotate-pdf Category: PDF Tools Rotate PDF pages by 90, 180, or 270 degrees online for free. Fix upside-down or sideways pages. ## What it does Rotate PDF Pages Online — Free. Rotate pages by 90/180/270. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - rotate pdf online - rotate pdf pages - turn pdf sideways - flip pdf - pdf rotator ## How to use it 1. Open https://pdfflare.com/tools/pdf/rotate-pdf 2. Follow the on-page instructions for rotate pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Password Protect PDF URL: https://pdfflare.com/tools/pdf/password-protect-pdf Category: PDF Tools Add password protection to PDF files online for free. Encrypt your documents with RC4 128-bit security — 100% browser-based, no upload needed. ## What it does Password Protect PDF Online — Free & Secure. Encrypt PDF with password. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - password protect pdf online - encrypt pdf - lock pdf - pdf password - secure pdf - add password to pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/password-protect-pdf 2. Follow the on-page instructions for password protect pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Unlock PDF URL: https://pdfflare.com/tools/pdf/unlock-pdf Category: PDF Tools Remove password protection from PDF files online for free. Unlock locked PDFs instantly in your browser. ## What it does Unlock PDF — Remove Password Online Free. Remove PDF password. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - unlock pdf online free - remove pdf password - pdf unlocker - decrypt pdf - open locked pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/unlock-pdf 2. Follow the on-page instructions for unlock pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Remove PDF Pages URL: https://pdfflare.com/tools/pdf/remove-pdf-pages Category: PDF Tools Remove specific pages from PDF files online for free. Select and delete unwanted pages instantly in your browser — no quality loss. ## What it does Remove Pages from PDF Online — Free. Delete pages from PDF. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - remove pages from pdf online - delete pdf pages - remove pdf page - pdf page remover - delete pages from pdf ## How to use it 1. Open https://pdfflare.com/tools/pdf/remove-pdf-pages 2. Follow the on-page instructions for remove pdf pages 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Edit PDF URL: https://pdfflare.com/tools/pdf/edit-pdf Category: PDF Tools Edit PDF files online for free. Add text, images, shapes, signatures, and annotations. 100% browser-based — your files stay private. ## What it does Edit PDF Online — Free Browser-Based PDF Editor. Edit PDF files online. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - edit pdf online free - pdf editor online - free pdf editor - edit pdf file - online pdf editor - pdf editor no signup - add text to pdf - annotate pdf online - sign pdf online - fill pdf form ## How to use it 1. Open https://pdfflare.com/tools/pdf/edit-pdf 2. Follow the on-page instructions for edit pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # OCR PDF URL: https://pdfflare.com/tools/pdf/ocr-pdf Category: PDF Tools Extract text from scanned PDFs and images online for free using OCR. Supports 100+ languages. 100% browser-based — your files stay private. ## What it does OCR PDF — Extract Text from Scanned Documents Free. Extract text from scanned PDFs & images. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - ocr pdf online free - extract text from image - image to text - pdf to text - scanned pdf to text - ocr online free ## How to use it 1. Open https://pdfflare.com/tools/pdf/ocr-pdf 2. Follow the on-page instructions for ocr pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Fill PDF Form URL: https://pdfflare.com/tools/pdf/fill-pdf-form Category: PDF Tools Fill PDF form online — auto-detects underscore blanks plus AcroForm fields. Type to fill, download. Free, no signup, no Acrobat, runs in your browser. ## What it does Fill PDF Form Online — Auto-Detect Blanks, No Acrobat. Auto-detect blanks + fill PDF forms. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - fill pdf form online - fill pdf form free - pdf form filler - auto fill pdf form - fill out pdf form - fill pdf without acrobat - online pdf form filler no signup - fillable pdf form ## How to use it 1. Open https://pdfflare.com/tools/pdf/fill-pdf-form 2. Follow the on-page instructions for fill pdf form 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Sign PDF URL: https://pdfflare.com/tools/pdf/sign-pdf Category: PDF Tools Sign PDF documents online for free. Draw, type, or upload your signature and place it anywhere on your PDF. 100% browser-based — no signup needed. ## What it does Sign PDF Online — Add Your Signature Free. Add signature to PDF. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - sign pdf online free - add signature to pdf - sign pdf free - e-sign pdf online - digital signature pdf - sign document online ## How to use it 1. Open https://pdfflare.com/tools/pdf/sign-pdf 2. Follow the on-page instructions for sign pdf 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Add Page Numbers URL: https://pdfflare.com/tools/pdf/add-page-numbers Category: PDF Tools Add page numbers to any PDF online for free. Choose position, format, and starting number. 100% browser-based — your files stay private. ## What it does Add Page Numbers to PDF Online — Free. Add page numbers to PDF. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - add page numbers to pdf - pdf page numbering - insert page numbers pdf - number pdf pages online - pdf page number generator - add page numbers to pdf free ## How to use it 1. Open https://pdfflare.com/tools/pdf/add-page-numbers 2. Follow the on-page instructions for add page numbers 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Rearrange PDF Pages URL: https://pdfflare.com/tools/pdf/rearrange-pdf-pages Category: PDF Tools Rearrange PDF pages online for free. Drag and drop to reorder pages in any sequence. Reverse, move, or reorganize — no signup, no watermarks. ## What it does Rearrange PDF Pages Online — Free & Easy. Rearrange PDF pages in any order. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - rearrange pdf pages online - reorder pdf pages - rearrange pdf - change pdf page order - reorganize pdf pages - pdf page order changer - move pdf pages online ## How to use it 1. Open https://pdfflare.com/tools/pdf/rearrange-pdf-pages 2. Follow the on-page instructions for rearrange pdf pages 3. Your result is generated locally in the browser ## Other pdf tools on PDFFlare - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf): Combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): Separate into pages or ranges - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf): Reduce file size - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word): Convert to editable DOCX - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf): Convert DOCX to PDF - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf): XLSX, XLS, ODS to PDF ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Resize Image URL: https://pdfflare.com/tools/image/resize-image Category: Image Tools Resize image online free with built-in presets (Instagram, YouTube, passport, social banners) and inline crop for off-aspect sources. Browser-based. ## What it does Resize Image Online — Free & Fast. Change image dimensions. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - resize image online free - image resizer - resize photo - change image size - resize picture - instagram size resizer - passport photo resizer ## How to use it 1. Open https://pdfflare.com/tools/image/resize-image 2. Follow the on-page instructions for resize image 3. Your result is generated locally in the browser ## Other image tools on PDFFlare - [Compress Image](https://pdfflare.com/tools/image/compress-image): Reduce image file size - [Compress Image to KB](https://pdfflare.com/tools/image/compress-image-to-kb): Compress to exact target size - [Convert Image](https://pdfflare.com/tools/image/convert-image): PNG, JPG, WebP conversion - [Crop Image](https://pdfflare.com/tools/image/crop-image): Visual crop, rotate & batch process images - [Flip Image](https://pdfflare.com/tools/image/flip-image): Flip, mirror, or rotate images - [Add Watermark](https://pdfflare.com/tools/image/add-watermark): Add text watermark to images ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Compress Image URL: https://pdfflare.com/tools/image/compress-image Category: Image Tools Compress images online for free. Reduce file size without visible quality loss. Supports JPG, PNG, WebP. ## What it does Compress Image Online — Reduce File Size. Reduce image file size. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - compress image online - image compressor - reduce image size - compress photo - optimize image ## How to use it 1. Open https://pdfflare.com/tools/image/compress-image 2. Follow the on-page instructions for compress image 3. Your result is generated locally in the browser ## Other image tools on PDFFlare - [Resize Image](https://pdfflare.com/tools/image/resize-image): Change image dimensions - [Compress Image to KB](https://pdfflare.com/tools/image/compress-image-to-kb): Compress to exact target size - [Convert Image](https://pdfflare.com/tools/image/convert-image): PNG, JPG, WebP conversion - [Crop Image](https://pdfflare.com/tools/image/crop-image): Visual crop, rotate & batch process images - [Flip Image](https://pdfflare.com/tools/image/flip-image): Flip, mirror, or rotate images - [Add Watermark](https://pdfflare.com/tools/image/add-watermark): Add text watermark to images ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Compress Image to KB URL: https://pdfflare.com/tools/image/compress-image-to-kb Category: Image Tools Compress image to specific size (KB) — JPG, PNG, WebP, or HEIC. Iterative quality search + auto-downscale to hit your exact target. Free, browser-only. ## What it does Compress Image to Specific Size in KB — Free & Browser-Based. Compress to exact target size. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - compress image to specific size - compress image to 100kb - compress image to 50kb - compress image to 200kb - reduce image size to kb - compress jpg to kb - image compressor to specific size ## How to use it 1. Open https://pdfflare.com/tools/image/compress-image-to-kb 2. Follow the on-page instructions for compress image to kb 3. Your result is generated locally in the browser ## Other image tools on PDFFlare - [Resize Image](https://pdfflare.com/tools/image/resize-image): Change image dimensions - [Compress Image](https://pdfflare.com/tools/image/compress-image): Reduce image file size - [Convert Image](https://pdfflare.com/tools/image/convert-image): PNG, JPG, WebP conversion - [Crop Image](https://pdfflare.com/tools/image/crop-image): Visual crop, rotate & batch process images - [Flip Image](https://pdfflare.com/tools/image/flip-image): Flip, mirror, or rotate images - [Add Watermark](https://pdfflare.com/tools/image/add-watermark): Add text watermark to images ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Convert Image URL: https://pdfflare.com/tools/image/convert-image Category: Image Tools Convert between image formats online for free. PNG to JPG, JPG to WebP, and more. No signup required. ## What it does Convert Image Format Online — Free. PNG, JPG, WebP conversion. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - convert image format online - png to jpg - jpg to png - image converter - webp converter - convert image online ## How to use it 1. Open https://pdfflare.com/tools/image/convert-image 2. Follow the on-page instructions for convert image 3. Your result is generated locally in the browser ## Other image tools on PDFFlare - [Resize Image](https://pdfflare.com/tools/image/resize-image): Change image dimensions - [Compress Image](https://pdfflare.com/tools/image/compress-image): Reduce image file size - [Compress Image to KB](https://pdfflare.com/tools/image/compress-image-to-kb): Compress to exact target size - [Crop Image](https://pdfflare.com/tools/image/crop-image): Visual crop, rotate & batch process images - [Flip Image](https://pdfflare.com/tools/image/flip-image): Flip, mirror, or rotate images - [Add Watermark](https://pdfflare.com/tools/image/add-watermark): Add text watermark to images ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Crop Image URL: https://pdfflare.com/tools/image/crop-image Category: Image Tools Crop image online free with PDFFlare. Visual drag-to-crop editor, 10+ aspect ratio presets for Instagram and TikTok, batch crop, rotate. Browser-based. ## What it does Crop Image Online Free — Visual Image Cropper. Visual crop, rotate & batch process images. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - crop image online free - image cropper - trim image - cut image - crop photo online - visual image cropper - batch crop images - crop and rotate image online - image cropper with aspect ratios - crop image for Instagram - crop image for TikTok ## How to use it 1. Open https://pdfflare.com/tools/image/crop-image 2. Follow the on-page instructions for crop image 3. Your result is generated locally in the browser ## Other image tools on PDFFlare - [Resize Image](https://pdfflare.com/tools/image/resize-image): Change image dimensions - [Compress Image](https://pdfflare.com/tools/image/compress-image): Reduce image file size - [Compress Image to KB](https://pdfflare.com/tools/image/compress-image-to-kb): Compress to exact target size - [Convert Image](https://pdfflare.com/tools/image/convert-image): PNG, JPG, WebP conversion - [Flip Image](https://pdfflare.com/tools/image/flip-image): Flip, mirror, or rotate images - [Add Watermark](https://pdfflare.com/tools/image/add-watermark): Add text watermark to images ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Flip Image URL: https://pdfflare.com/tools/image/flip-image Category: Image Tools Flip, mirror, and rotate images online for free. Horizontal flip, vertical flip, 90-degree rotation. Supports JPG, PNG, WebP. ## What it does Flip & Rotate Image Online — Free. Flip, mirror, or rotate images. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - flip image online free - mirror image - rotate image online - flip photo - image rotator - flip image horizontally ## How to use it 1. Open https://pdfflare.com/tools/image/flip-image 2. Follow the on-page instructions for flip image 3. Your result is generated locally in the browser ## Other image tools on PDFFlare - [Resize Image](https://pdfflare.com/tools/image/resize-image): Change image dimensions - [Compress Image](https://pdfflare.com/tools/image/compress-image): Reduce image file size - [Compress Image to KB](https://pdfflare.com/tools/image/compress-image-to-kb): Compress to exact target size - [Convert Image](https://pdfflare.com/tools/image/convert-image): PNG, JPG, WebP conversion - [Crop Image](https://pdfflare.com/tools/image/crop-image): Visual crop, rotate & batch process images - [Add Watermark](https://pdfflare.com/tools/image/add-watermark): Add text watermark to images ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Add Watermark URL: https://pdfflare.com/tools/image/add-watermark Category: Image Tools Add text watermarks to images online for free. Customize font size, opacity, and position. Supports JPG, PNG, WebP. ## What it does Add Watermark to Image Online — Free. Add text watermark to images. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - add watermark to image online - image watermark - watermark photo - text watermark - watermark maker - photo watermark online ## How to use it 1. Open https://pdfflare.com/tools/image/add-watermark 2. Follow the on-page instructions for add watermark 3. Your result is generated locally in the browser ## Other image tools on PDFFlare - [Resize Image](https://pdfflare.com/tools/image/resize-image): Change image dimensions - [Compress Image](https://pdfflare.com/tools/image/compress-image): Reduce image file size - [Compress Image to KB](https://pdfflare.com/tools/image/compress-image-to-kb): Compress to exact target size - [Convert Image](https://pdfflare.com/tools/image/convert-image): PNG, JPG, WebP conversion - [Crop Image](https://pdfflare.com/tools/image/crop-image): Visual crop, rotate & batch process images - [Flip Image](https://pdfflare.com/tools/image/flip-image): Flip, mirror, or rotate images ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Word Counter URL: https://pdfflare.com/tools/text/word-counter Category: Text Tools Count words, characters, sentences, and paragraphs online for free. Real-time counting as you type. ## What it does Word Counter — Count Words & Characters Online. Count words, characters, sentences. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - word counter online - character counter - letter counter - word count tool - text counter ## How to use it 1. Open https://pdfflare.com/tools/text/word-counter 2. Follow the on-page instructions for word counter 3. Your result is generated locally in the browser ## Other text tools on PDFFlare - [Case Converter](https://pdfflare.com/tools/text/case-converter): 16 formats + stats - [Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator): Generate placeholder text - [Text Diff](https://pdfflare.com/tools/text/text-diff): Compare two texts side by side ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Formatter URL: https://pdfflare.com/tools/json/json-formatter Category: JSON Tools Free online JSON formatter — format, validate, and repair JSON in your browser. Line numbers, error highlighting, sort keys, no signup. ## What it does JSON Formatter, Validator & Repair — Free Online. Format, validate, repair JSON. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json formatter online - json beautifier - json validator - format json - json pretty print - json repair - fix broken json ## How to use it 1. Open https://pdfflare.com/tools/json/json-formatter 2. Follow the on-page instructions for json formatter 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates - [JSON Schema](https://pdfflare.com/tools/json/json-schema): Generate + validate JSON Schema ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to TypeScript URL: https://pdfflare.com/tools/json/json-to-typescript Category: JSON Tools Convert JSON to TypeScript interfaces for free. Paste any JSON, get clean type definitions instantly. Browser-based, no signup. ## What it does JSON to TypeScript — Generate Interfaces Free. Generate TS interfaces from JSON. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to typescript - json to ts - json to typescript interface - json to types - generate typescript types from json - json type generator ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-typescript 2. Follow the on-page instructions for json to typescript 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates - [JSON Schema](https://pdfflare.com/tools/json/json-schema): Generate + validate JSON Schema ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to CSV URL: https://pdfflare.com/tools/json/json-to-csv Category: JSON Tools Convert JSON to CSV and CSV to JSON for free online. Bi-directional, handles quoted fields. Browser-based — files never uploaded. ## What it does JSON to CSV & CSV to JSON — Free Converter. Convert JSON ↔ CSV both ways. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to csv online - csv to json - convert json to csv - json csv converter - convert csv to json online - json array to csv ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-csv 2. Follow the on-page instructions for json to csv 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates - [JSON Schema](https://pdfflare.com/tools/json/json-schema): Generate + validate JSON Schema ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to YAML URL: https://pdfflare.com/tools/json/json-to-yaml Category: JSON Tools Convert JSON to YAML and YAML to JSON for free online. Bi-directional, browser-based. No signup required, your data stays private. ## What it does JSON to YAML & YAML to JSON — Free Converter. Convert JSON ↔ YAML both ways. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to yaml online - yaml to json - convert json to yaml - json yaml converter - yaml converter online - json2yaml ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-yaml 2. Follow the on-page instructions for json to yaml 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates - [JSON Schema](https://pdfflare.com/tools/json/json-schema): Generate + validate JSON Schema ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Diff URL: https://pdfflare.com/tools/json/json-diff Category: JSON Tools Free online JSON diff tool — compare two JSON values structurally and see added, removed, and changed paths in seconds. Browser-based, no signup. ## What it does JSON Diff — Compare Two JSONs Free Online. Compare two JSONs structurally. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json diff online - compare json - json compare online - json diff checker - json comparison tool - diff two json files ## How to use it 1. Open https://pdfflare.com/tools/json/json-diff 2. Follow the on-page instructions for json diff 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates - [JSON Schema](https://pdfflare.com/tools/json/json-schema): Generate + validate JSON Schema ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Generator URL: https://pdfflare.com/tools/json/json-generator Category: JSON Tools Free online JSON generator — create dummy and fake JSON for testing, mockups, and demos. Pick a template, choose count, get sample data instantly. ## What it does JSON Generator — Dummy & Fake JSON Data. Generate dummy JSON from templates. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json generator - dummy json generator - fake json data - mock json data - sample json generator - test json data ## How to use it 1. Open https://pdfflare.com/tools/json/json-generator 2. Follow the on-page instructions for json generator 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Schema](https://pdfflare.com/tools/json/json-schema): Generate + validate JSON Schema ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Schema URL: https://pdfflare.com/tools/json/json-schema Category: JSON Tools Free JSON Schema generator and validator — infer Draft-07 schema from a sample, or validate JSON against a schema with full error pointers. AJV-powered. ## What it does JSON Schema Generator + Validator — Free Online. Generate + validate JSON Schema. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json schema generator validator - generate json schema - json schema from sample - json schema validator online - validate json against schema - draft 07 schema - ajv online ## How to use it 1. Open https://pdfflare.com/tools/json/json-schema 2. Follow the on-page instructions for json schema 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Path URL: https://pdfflare.com/tools/json/json-path Category: JSON Tools Test JSONPath expressions against any JSON in your browser. Supports $, $.foo, $.foo[0], $..key, wildcards. Instant results, no signup. ## What it does JSONPath Tester — Query JSON Online Free. Query JSON with JSONPath. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - jsonpath online - jsonpath tester - jsonpath evaluator - json path query - jsonpath online tester - test jsonpath expression ## How to use it 1. Open https://pdfflare.com/tools/json/json-path 2. Follow the on-page instructions for json path 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Flatten URL: https://pdfflare.com/tools/json/json-flatten Category: JSON Tools Flatten nested JSON to dot-notation keys, or rebuild a flat object back into nested JSON. Bi-directional, free, browser-based. ## What it does JSON Flatten / Unflatten — Free Online. Flatten / unflatten nested JSON. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - flatten json online - json flatten - unflatten json - flatten nested json - json dot notation - json to flat object ## How to use it 1. Open https://pdfflare.com/tools/json/json-flatten 2. Follow the on-page instructions for json flatten 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Duplicate Keys URL: https://pdfflare.com/tools/json/json-duplicate-keys Category: JSON Tools Find duplicate keys in JSON objects online for free. JSON.parse silently drops the first — this tool flags every conflict so you can fix data-loss bugs. ## What it does Find Duplicate Keys in JSON — Free Online. Find duplicate JSON keys. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - find duplicate keys in json - json duplicate keys - json duplicate properties - detect duplicate keys json - json key conflict ## How to use it 1. Open https://pdfflare.com/tools/json/json-duplicate-keys 2. Follow the on-page instructions for duplicate keys 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Escape URL: https://pdfflare.com/tools/json/json-escape Category: JSON Tools Escape any string into a valid JSON string literal, or unescape a JSON string back to plain text. Handles \n, \t, \u, and quotes. ## What it does JSON Escape / Unescape — Free Online. Escape / unescape JSON strings. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json escape online - escape json string - unescape json string - json string escape - json escape characters ## How to use it 1. Open https://pdfflare.com/tools/json/json-escape 2. Follow the on-page instructions for json escape 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Stats URL: https://pdfflare.com/tools/json/json-stats Category: JSON Tools Free online JSON statistics tool — inspect depth, total keys, unique keys, type breakdown, key frequencies, and the deepest path. Browser-based. ## What it does JSON Statistics — Analyze Structure Online. Inspect depth, keys, types. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json statistics online - json stats - json analyser - json structure analyzer - count json keys - json depth ## How to use it 1. Open https://pdfflare.com/tools/json/json-stats 2. Follow the on-page instructions for json stats 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Viewer URL: https://pdfflare.com/tools/json/json-viewer Category: JSON Tools Free online JSON viewer — browse any JSON as a collapsible tree. Click to expand or collapse nodes, navigate deep structures, copy individual paths. ## What it does JSON Viewer — Interactive Tree Online. Interactive collapsible tree. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json viewer online - json tree viewer - interactive json viewer - expandable json - json explorer - browse json ## How to use it 1. Open https://pdfflare.com/tools/json/json-viewer 2. Follow the on-page instructions for json viewer 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to XML URL: https://pdfflare.com/tools/json/json-to-xml Category: JSON Tools Convert JSON to XML and XML to JSON for free online. Pretty-printed XML with sensible defaults, browser-based parsing. ## What it does JSON to XML & XML to JSON — Free Converter. Convert JSON ↔ XML both ways. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to xml online - xml to json - convert json to xml - xml json converter - json2xml ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-xml 2. Follow the on-page instructions for json to xml 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to TOML URL: https://pdfflare.com/tools/json/json-to-toml Category: JSON Tools Convert JSON to TOML and TOML to JSON for free online. Tables, arrays of tables, scalars all supported. Browser-based — no signup. ## What it does JSON to TOML & TOML to JSON — Free Converter. Convert JSON ↔ TOML both ways. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to toml - toml to json - convert json to toml - json toml converter - convert toml to json online ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-toml 2. Follow the on-page instructions for json to toml 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Go URL: https://pdfflare.com/tools/json/json-to-go Category: JSON Tools Generate Go structs from a JSON sample. Each unique shape gets its own struct, with json:"..." tags preserving the original keys. ## What it does JSON to Go Struct — Free Online. Generate Go structs from JSON. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to go struct - json to go - json to golang - generate go structs from json - json to go converter - json struct generator ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-go 2. Follow the on-page instructions for json to go 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Python URL: https://pdfflare.com/tools/json/json-to-python Category: JSON Tools Generate Python @dataclass definitions from any JSON sample. Includes typing imports, recursive types, mixed-type unions. ## What it does JSON to Python Dataclass — Free Online. Generate Python @dataclass. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to python - json to dataclass - json to python class - generate python from json - json to pydantic ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-python 2. Follow the on-page instructions for json to python 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Rust URL: https://pdfflare.com/tools/json/json-to-rust Category: JSON Tools Generate Rust structs with serde Serialize/Deserialize derives from any JSON sample. Snake_case field names, serde rename tags. ## What it does JSON to Rust Struct — Free Online (serde). Generate Rust serde structs. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to rust struct - json to rust - json to serde - generate rust structs from json - json rust converter ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-rust 2. Follow the on-page instructions for json to rust 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Java URL: https://pdfflare.com/tools/json/json-to-java Category: JSON Tools JSON to Java POJO converter — generate Jackson @JsonProperty classes from any JSON sample. One class per shape, getters and setters, browser-based. ## What it does JSON to Java POJO — Free Online (Jackson). Generate Java POJOs. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to java pojo - json to java - json to java class - generate java pojo from json - jackson json to pojo - json to jackson ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-java 2. Follow the on-page instructions for json to java 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to C# URL: https://pdfflare.com/tools/json/json-to-csharp Category: JSON Tools Convert JSON to C# classes online for free. Auto-properties with [JsonPropertyName] attributes for System.Text.Json. Each shape gets its own class. ## What it does JSON to C# Class — Free Online (.NET). Generate C# classes. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to c# class - json to csharp - json to c# online - generate c# class from json - json to system.text.json - json to dotnet class ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-csharp 2. Follow the on-page instructions for json to c# 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Markdown URL: https://pdfflare.com/tools/json/json-to-markdown-table Category: JSON Tools JSON to Markdown table converter — turn a JSON array into a GFM table for READMEs, docs, GitHub, and Notion. Auto headers, escaped pipes, browser-based. ## What it does JSON to Markdown Table — Free Online. JSON array to Markdown table. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to markdown table - json to md table - convert json to markdown - json array to markdown - json to github markdown ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-markdown-table 2. Follow the on-page instructions for json to markdown 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Kotlin URL: https://pdfflare.com/tools/json/json-to-kotlin Category: JSON Tools JSON to Kotlin data class generator — emits @Serializable classes with @SerialName annotations for kotlinx.serialization. Built for Android workflows. ## What it does JSON to Kotlin Data Class — Free Online. Generate Kotlin data classes. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to kotlin data class - json to kotlin - kotlin data class from json - json to kotlinx serialization - android json to kotlin ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-kotlin 2. Follow the on-page instructions for json to kotlin 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Swift URL: https://pdfflare.com/tools/json/json-to-swift Category: JSON Tools JSON to Swift Codable generator — produces Codable structs with CodingKeys for non-camelCase keys. Built for iOS, macOS, and visionOS workflows. ## What it does JSON to Swift Codable — Free Online. Generate Swift Codable structs. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to swift codable - json to swift - swift codable from json - json to swift struct - ios json to swift ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-swift 2. Follow the on-page instructions for json to swift 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to SQL URL: https://pdfflare.com/tools/json/json-to-sql Category: JSON Tools JSON to SQL converter — turn a JSON array into CREATE TABLE + INSERT statements for Postgres, MySQL, or SQLite. Auto type inference, browser-based. ## What it does JSON to SQL — Free Online Generator. CREATE TABLE + INSERT statements. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to sql - json to sql online - json to create table - json to insert sql - json array to sql - convert json to sql ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-sql 2. Follow the on-page instructions for json to sql 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to HTML URL: https://pdfflare.com/tools/json/json-to-html-table Category: JSON Tools JSON to HTML table converter — turn a JSON array into semantic markup for emails, dashboards, and static pages. Escaped cells, browser-based. ## What it does JSON to HTML Table — Free Online. JSON array to HTML table. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to html table - convert json to html - json array to html table - json to html online - render json as table ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-html-table 2. Follow the on-page instructions for json to html 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Merge Patch URL: https://pdfflare.com/tools/json/json-merge-patch Category: JSON Tools Apply a JSON Merge Patch (RFC 7396) to any JSON document. Null deletes, objects merge recursively, anything else replaces. Browser-based. ## What it does JSON Merge Patch — Free Online (RFC 7396). Apply RFC 7396 patches. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json merge patch - rfc 7396 - json patch online - apply json patch - json merge online - json partial update ## How to use it 1. Open https://pdfflare.com/tools/json/json-merge-patch 2. Follow the on-page instructions for json merge patch 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Excel URL: https://pdfflare.com/tools/json/json-to-excel Category: JSON Tools JSON to Excel converter — download any JSON array as a real .xlsx file. Native Excel number, boolean, and string types. Browser-based, no upload. ## What it does JSON to Excel (.xlsx) — Free Online. Download as .xlsx file. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to excel - json to xlsx - convert json to excel - json to excel online - json to spreadsheet - export json to excel ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-excel 2. Follow the on-page instructions for json to excel 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to Protobuf URL: https://pdfflare.com/tools/json/json-to-protobuf Category: JSON Tools JSON to Protobuf schema generator — produces proto3 messages from any JSON sample. Auto-numbered fields, inferred scalar types, gRPC-ready output. ## What it does JSON to Protobuf Schema — Free Online. Generate proto3 schema. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to protobuf - json to proto - json to proto3 - generate proto schema - json to grpc schema ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-protobuf 2. Follow the on-page instructions for json to protobuf 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON to GraphQL URL: https://pdfflare.com/tools/json/json-to-graphql Category: JSON Tools JSON to GraphQL schema generator — produces SDL types from any JSON sample. One type per shape, required fields by default, Apollo and Yoga ready. ## What it does JSON to GraphQL Schema — Free Online. Generate GraphQL SDL. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json to graphql schema - json to graphql - graphql schema from json - json to graphql types - json to sdl ## How to use it 1. Open https://pdfflare.com/tools/json/json-to-graphql 2. Follow the on-page instructions for json to graphql 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON5 / JSONC URL: https://pdfflare.com/tools/json/json5-parser Category: JSON Tools JSON5 parser online — parse JSON5 / JSONC (tsconfig.json, VS Code settings) with comments and trailing commas. Convert to strict JSON, browser-based. ## What it does JSON5 Parser Online — Free JSONC Reader. Parse JSON with comments. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json5 parser online - jsonc parser - json with comments - parse json5 online - json comments - tsconfig json parser ## How to use it 1. Open https://pdfflare.com/tools/json/json5-parser 2. Follow the on-page instructions for json5 / jsonc 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JSON Sort URL: https://pdfflare.com/tools/json/json-sort Category: JSON Tools JSON sort online — alphabetize keys deeply or sort arrays of primitives/objects in one click. Case-insensitive, asc/desc, browser-based, no signup. ## What it does JSON Sort Online — Sort Keys & Arrays Free. Sort keys + arrays deeply. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - json sort online - sort json keys - sort json arrays - json sorter - alphabetize json - deep sort json ## How to use it 1. Open https://pdfflare.com/tools/json/json-sort 2. Follow the on-page instructions for json sort 3. Your result is generated locally in the browser ## Other json tools on PDFFlare - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter): Format, validate, repair JSON - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript): Generate TS interfaces from JSON - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv): Convert JSON ↔ CSV both ways - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml): Convert JSON ↔ YAML both ways - [JSON Diff](https://pdfflare.com/tools/json/json-diff): Compare two JSONs structurally - [JSON Generator](https://pdfflare.com/tools/json/json-generator): Generate dummy JSON from templates ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Case Converter URL: https://pdfflare.com/tools/text/case-converter Category: Text Tools Case converter online — switch between camelCase, snake_case, kebab-case, Title Case, and 12 more in one click. Free, browser-based, no signup. ## What it does Case Converter Online — 16 Formats Free. 16 formats + stats. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - case converter online - camelcase converter - snake case converter - text case converter - kebab case generator - change text case ## How to use it 1. Open https://pdfflare.com/tools/text/case-converter 2. Follow the on-page instructions for case converter 3. Your result is generated locally in the browser ## Other text tools on PDFFlare - [Word Counter](https://pdfflare.com/tools/text/word-counter): Count words, characters, sentences - [Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator): Generate placeholder text - [Text Diff](https://pdfflare.com/tools/text/text-diff): Compare two texts side by side ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Password Generator URL: https://pdfflare.com/tools/dev/password-generator Category: Developer Tools Password generator online — create cryptographically secure random passwords, passphrases, pronounceable, or PINs. Free, browser-based, no signup. ## What it does Password Generator Online — Strong & Free. Random, passphrase, PIN. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - password generator online - strong password generator - passphrase generator - diceware passphrase - random password generator - pin code generator ## How to use it 1. Open https://pdfflare.com/tools/dev/password-generator 2. Follow the on-page instructions for password generator 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter): Unix epoch ↔ date, ISO, ms ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # UUID Generator URL: https://pdfflare.com/tools/dev/uuid-generator Category: Developer Tools UUID generator online — create v1, v4, v5, v7, and Nil/Max UUIDs in bulk. Free, browser-based, copy-friendly. No signup, cryptographically random. ## What it does UUID Generator Online — v1, v4, v7 Bulk Free. v1, v4, v5, v7 + bulk. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - uuid generator online - v4 uuid generator - v7 uuid - guid generator - uuid v5 namespace - bulk uuid generator ## How to use it 1. Open https://pdfflare.com/tools/dev/uuid-generator 2. Follow the on-page instructions for uuid generator 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter): Unix epoch ↔ date, ISO, ms ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # HMAC Generator URL: https://pdfflare.com/tools/dev/hmac-generator Category: Developer Tools HMAC generator online — sign payloads with SHA-256, SHA-512, SHA-384, SHA-1. Hex / Base64 / Base64URL output. Webhook + JWT HS256 ready. No signup. ## What it does HMAC Generator Online — SHA-256, SHA-512 + Base64. HMAC-SHA256 webhook signatures. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - hmac generator online - hmac sha256 generator - hmac sha512 generator - webhook signature generator - hmac calculator online - stripe webhook signature - jwt hs256 signer - hmac base64 generator ## How to use it 1. Open https://pdfflare.com/tools/dev/hmac-generator 2. Follow the on-page instructions for hmac generator 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter): Unix epoch ↔ date, ISO, ms ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # File Checksum URL: https://pdfflare.com/tools/dev/file-checksum Category: Developer Tools File checksum online — drop any file, get MD5, SHA-1, SHA-256, SHA-512 in one pass. Verify download integrity. 100% browser-based, no upload, free. ## What it does File Checksum Online — SHA-256, MD5 + More. MD5 + SHA hashes of any file. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - file checksum online - sha256 file checksum - md5 file hash online - verify download checksum - file hash calculator - sha256sum online - file integrity checker ## How to use it 1. Open https://pdfflare.com/tools/dev/file-checksum 2. Follow the on-page instructions for file checksum 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter): Unix epoch ↔ date, ISO, ms ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Verify Checksum URL: https://pdfflare.com/tools/dev/verify-checksum Category: Developer Tools Verify checksum online — paste a SHA-256, MD5, or SHA-512 hash and match it against your file. Auto-detects algorithm. Browser-only, no upload. ## What it does Verify Checksum Online — SHA-256, MD5 File Verifier. Match a published hash to a file. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - verify checksum online - verify sha256 checksum - verify md5 hash - checksum verifier online - verify file integrity online - sha256 hash verifier - verify iso checksum - compare file hash ## How to use it 1. Open https://pdfflare.com/tools/dev/verify-checksum 2. Follow the on-page instructions for verify checksum 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter): Unix epoch ↔ date, ISO, ms ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Random Secret URL: https://pdfflare.com/tools/dev/random-secret-generator Category: Developer Tools Random secret generator online — generate cryptographically secure JWT secrets, API keys, webhook signing keys. Hex, Base64, prefix presets. Free. ## What it does Random Secret Generator — JWT, API Keys, Hex + Base64. JWT secrets, API keys, webhook keys. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - random secret generator - jwt secret generator - api key generator online - random hex string generator - webhook signing secret generator - random base64 string generator - encryption key generator online - secure random string generator ## How to use it 1. Open https://pdfflare.com/tools/dev/random-secret-generator 2. Follow the on-page instructions for random secret 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter): Unix epoch ↔ date, ISO, ms ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Timestamp Converter URL: https://pdfflare.com/tools/dev/timestamp-converter Category: Developer Tools Unix timestamp converter — convert epoch ↔ ISO 8601, RFC 2822, local time. Auto-detects seconds vs milliseconds. Free, no signup, browser-based. ## What it does Unix Timestamp Converter Online — Epoch to Date. Unix epoch ↔ date, ISO, ms. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - unix timestamp converter - epoch to date - unix time converter - iso 8601 converter - milliseconds to date - epoch converter - timestamp to date - convert timestamp online ## How to use it 1. Open https://pdfflare.com/tools/dev/timestamp-converter 2. Follow the on-page instructions for timestamp converter 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Regex Generator URL: https://pdfflare.com/tools/dev/regex-generator Category: Developer Tools Free regex generator from sample strings — paste 2-5 examples, get a generalized regex with character classes and length quantifiers. No AI, no signup. ## What it does Regex Generator from Sample Strings — Deterministic, No AI. Generate regex from sample strings. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - regex generator from sample - regex generator online - generate regex from examples - regex builder from text - regex inference tool - auto regex generator - pattern induction regex - regex from sample data ## How to use it 1. Open https://pdfflare.com/tools/dev/regex-generator 2. Follow the on-page instructions for regex generator 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Regex Tester URL: https://pdfflare.com/tools/dev/regex-tester Category: Developer Tools Free regex tester online — paste a regex, get live match highlighting plus code for 10 languages (JS, Python, Go, Java, Ruby). 40+ pattern presets. ## What it does Regex Tester Online — 40+ Presets, Multi-Language. Test regex with live highlighting. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - regex tester online - regex tester - javascript regex tester - regex101 alternative - regex pattern library - multi-language regex converter - regex cheat sheet - regex match online ## How to use it 1. Open https://pdfflare.com/tools/dev/regex-tester 2. Follow the on-page instructions for regex tester 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Cron Expression Tester URL: https://pdfflare.com/tools/dev/cron-expression-tester Category: Developer Tools Cron expression tester online — paste a cron, get plain-English description and next 50 fire times in any timezone. Free, browser-based. ## What it does Cron Expression Tester Online — Validate + Next Run. Validate cron + next fire times. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - cron expression tester - cron schedule online - cron expression generator - cron next run time - crontab generator - what does this cron run - kubernetes cronjob tester - crontab.guru alternative ## How to use it 1. Open https://pdfflare.com/tools/dev/cron-expression-tester 2. Follow the on-page instructions for cron expression tester 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Hash Generator URL: https://pdfflare.com/tools/dev/hash-generator Category: Developer Tools Generate MD5, SHA-1, SHA-256, SHA-512 hashes and HMAC signatures (SHA-1/256/384/512) online. Webhook + JWT signing, browser-based, no signup. ## What it does Hash Generator — MD5, SHA + HMAC Online. MD5, SHA + HMAC signing. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - hash generator online - md5 generator - sha256 generator - hash calculator - checksum generator - hmac generator online - hmac sha256 generator - webhook signature generator ## How to use it 1. Open https://pdfflare.com/tools/dev/hash-generator 2. Follow the on-page instructions for hash generator 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Base64 Encode/Decode URL: https://pdfflare.com/tools/dev/base64-encode-decode Category: Developer Tools Encode and decode Base64 strings online for free. Instant conversion with copy-to-clipboard support. ## What it does Base64 Encode & Decode Online — Free. Encode and decode Base64 strings. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - base64 encode decode online - base64 encoder - base64 decoder - base64 converter - encode base64 - decode base64 ## How to use it 1. Open https://pdfflare.com/tools/dev/base64-encode-decode 2. Follow the on-page instructions for base64 encode/decode 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JWT Decoder URL: https://pdfflare.com/tools/dev/jwt-decoder Category: Developer Tools JWT decoder online — decode any JSON Web Token to view header, payload, and claims. Spots expired tokens, exposes algorithm. 100% browser-based, no signup. ## What it does JWT Decoder Online — Decode JSON Web Tokens Free. Decode JWT header, payload + claims. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - jwt decoder online - decode jwt online - jwt parser - json web token decoder - jwt debugger free - view jwt claims - jwt token decoder online ## How to use it 1. Open https://pdfflare.com/tools/dev/jwt-decoder 2. Follow the on-page instructions for jwt decoder 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Lorem Ipsum Generator URL: https://pdfflare.com/tools/text/lorem-ipsum-generator Category: Text Tools Generate lorem ipsum placeholder text online for free. Choose paragraphs, sentences, or words. Copy with one click. ## What it does Lorem Ipsum Generator — Free Placeholder Text. Generate placeholder text. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - lorem ipsum generator - dummy text generator - placeholder text - lipsum generator - random text generator ## How to use it 1. Open https://pdfflare.com/tools/text/lorem-ipsum-generator 2. Follow the on-page instructions for lorem ipsum generator 3. Your result is generated locally in the browser ## Other text tools on PDFFlare - [Word Counter](https://pdfflare.com/tools/text/word-counter): Count words, characters, sentences - [Case Converter](https://pdfflare.com/tools/text/case-converter): 16 formats + stats - [Text Diff](https://pdfflare.com/tools/text/text-diff): Compare two texts side by side ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # URL Encode/Decode URL: https://pdfflare.com/tools/dev/url-encode-decode Category: Developer Tools Encode and decode URLs online for free. Convert special characters to percent-encoded format instantly. ## What it does URL Encode & Decode Online — Free. Encode and decode URLs. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - url encode decode online - url encoder - url decoder - percent encoding - urlencode online - url escape ## How to use it 1. Open https://pdfflare.com/tools/dev/url-encode-decode 2. Follow the on-page instructions for url encode/decode 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Color Converter URL: https://pdfflare.com/tools/dev/color-converter Category: Developer Tools Convert colors between HEX, RGB, and HSL formats online for free. Live preview and instant conversion. ## What it does Color Converter — HEX, RGB, HSL Online. Convert HEX, RGB, HSL colors. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - color converter online - hex to rgb - rgb to hex - hsl converter - color code converter - hex to hsl ## How to use it 1. Open https://pdfflare.com/tools/dev/color-converter 2. Follow the on-page instructions for color converter 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # QR Code Generator URL: https://pdfflare.com/tools/dev/qr-code-generator Category: Developer Tools Generate QR codes for URLs, text, WiFi, and more online for free. Download as PNG or SVG. No signup required. ## What it does Free QR Code Generator — Create & Download Instantly. Generate QR codes from text or URLs. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - qr code generator free - create qr code - qr code maker - generate qr code online - free qr code - qr code creator ## How to use it 1. Open https://pdfflare.com/tools/dev/qr-code-generator 2. Follow the on-page instructions for qr code generator 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Markdown to HTML URL: https://pdfflare.com/tools/dev/markdown-to-html Category: Developer Tools Convert Markdown to clean HTML online for free. Live preview with instant conversion. No signup required. ## What it does Markdown to HTML Converter — Free Online Tool. Convert Markdown to HTML. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - markdown to html converter - convert markdown to html - md to html - markdown converter - markdown parser online ## How to use it 1. Open https://pdfflare.com/tools/dev/markdown-to-html 2. Follow the on-page instructions for markdown to html 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Markdown Editor URL: https://pdfflare.com/tools/dev/markdown-editor Category: Developer Tools Free online markdown editor with live preview, formatting toolbar, GFM tables, and HTML/markdown export. Auto-saves to your browser, no signup. ## What it does Free Online Markdown Editor With Live Preview. Write Markdown with live preview. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - markdown editor - online markdown editor - markdown editor with preview - free markdown editor - markdown editor online - markdown live preview - markdown writer ## How to use it 1. Open https://pdfflare.com/tools/dev/markdown-editor 2. Follow the on-page instructions for markdown editor 3. Your result is generated locally in the browser ## Other developer tools on PDFFlare - [Password Generator](https://pdfflare.com/tools/dev/password-generator): Random, passphrase, PIN - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): v1, v4, v5, v7 + bulk - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator): HMAC-SHA256 webhook signatures - [File Checksum](https://pdfflare.com/tools/dev/file-checksum): MD5 + SHA hashes of any file - [Verify Checksum](https://pdfflare.com/tools/dev/verify-checksum): Match a published hash to a file - [Random Secret](https://pdfflare.com/tools/dev/random-secret-generator): JWT secrets, API keys, webhook keys ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Text Diff URL: https://pdfflare.com/tools/text/text-diff Category: Text Tools Compare two texts and find differences online for free. Side-by-side diff with color-coded additions and deletions. ## What it does Text Diff — Compare Text Online Free. Compare two texts side by side. Runs entirely in your browser. No file ever uploads to a server unless the tool explicitly requires server-side processing (LibreOffice for Office formats, Ghostscript for PDF compression). Free to use, no signup, no rate limits. ## Common search queries this tool answers - text diff online - text compare - diff checker - compare text online - find differences in text ## How to use it 1. Open https://pdfflare.com/tools/text/text-diff 2. Follow the on-page instructions for text diff 3. Your result is generated locally in the browser ## Other text tools on PDFFlare - [Word Counter](https://pdfflare.com/tools/text/word-counter): Count words, characters, sentences - [Case Converter](https://pdfflare.com/tools/text/case-converter): 16 formats + stats - [Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator): Generate placeholder text ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- --- # Blog Posts # How to Compress an Image to a Specific Size in KB (Free, 2026) URL: https://pdfflare.com/blog/how-to-compress-image-to-specific-kb Published: May 12, 2026 Reading time: 9 min read > Compress JPG, PNG, WebP, or HEIC to an exact KB target — 50, 100, 200, 500 KB — for gov forms, job portals, and ATS uploads. Free, browser-only. --- You filled out the form, attached the photo, clicked submit — and got back “Image must be under 100 KB.” Your file is 3.7 MB. So you open whatever compressor comes up first, drag the quality slider, eyeball the result, upload, get rejected again because it's 112 KB. After three or four loops you get something that fits, but it's also blurry enough that the agent can't read the document on it. In this guide you'll learn how to compress an image to specific size targets — 50 KB, 100 KB, 200 KB, 500 KB, whatever your form demands — using [PDFFlare's Compress Image to KB tool](https://pdfflare.com/tools/image/compress-image-to-kb). It searches for the highest possible quality that still meets your limit, so you don't lose more clarity than you have to. 100% in-browser, no upload, no signup. ## Why You Need to Compress an Image to a Specific Size Most online image compressors give you a quality slider and tell you to fiddle with it. That works when you just want “smaller.” It does not work when a form, a portal, or an API has a strict byte ceiling. Real-world places where you genuinely need to compress image to a specific size: - **Passport and visa applications.** US, UK, India, Canada, Schengen — all have strict KB caps on the photo upload, usually 50–250 KB. - **Government job portals (SSC, UPSC, banking, etc.).** Indian government recruitment portals are famous for limits like “photo: 20–50 KB, signature: 10–20 KB.” - **ATS / applicant tracking systems.** Corporate HR systems often quietly truncate or reject anything past 500 KB. - **Email body images.** Some email clients reject embedded images past a certain size; compressing inline assets to 100–200 KB avoids the issue. - **Web performance / SEO.** Lighthouse penalises hero images over 200 KB, thumbnails over 30–50 KB. Hitting a specific budget per asset is part of a real perf strategy. ## How to Compress Image to 100KB (Step by Step) The exact same flow works for 50 KB, 100 KB, 200 KB, 500 KB, or any other ceiling — change the target number. Step by step: 1. **Open the tool.** Go to [pdfflare.com/tools/image/compress-image-to-kb](https://pdfflare.com/tools/image/compress-image-to-kb). No account required. 2. **Drop your image in.** JPG, PNG, WebP, or HEIC (iPhone) all work. HEIC files are decoded in the browser before compression. 3. **Set the target size in KB.** Type a number or click a preset chip (20, 50, 100, 200, 500, 1024). The chips cover the most common form limits. 4. **Pick the output format.** JPEG for maximum compatibility (every system accepts it). WebP for smaller files at the same visual quality (~25–35% saving) — but only if you know the destination accepts WebP. 5. **Click Compress.** PDFFlare binary-searches the JPEG quality (10% → 99%) to find the highest quality that fits your target. If even quality 10% is too big, it progressively downscales dimensions (90%, 70%, 55%, 40%, 30%) until the file fits. 6. **Download.** The output filename includes the achieved size so you can verify at a glance —` myphoto-98kb.jpg `for a 100 KB target. ## How Reduce Image Size to KB Actually Works Under the Hood ### Iterative quality search JPEG and WebP both have a “quality” parameter from 0–100. Higher quality = bigger file. The relationship is non-linear and depends on the image, so you can't compute the right quality from the input — you have to try and measure. PDFFlare runs a binary search: try quality 50%, measure; if too big, try 25%; if too small, try 75%; converge in about 8 iterations. ### Auto-downscale when quality alone isn't enough For a high-resolution photo (say 5000×3000) compressed to 50 KB, even quality 10% may still exceed 50 KB just because the pixel count is enormous. When that happens, PDFFlare downscales: try 90% of the original dimensions, re-search quality. If still too big, try 70%, then 55%, 40%, 30%. The combination gets every realistic target into range without producing a postage-stamp output. ### White-background fill for transparent PNGs JPEG has no alpha channel. If you compress a PNG with transparency to JPEG, the transparent pixels would otherwise render as black. PDFFlare fills transparent areas with white before encoding — the standard convention for converting PNG → JPG. ## Real-World KB Limits You'll Run Into Knowing the common ceilings makes it easier to compress image to specific size targets without back-and-forth uploads. A non-exhaustive list of places where the limit is explicit and enforced: ### Compress image to 50KB — typical for ID and signature uploads A lot of Indian government recruitment portals (SSC, UPSC, IBPS, state PSCs) cap the candidate photo at 20–50 KB and the signature at 10–20 KB. UIDAI Aadhaar-update portals use the same range. The 50 KB target is the most common one we see — which is why it's a preset chip on the tool. ### Compress image to 100KB — passport and visa applications The US State Department, UK gov.uk passport service, Canada IRCC, and Indian Passport Seva Kendra all hover around the 100 KB ceiling for the applicant photo. Schengen visa applications fall in the same band. If you're prepping a visa application, 100 KB is the safe default. ### Compress image to 200KB — job portals and corporate ATS LinkedIn easy-apply, government job sites, and most enterprise ATS systems sit in the 200–500 KB range. Resume document scans, profile photos, and reference letters all benefit from a target of 200 KB or so — small enough to upload cleanly, big enough to keep the image legible. ### 500 KB to 1 MB — email attachments and web hero images Beyond a certain point, the limit isn't a hard form ceiling — it's a soft performance budget. 500 KB is a comfortable size for email attachments (well below Gmail's 25 MB total cap when sending many photos). 200–500 KB is the Lighthouse-friendly band for hero images on a marketing site. Knowing the destination's exact number turns “reduce image size to kb” from guesswork into a one-shot operation. Pick the preset chip closest to your ceiling, click compress, done. ## Common Image Compressor to Specific Size Gotchas ### Targeting too small for the image Compressing a 4K photo to 5 KB will produce something that looks like a thumbnail of a JPEG — heavy banding, no detail. The tool will warn you when it can't hit the target at all (returns the smallest possible file). If the warning fires, increase your target by 20–50% and retry. ### JPEG vs PNG for size targeting PNG is a lossless format — there's no quality slider to tune. PDFFlare converts PNG input to JPEG or WebP for size targeting. If you need to keep the PNG container for a transparent logo or icon, this tool isn't the right fit — use [Resize Image](https://pdfflare.com/tools/image/resize-image) to reduce dimensions, which shrinks PNG file size while keeping the format. ### The output is sometimes well under the target The binary search finds the highest quality whose output ≤ target. The encoder quantises internally, so the closest valid quality may land at, say, 87 KB when you asked for 100 KB. Better to be under than over — that's the safe side of an upload limit. ### HEIC photos from iPhone need an extra decode step Modern iPhones default to HEIC, which most legacy form portals don't accept. PDFFlare auto-decodes HEIC in the browser (via the heic2any library) before compression, so you get a JPEG output even from a HEIC source. The conversion adds ~1 second on a typical photo. ## Best Practices for Compress JPG to KB Workflows ### Pick the format the destination accepts Default to JPEG. Switch to WebP only when you know the target system supports it (modern web uploads, image CDNs). Most government portals, ATS systems, and email attachments want JPEG specifically. ### Crop before compressing for the cleanest result A photo with lots of background you don't need is bigger for no reason. Crop the photo to just the subject first (use any photo app on your phone, or our [Crop Image](https://pdfflare.com/tools/image/crop-image) tool), then compress. You'll get more clarity at the same target size. ### Use the preset chips for common limits 20 KB, 50 KB, 100 KB, 200 KB, 500 KB, 1 MB cover ~95% of real-world ceilings. The chip-driven workflow is faster than typing a number for every photo in a batch. ### Aim for ~10% under your hard limit Some portals quietly add bytes during upload (metadata, re-encoding). A file that's exactly 100 KB can land at 103 KB server-side and trigger the limit. Target 90 KB for a 100 KB ceiling to be safe. ## Privacy Note Everything runs in your browser using the Canvas API. Your photo never leaves your device — no server, no upload, no logs. Open DevTools → Network during compression and you'll see zero requests fire. This matters for ID photos, passport scans, signature images, and any other sensitive document you wouldn't want sitting on a third-party server. The same applies to [Compress Image](https://pdfflare.com/tools/image/compress-image) and most other image tools on PDFFlare. ## Related Tools - [Compress Image](https://pdfflare.com/tools/image/compress-image) — when you want a fixed quality slider rather than a target file size. Good when you don't have a hard upload limit to hit. - [Resize Image](https://pdfflare.com/tools/image/resize-image) — set explicit pixel dimensions (e.g., 800×600 for an ID photo). Use before compressing for the cleanest result. - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim out backgrounds and irrelevant edges before compressing. Less to compress = better quality at the same target size. - [Convert Image](https://pdfflare.com/tools/image/convert-image) — switch between formats (JPG ↔ PNG ↔ WebP) without targeting a specific size. Useful when a portal demands JPG specifically. ## Wrapping Up Trying to reduce image size to a specific KB by dragging a quality slider and re-uploading is a waste of time. A target-aware binary search does the same job in one step. Type your number, click compress, get the smallest possible file that's under your ceiling — all in your browser, no upload, no signup. Try it on the next form upload that frustrates you — [PDFFlare's Compress Image to KB tool](https://pdfflare.com/tools/image/compress-image-to-kb) loads in under a second and works on any photo up to 50 MB. --- ## Frequently asked questions **Q: How do I compress an image to 100KB exactly?** A: Open PDFFlare's Compress Image to KB tool, drop your photo in, type 100 in the target KB field (or click the 100 KB preset chip), pick JPEG output, click Compress. The tool binary-searches the quality slider until the output is at or under 100 KB. You'll usually land at 85–98 KB — safely under the 100 KB ceiling. **Q: Can I compress a photo to 50KB without losing too much quality?** A: For a typical phone photo (around 3–4 MB), compressing to 50 KB always involves visible quality loss. PDFFlare minimises it by picking the highest quality that fits and downscaling only when necessary. For a 5–10 MB source, expect noticeable softening; for a 1–2 MB source, the loss is usually acceptable for ID/document photos. **Q: Why does the tool sometimes return a file smaller than my target?** A: The encoder rounds quality values internally, so the closest quality step may land below your target rather than exactly at it. Better to be under than over — that's the safe side of an upload limit. If you want a tighter approach to the ceiling, increase your target by 5–10% and you'll usually land closer to it. **Q: Does this image compressor work for HEIC photos from iPhone?** A: Yes. HEIC files are auto-decoded in your browser using heic2any before compression, so you can drop an iPhone photo in directly and get a JPEG output sized to your target. The HEIC decode adds about a second on a typical photo. **Q: Can I compress a JPG to 20KB for a government form?** A: Yes — 20 KB is a preset chip for exactly this case (Indian SSC and UPSC portals, for example, often require photos in the 20–50 KB range). If your source is high-resolution, PDFFlare will downscale dimensions automatically to fit. For best results, crop the photo to just the head-and-shoulders area first; less to compress = sharper output at the same target. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Crop a PDF Online (Free, Browser-Only, 2026) URL: https://pdfflare.com/blog/how-to-crop-pdf-online Published: May 12, 2026 Reading time: 9 min read > Crop PDF pages in your browser — drag to select the area, pick A4/Letter/square aspect ratio, apply to all pages or just the first. Free, no upload. --- You scanned a stack of documents and every page has a 2-inch white border around the text. Or you have a 50-page report with a header band you don't need. Or a PDF that's A4 when you need it US Letter. The fix is to crop the PDF — and most online crop-PDF tools upload your file to a server, watermark the output, or charge for “premium” aspect-ratio presets that should be free. In this guide you'll learn how to crop a PDF online for free using [PDFFlare's Crop PDF tool](https://pdfflare.com/tools/pdf/crop-pdf). It runs 100% in your browser using `pdf-lib` and `pdf.js`, so a sensitive contract or scanned document never leaves your device. Drag the crop area on a visual preview, click apply, get a clean PDF. ## Why Crop a PDF in the First Place? Cropping isn't a vanity edit — it has real consequences for how a PDF reads, prints, and processes through other tools: - **Better screen reading.** Wide white margins waste pixels and force scrolling. Trim them and the actual content gets bigger on every device. - **Better printing.** A page sized with thinner margins reflows better at print time — fewer awkward page-break decisions for your printer. - **Better OCR accuracy.**If you're running an OCR pass over a scanned PDF, cropping out the margins removes noise that confuses the recogniser. Then pipe through [PDFFlare's OCR PDF tool](https://pdfflare.com/tools/pdf/ocr-pdf) for selectable text. - **Strip unwanted bands.** Many corporate PDFs have a fixed header or footer band on every page (logo, page number, legal text). Cropping deletes them in one pass. - **Resize for a specific aspect ratio.** Need a Letter PDF from an A4 source, or a square PDF for an Instagram-style upload? Crop instead of redoing the document. ## How to Crop a PDF (Step by Step) The whole flow takes under a minute. No software install, no signup, no upload: 1. **Open the tool.** Go to [pdfflare.com/tools/pdf/crop-pdf](https://pdfflare.com/tools/pdf/crop-pdf). No account required. 2. **Drop your PDF in.** Drag the file onto the upload area or click to browse. PDFFlare loads the first page and renders it as a preview in your browser. 3. **Drag the crop rectangle.** The dashed rectangle on the preview is the crop area. Drag the corners or edges to resize. Drag inside the rectangle to move it. The unchecked area outside the rectangle is what gets removed. 4. **Pick an aspect-ratio preset (optional).** Free lets you crop to any rectangle. Square locks to 1:1. A4 Portrait, A4 Landscape, and US Letter lock to those standard page ratios. 5. **Choose the scope.**“All pages” applies the same proportional crop to every page (best for uniform documents like reports or scans). “First page only” crops just page 1 — useful when only the cover page needs trimming. 6. **Click Crop PDF & Download.** The cropped PDF downloads instantly. Original page content stays intact — text is still selectable, images are still sharp, hyperlinks still work. ## Browser-Based PDF Cropping vs. Server-Side Tools ### Privacy: your PDF doesn't leave the room Most online crop-PDF tools upload your file to a server, process it remotely, and download the result. For a public flyer that's fine; for a contract, a tax form, or a medical record, it's not. PDFFlare runs the crop in your own browser using pdf-lib (a 300 KB JavaScript library) and pdf.js for rendering. Open DevTools → Network while you crop and you'll see zero requests fire. ### Speed: no cold start, no queue Browser-side cropping is instant — pdf-lib parses the PDF, updates the MediaBox on each page, and saves the result in memory. There's no server cold-start, no queue, no network round-trip. A 100-page PDF crops in under a second on a modern laptop. ## What the “Crop” Actually Does to a PDF Cropping a PDF isn't the same as cropping an image. A PDF page has several rectangles that describe its dimensions: the MediaBox (the physical page size), the CropBox (the visible area), the TrimBox (the final trimmed size for printing), and the BleedBox (the area including print bleed). PDFFlare updates the MediaBox and CropBox to match your crop rectangle, so: - The page's on-screen size becomes the cropped rectangle. - The original content outside the crop is _hidden_ by the new page bounds, not deleted from the file. - All viewers and printers respect the new page size, so the crop survives printing, sharing, and re-importing. The implication: cropping doesn't shrink your file size — the hidden content is still in the PDF stream. To genuinely shrink the file, follow up with [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf). ## Common Crop PDF Gotchas ### Pages with different sizes get cropped proportionally If your PDF mixes A4 portrait body pages with a wider cover page, “All pages” applies the same _percentage_ crop to each page — not the same absolute rectangle. A 5% margin trim takes 5% from every page, regardless of size. If you want different crops on different pages, crop them in separate passes. ### Cropping doesn't reduce file size A common surprise: you crop a 5 MB PDF and the output is still 5 MB. That's because cropping changes the visible page area but keeps the underlying content. To actually shrink the file, run the cropped PDF through Compress PDF — the combination of a tight crop + medium compression typically cuts file size by 30–60%. ### Rotated pages stay rotated If your source PDF has pages rotated 90° or 180°, the crop rectangle still maps to the page's underlying coordinate system — not the rotated visual. Most of the time this just works, but if your crop looks off on a rotated page, un-rotate first with [Rotate PDF](https://pdfflare.com/tools/pdf/rotate-pdf), then crop. ### The preview is page 1 — but the crop applies everywhere PDFFlare renders only page 1 in the preview to keep the page fast. If your document has page 1 styled differently from page 2+ (different margins, different layout), the “All pages” crop you see in the preview may look slightly off on later pages. For mixed-layout PDFs, “First page only” mode is safer. ## Crop PDF Online Free vs. Desktop Tools Desktop apps that crop PDF pages (Adobe Acrobat, PDF-XChange, Foxit) all do it well, but they share the same friction points: an install, a paid licence for anything past the trial, and per-machine state. For one-off jobs — a single scanned contract, a quick aspect-ratio fix before printing — opening a tab beats opening an app. PDFFlare's crop pdf online free workflow takes about ten seconds end-to-end. No login, no upload, no watermark on the output. The same browser-only approach powers our resize pdf page workflow (just pick a target preset like A4 or US Letter), our margin trim workflow (drag the rectangle in slightly to trim pdf margins on every page), and the rotate-then-crop combo for scanned documents. The functional gap between desktop and a good browser-based tool has narrowed to almost zero for the common 90% of crop jobs. The remaining 10% — batch automation across hundreds of files, per-page custom crops, programmatic workflows — still favour desktop or scripted solutions. ## Best Practices for Cropping PDFs ### Crop first, compress second The fastest path to a small, clean PDF is: crop the margins, then compress. Cropping alone doesn't reduce file size; compressing alone doesn't fix oversized pages. Doing them in order gives the smallest file. ### Use aspect-ratio presets for predictable output Free crop is convenient for quick trims but produces non-standard page sizes. If the cropped PDF will be printed or combined with other documents, pick A4 or US Letter as the preset so the output matches standard page sizes. ### Test on a copy first For an important document (a signed contract, a final report), crop a copy first and compare side-by-side with the original. PDFFlare doesn't touch your source file — but it's good practice to verify the crop boundaries match what you intended before sharing. ### Bookmark the crop pdf free workflow for repeat use If you crop PDFs more than once a month — invoices, scanned receipts for expense reports, study notes — bookmark PDFFlare's crop pdf free page so the tool is one click away. Each session starts fresh (no draft persists between uses, because there's no draft to save), so it's safe even on a shared computer. The crop history exists only in your downloads folder. ## Privacy Note Cropping happens entirely in your browser. Your PDF, the rendered preview, and the cropped output never leave your device — there is no upload, no server, no logs. Open DevTools → Network during the operation; you'll see zero requests fire. The same applies to most of PDFFlare's PDF tools ([Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf), [Split PDF](https://pdfflare.com/tools/pdf/split-pdf), [Rotate PDF](https://pdfflare.com/tools/pdf/rotate-pdf)) — server-side processing is reserved for jobs that genuinely need it like Office-document conversion. ## Related Tools - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the cropped file. Combine crop + compress for the smallest possible PDF without sacrificing readability. - [Rotate PDF](https://pdfflare.com/tools/pdf/rotate-pdf) — fix sideways or upside-down pages. Rotate before cropping for the cleanest result on scanned documents. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine cropped pages with other PDFs. Useful for assembling reports or appendices from heterogeneous sources. - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — for content edits (text, shapes, highlights) before cropping. The crop tool changes the page bounds; Edit PDF changes the content within them. ## Wrapping Up Cropping a PDF online doesn't need to mean uploading sensitive documents to an opaque server. A visual drag, a preset, two clicks, and the cropped PDF lands in your downloads folder — all without your file leaving the browser. Try it on your next document — [PDFFlare's Crop PDF tool](https://pdfflare.com/tools/pdf/crop-pdf) loads in under a second and works on any PDF up to 50 MB. Free, no signup, no upload, and no learning curve — drop the file in, drag the rectangle, click the orange button. --- ## Frequently asked questions **Q: How do I crop a PDF online for free without uploading?** A: Open PDFFlare's Crop PDF tool, drop your file in, drag the crop rectangle on the page-1 preview, pick “All pages” or “First page only,” then click Crop PDF. The whole operation runs in your browser using pdf-lib and pdf.js — your file never uploads anywhere. **Q: Can I crop all pages of a PDF at once?** A: Yes. After selecting the crop area on the page-1 preview, choose “All pages” in the Apply To dropdown. The same proportional crop is applied to every page in the PDF. Pages with different sizes get cropped at the same relative percentage — a 5% margin trim removes 5% from each, regardless of absolute size. **Q: Will cropping a PDF reduce the file size?** A: Cropping changes the visible page area but doesn't delete the underlying content — the file size stays roughly the same. To genuinely shrink a cropped PDF, follow up with PDFFlare's Compress PDF tool. The combination (crop + compress) typically cuts file size by 30–60% on margin-heavy documents. **Q: What aspect ratios can I crop PDFs to?** A: PDFFlare ships five aspect-ratio presets: Free (any rectangle), Square (1:1), A4 Portrait (210×297 mm), A4 Landscape (297×210 mm), and US Letter (8.5×11 in). When a preset is active, the crop rectangle locks to that ratio so you can't accidentally drag it out of shape. **Q: Can I crop only specific pages instead of all pages?** A: Yes. The Apply To dropdown has three options: All pages (uniform margin trim), First page only (clean up the cover), and Page range — type a 1-indexed list like 1-3, 5, 8-10 to crop any subset. For per-page custom crops (different crop area on each page), split the PDF first with PDFFlare's Split PDF tool, crop each piece separately, then merge them back together. **Q: Is text in the cropped PDF still selectable?** A: Yes. Cropping changes the page's bounding box (MediaBox and CropBox) — it doesn't rasterise or delete content. Text remains selectable and searchable, images stay sharp, and hyperlinks still function in the cropped output. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Fill PDF Form Online (Free, Even Word-to-PDF Forms) URL: https://pdfflare.com/blog/how-to-fill-out-pdf-form-online Published: May 8, 2026 Reading time: 11 min read > Fill PDF form online — auto-detects AcroForm fields plus underscore blanks in Word-to-PDF flat forms. Type to fill, download. Free, no signup, no Acrobat. --- You opened the PDF, started typing, and nothing happened. Or worse — you typed in a blank that LOOKED like a form field, hit save, and the typed text vanished. The fix is a tool that lets you fill PDF form online for free — one that handles BOTH real fillable PDFs (with embedded form fields) AND flat PDFs from Word with visual underscore blanks. Most tools handle only one; you end up printing-handwriting-scanning every time the other kind shows up. In this guide you'll learn how to fill PDF form online for free using [PDFFlare's Fill PDF Form](https://pdfflare.com/tools/pdf/fill-pdf-form) — which auto-detects both real fillable PDFs (AcroForm, like IRS tax forms) AND flat PDFs with underscore blanks (the kind exported from Microsoft Word). Plus the gotchas: signature fields, why some forms refuse to save, and how to handle scanned forms that have no fillable fields at all. ## Fill PDF Form Free — The Two Kinds of PDF Forms Before fixing the “can't fill this PDF” problem, understand which kind of PDF you have. There are two main types: **AcroForm PDFs**have real interactive form fields baked in — text inputs, checkboxes, radio buttons, dropdowns, signature placeholders. These are the “fillable PDFs” you read about. When you open one in Adobe Reader, Acrobat, Preview, or a modern browser's PDF viewer, the fields are clickable and typable. IRS tax forms (W-9, W-4, 1099, 1040), most government grant applications, professional HR onboarding documents, and PDFs prepared in Acrobat Pro or DocuSign are usually AcroForm. **Flat PDFs**have no real fields. They're just text, images, and lines. The “blanks” that look fillable are actually just visual: underscore characters (`____________`), table cell borders, or hand-drawn lines. When you open one, there's nothing to click into — clicking the underscores does nothing. Most PDFs exported from Microsoft Word, Google Docs, Apple Pages, or screenshot tools are flat. They look like forms but aren't fillable in the technical sense. Most online tools only handle one kind. PDFFlare's fillable PDF form filler handles both — auto-detects which type you uploaded and shows the right interface. ## How to Fill PDF Form Online (Step by Step) 1. **Drop your PDF into the upload zone.** Any PDF — AcroForm, flat, or somewhere in between. PDFFlare reads the first ~10 pages of metadata to detect the form type. The whole file stays in your browser; nothing uploads. 2. **Wait for auto-detection (1-2 seconds).** If the PDF has AcroForm fields, PDFFlare reads them and renders proper inputs (text, checkbox, radio, dropdown) on the right side of the screen. If it's a flat PDF with underscore blanks, PDFFlare scans for blank patterns and auto-places inputs at each one with labels derived from nearby text. If it's neither, PDFFlare shows an empty state with a manual-add option. 3. **Type to fill each field.** The right pane shows all detected fields grouped by page. The left pane shows the PDF preview with detected fields highlighted in orange. Filled fields turn green, so you see at a glance which ones are still empty. For checkbox or radio fields, click the appropriate control. 4. **Download the filled PDF.**For AcroForm PDFs, choose flatten (locks the values, recipient can't edit) or keep fillable (recipient can re-edit). Flat-detected PDFs always save flat (text overlays baked in permanently). Click Download — the filled file lands in your Downloads folder. ## The Auto Fill PDF Form Workflow for Word-to-PDF Files ### How to fill a PDF form created in Microsoft Word This is the most common case and where most other tools fail. Someone in your office creates a form in Word — a leave request, a vendor onboarding sheet, a teacher evaluation, a rental application — types `Name: ____________` and `Date: ________` with underscores, exports to PDF, sends it to you. You open the PDF in your browser, click on the underscores… nothing happens. The PDF is flat. The underscores are just typed underscore characters, not real form fields. PDFFlare's blank detection scans the flat PDF for underscore runs (3 or more in a row) and auto-places a text input at each one. The label is derived by reading the text immediately to the left on the same line —`Name: ____________`becomes an input labeled “Name.” You type your value, click Download, and the typed text gets stamped permanently onto the PDF at the underscore position. Visually identical to handwriting on a printed copy, but digital. Auto-fill PDF form workflows like this beat the print-handwrite-scan-email loop by an order of magnitude on time, and the output is usually cleaner (no handwriting variability, no scan artifacts). If the detection misses a blank — uncommon but possible with unusual underscore styling — click “Add field manually” and click on the page where you want an input. ## Real Fillable PDFs — How to Fill PDF Without Acrobat ### How to fill out PDF form: IRS W-9, W-4, 1099 step by step IRS tax forms are AcroForm PDFs — real fillable forms with proper field definitions. Workflow: 1. Download the form from `irs.gov`(e.g., search “IRS W-9 PDF”). 2. Drop the PDF into PDFFlare's Fill PDF Form. The tool detects the AcroForm fields and renders inputs with the original field names as labels. 3. Fill the required fields. For W-9: name, business name, federal tax classification (radio), address, TIN (text or SSN format). 4. Choose **Flatten**(locks the values so the recipient can't edit them — important for tax and legal docs). 5. Download. Send the flattened PDF to your employer, client, or accountant via email or your preferred secure channel. Same flow works for W-4 (employee withholding), 1099 (contractor payment), 1040 (individual return), state tax forms, government grant applications, and most professional HR onboarding documents. ### How to fix a fillable PDF that won't save fields Frustrating scenario: you fill an AcroForm PDF in your browser's built-in viewer (Chrome, Edge), the values appear correctly, you hit save, and reopening the file shows empty fields. This is a known limitation of some browser PDF viewers — they display field values but discard them on save (the typed text never gets written back into the PDF binary). The fix: don't fill the form in the browser's PDF viewer. Either use Adobe Acrobat, Apple Preview, or PDFFlare's Fill PDF Form (which uses pdf-lib to write values directly into the PDF, never relying on the browser viewer to persist them). PDFFlare flatten mode is especially reliable — values get baked in permanently as drawn text, immune to viewer inconsistencies. ## Mobile and Edge Cases — Online PDF Form Filler No Signup Workflows ### How to fill a PDF form on iPhone or Android PDFFlare's Fill PDF Form is mobile-responsive. On iPhone or Android, open `pdfflare.com/tools/pdf/fill-pdf-form` in Safari or Chrome, tap to upload your PDF (you can pick from Files, Photos, iCloud Drive, Google Drive). The two-pane layout stacks vertically — preview on top, inputs below — for thumb-friendly scrolling. Tap each input to fill, then tap Download. The downloaded file goes to Files (iOS) or Downloads (Android). From there, share to email, AirDrop, or any other app. Filling on mobile is great for one-off forms but tedious for long ones — for tax forms with 30+ fields, fill on a desktop browser instead. ### How to fill a scanned PDF that has no fillable fields A scanned PDF — image-only, no embedded text — won't show up to PDFFlare's blank detection. The underscores you see are just pixels in an image, not underscore characters in a text stream. Two paths: 1. **Run OCR first.**Drop the scanned PDF into PDFFlare's [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) to extract text and convert to a searchable PDF. If the OCR recognizes the underscores as text characters (not always — depends on scan quality), then drop the OCR'd PDF into Fill PDF Form. 2. **Use manual placement.**In Fill PDF Form, click “Add field manually” and click on the page where each blank is. PDFFlare places a text input at that exact location. Tedious but works on any scanned form. ### How to add a signature after using the PDF form filler Signature fields on AcroForm PDFs appear in PDFFlare's Fill PDF Form as a read-only notice with a link to the [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) tool. Fill all the regular fields first in Fill PDF Form, download the filled PDF, then drop it into Sign PDF — draw your signature with mouse or finger, place it over the signature field. Sign PDF embeds the signature into the PDF properly. For legally-binding e-signatures with audit trail (lawyer-grade signatures with timestamps, IP records, witness verification), use a dedicated service like DocuSign or HelloSign. PDFFlare's Sign PDF is intended for everyday signature workflows — internal forms, casual contracts, document approval — not for legal proceedings where audit-trail requirements apply. ## Common Mistakes - **Filling in browser PDF viewer and losing values**— use a real PDF tool (PDFFlare, Acrobat, Preview), not Chrome's built-in viewer for filling. - **Choosing “Keep fillable” for tax or legal forms**— if the recipient can edit the values after you sign, that's a problem. Always flatten for final submissions. - **Trying to fill a scanned PDF without OCR** — image-only PDFs have no text stream. Run OCR PDF first, or use manual placement. - **Assuming all PDFs from Word are fillable** — most are flat (visual underscores, not real fields). Use blank detection mode. - **Filling a long form on mobile** — works but tedious. Use desktop for forms with 20+ fields. ## Privacy: Fill Locally, Never Upload PDFFlare's Fill PDF Form runs entirely in your browser. The PDF is read into memory, parsed by pdf-lib (for AcroForm) or pdf.js (for blank detection on flat PDFs), the values you type stay in your browser's React state, and pdf-lib writes the final filled PDF locally for download. No server is involved, no upload, no log. Open DevTools → Network and you'll see zero requests during the fill flow. Safe for confidential documents — tax returns, HR forms, contracts, medical records, financial statements. ## Related Tools - [Fill PDF Form](https://pdfflare.com/tools/pdf/fill-pdf-form) — auto-detects AcroForm fields + underscore blanks, type-to-fill, download. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — add a handwritten signature after filling. - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — for free-form text overlay anywhere on the page (no structured field detection). - [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) — extract text from scanned PDFs first, then fill. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the filled PDF before emailing. ## Wrapping Up Filling a PDF form online for free is the difference between a 30-second digital workflow and a 10-minute print-handwrite-scan-email cycle. The trick is using a tool that handles BOTH real AcroForm PDFs AND flat Word-to-PDF forms — most tools handle one but not the other. PDFFlare's Fill PDF Form auto-detects which type you have, shows the right interface, and writes values directly via pdf-lib so nothing gets lost on save. Open PDFFlare's [Fill PDF Form](https://pdfflare.com/tools/pdf/fill-pdf-form), drop your PDF, type to fill, download. Free, browser-based, no signup, no upload, no Acrobat required. --- ## Frequently asked questions **Q: How do I fill a PDF form online for free without Acrobat?** A: Use PDFFlare's Fill PDF Form. Drop any PDF, the tool auto-detects whether it's a real AcroForm (interactive fields baked in, like IRS tax forms) or a flat PDF with underscore blanks (typical Word-to-PDF export), and shows the right inputs on the right side. Type your values, click Download. Runs entirely in your browser via pdf-lib and pdf.js — no server upload, no signup, no Acrobat license needed. Works on Mac, Windows, Linux, iPhone, Android. **Q: Why can't I type in this PDF form?** A: Almost certainly because the PDF doesn't have real form fields — it's a flat PDF where the 'blanks' are just typed underscore characters or table cell borders. Most PDFs from Microsoft Word, Google Docs, and Pages are flat. Open the PDF in PDFFlare's Fill PDF Form: the blank-detection mode scans for underscore patterns and auto-places text inputs at each one. You type into the structured input panel on the right and the values get stamped onto the PDF at the right positions. **Q: How do I fill an IRS W-9 or W-4 form online?** A: IRS forms are AcroForm PDFs (real fillable). Download from irs.gov, drop into PDFFlare's Fill PDF Form, fill the inputs that PDFFlare auto-renders for each field, choose 'Flatten' to lock the values, click Download. The flattened PDF can be emailed to your employer/accountant or attached to e-filing services. Free, browser-based, no upload. **Q: Can I fill a fillable PDF on iPhone or Android?** A: Yes. Open pdfflare.com/tools/pdf/fill-pdf-form in mobile Safari or Chrome, tap to upload your PDF (works with Files, iCloud Drive, Google Drive, Photos), and the layout stacks vertically — preview on top, inputs below — for thumb-friendly filling. Tap each field to fill, scroll between pages with prev/next buttons, tap Download when done. The downloaded PDF lands in your device's Files / Downloads folder for easy sharing. **Q: What's the difference between flatten and keep-fillable on save?** A: Flatten bakes the values permanently into the PDF as drawn text — the recipient sees them but can't edit them. Use flatten for tax forms, contracts, and any final submission where the values must not change. Keep-fillable preserves the AcroForm field structure with your values pre-populated — the recipient can edit them. Use keep-fillable for collaborative review or template forms where someone else needs to refine the values. Flat-detected PDFs (from Word) always save flat — there's no AcroForm structure to preserve. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Regex Generator from Sample Strings: Build Regex (2026) URL: https://pdfflare.com/blog/how-to-generate-regex-from-sample-strings Published: May 8, 2026 Reading time: 10 min read > Regex generator from sample strings — paste 2-5 examples, get a regex with character classes and length quantifiers. Deterministic, no AI, no signup. --- You have the data, you don't have the regex. Five email addresses, ten log timestamps, fifty internal ticket IDs — all clearly the “same shape” and you need a pattern that matches them. The lazy fix is to copy/paste the first one as a literal regex; the slightly-better fix is to ask ChatGPT and pray; the honest fix is a regex generator from sample strings that infers the pattern by walking through your data deterministically — no AI hallucinations, no API dependency, same input always produces the same regex. In this guide you'll learn how to use [PDFFlare's regex generator online](https://pdfflare.com/tools/dev/regex-generator) to turn a handful of example strings into a working regex — call it a regex builder from text, an auto regex generator, a regex inference tool, or a regex from sample data engine; same idea, several names. You'll also see the algorithm itself (so you understand when it works and when it fails), how it compares to AI-based regex generators, and the workflow of generate → refine in the [Regex Tester](https://pdfflare.com/tools/dev/regex-tester) → ship to your codebase. ## What a Regex Generator from Sample Strings Actually Does A regex generator from sample strings takes 2-5 (or more) example strings and emits a regex that matches all of them, plus other strings of the same shape. PDFFlare's implementation uses pattern induction regex inference — it walks each sample character by character, identifies runs of letters / digits / alphanumerics, treats non-alphanumeric characters as literal anchors, then generalizes each run into a character class with a min/max length quantifier. No AI, no language model, no remote API. Same input always produces the same regex, which means you can rely on it in CI pipelines, share generated patterns with teammates, and reproduce results a year from now. The killer feature is what the algorithm DOESN'T do — it doesn't guess. If your samples have different structural shapes (one has an `@` where another has `-`), the generator reports a clear shape-mismatch error and stops. Compare to ChatGPT, which will confidently produce a wrong regex without telling you it's wrong. PDFFlare either gives you a verifiably-correct regex or refuses with a specific error pointing at the outlier sample. ## How to Use the Regex Generator (Step by Step) 1. **Paste 2-5 sample strings, one per line.** For best results, include edge cases — your shortest example, your longest example, and a representative middle case. The min/max length quantifier is computed from your samples, so showing the full range matters. 2. **Click Generate regex.** PDFFlare tokenizes each sample, verifies all samples share the same structural shape, and emits a generalized regex with character classes and `{min,max}` quantifiers. The whole operation runs in your browser in under 10ms. 3. **Verify the sample match check.** The generator runs the regex against your originals — every sample should show ✓. If any show ✗, the regex needs tighter samples (paste more representative examples). 4. **Click Open in Regex Tester.**The generated pattern deep-links into PDFFlare's full Regex Tester with live highlighting, capture groups, code output for 10 programming languages, ReDoS detection, and substitution mode. Test against more real data, refine, and copy paste-ready code into your codebase. ## The Algorithm in Plain English PDFFlare's regex generator from sample strings runs four passes over your input: 1. **Tokenize.**Walk each sample character by character. Group consecutive letters into a “letter run,” consecutive digits into a “digit run,” mixed alphanumerics into an “alnum run.” Treat each non-alphanumeric character (`@`, `.`, `-`, `/`, etc.) as a literal anchor. Track whether each run has uppercase, lowercase, or both. 2. **Verify shape.** Compute a structural key for each tokenized sample: the sequence of run types and literal characters in order. If sample 1 is`letter @ letter . letter` and sample 2 is`letter @ letter . letter . letter`, the keys differ — the generator reports a shape mismatch and stops. Better to fail loudly than emit a wrong regex. 3. **Generalize.** For each run position across samples, compute the union character class (lowercase only → `[a-z]`; mixed case →`[a-zA-Z]`; digits → `\d`; mixed → `\w`) and the length range (same length → `{N}`; varying → `{min,max}`). 4. **Emit.** Concatenate the generalized character classes with the literal anchors in order, escaping regex metacharacters. The output is a ready-to-use regex that matches every input sample plus other strings of the same shape. ## Real Examples — How to Generate Regex from Examples ### How to generate a regex for email validation from sample addresses Paste three sample emails: `alice@example.com`, `bob.smith@test.io`, `charlie+work@sub.domain.co.uk`. The generator outputs a regex like `[\\w.+-]+@[\\w-]+\\.[\\w-]+\\.[\\w-]+` (exact form depends on your samples). It catches every email shaped like your samples — local part with letters, digits, dots, plus signs, hyphens; an `@`; domain parts with letters and hyphens; one or more dots with TLD parts. For 99% of forms, the generated simple version is what you want — a perfect RFC 5322 email regex is hundreds of characters and almost never worth it. ### How to generate a regex for ISO dates from a few examples Paste `2024-01-05`, `2026-12-31`,`2025-06-15`. The generator outputs `\d{4}-\d{2}-\d{2}`. Same length across all samples → fixed quantifiers. Note the literal hyphens are preserved as anchors. To match dates inside a longer string (not just standalone), open in Regex Tester after generating and remove the implicit anchors or wrap the pattern with `\b` word boundaries. ### How to generate a regex for log file timestamps Log timestamps are PERFECT for sample-based generation because they're fixed-format and you have millions of examples in your log files. Paste `2026-05-08 14:30:22`, `2026-05-08 14:31:05`, `2026-05-08 14:31:47`. Generator outputs `\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}`. Drop into your log parser. Pair with the substitution mode in the Regex Tester to transform timestamps to another format (e.g., into Unix epoch, paired with [PDFFlare's Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter)). ### How to generate a regex for internal ticket IDs Your company's ticket IDs are `ORD-2024-A1B2`, `ORD-2025-X9Y8`,`ORD-2026-Q4R7`. No published regex spec anywhere. Paste them, generate, get `[A-Z]{3}-\d{4}-[A-Z0-9]{4}`. Now you have a regex you can use for validation and extraction across your data warehouse, internal API gateway, or audit logs. The same algorithm works for SKUs, batch numbers, request IDs, transaction codes — any internally-shaped identifier with no public spec. ### How to generate a regex when samples have varying lengths Paste samples of different lengths but same shape: `alice` (5), `bob` (3), `charlotte` (9). Generator outputs `[a-z]{3,9}` — character class derived from the actual chars used (all lowercase letters in this case), length range from min to max across samples. The min/max quantifier is what makes sample-based generation more useful than a literal-match approach: the regex matches your originals AND new strings within the observed length range. ## When Sample-Based Generation Works (and When It Fails) **Works great for:** - **Regularly-shaped data:** emails, dates, timestamps, ticket IDs, postal codes, phone numbers in fixed format, hex hashes, MAC addresses, semver, file extensions. - **Reverse-engineering an undocumented format:** internal SKUs, batch numbers, log line prefixes, output of legacy systems with no schema. - **Data extraction from logs:** grep one example line, paste 3-5 variations, generate, run on the full log file. **Doesn't work for:** - **Free-form text:**anything where the same logical field can have multiple shapes (a “phone number” field that contains `415-555-1234`, `+1 415 555 1234`, and `4155551234` all in the same dataset). Solution: split into shape groups, generate per group, combine with alternation. - **Optional segments:**if some samples have a middle component and others don't. The structural shape differs, so the generator reports a mismatch. Solution: pre-classify samples by presence of the optional component. - **Semantic validation:**the generator doesn't know that `02-30-2026` is an invalid date — it just sees `\d{2}-\d{2}-\d{4}`. For semantic checks (calendar validity, checksum digits, Luhn validation), you need post-regex logic in your code. ## Generator vs ChatGPT vs Hand-Written Regex **vs ChatGPT / Claude / autoregex.xyz:** AI-based regex generators take natural-language intent (“match all email addresses”) and produce a regex. PDFFlare's generator takes concrete sample data and produces a regex. Different inputs, different tradeoffs. AI is more flexible but produces inconsistent output between runs and can be confidently wrong. PDFFlare is deterministic and verifiable but requires you to have actual samples — not an issue if you have the data, a blocker if you don't. **vs hand-written regex from memory:** Hand-written regex is fastest IF you already know the right pattern. The generator is faster when you don't — paste samples, generate, refine. The generator's real value is in unfamiliar territory: weird internal identifiers, log formats you've never seen, exports from systems with no documented schema. **vs preset libraries (PDFFlare's 40+ built-in patterns):**If your data shape is one of the common ones (email, URL, IPv4, UUID, credit card), PDFFlare's preset library in the Regex Tester is even faster than generating from samples. Check the presets first; reach for the generator when your shape is custom. ## Privacy: Run Locally PDFFlare's regex generator from sample strings runs entirely in your browser. The tokenization, shape comparison, and regex emission all happen client-side via plain JavaScript — no server, no API call, no log. Open DevTools → Network and you'll see zero requests while you generate. Safe for samples drawn from confidential data: production database rows, internal customer records, log files with PII. Recent generations are saved in your browser's localStorage; the actual sample input is NEVER persisted. ## Common Mistakes - **Pasting samples with different shapes** and expecting the generator to figure it out. It won't — it'll report a shape mismatch. Pre-classify your samples by shape first. - **Pasting only one sample** and expecting generalization. With a single sample, the generator emits a fixed-length regex matching exactly that shape. Paste 3+ samples for proper generalization. - **Skipping the sample match verification** after generating. The ✓/✗ check at the bottom of the result is your sanity check — if any sample shows ✗, the regex is wrong, fix the samples. - **Trusting the generated regex without testing on real data**. The regex matches your samples; it may not match the rest of your dataset. Always click Open in Regex Tester and run against a larger test string. ## Related Tools - [Regex Generator](https://pdfflare.com/tools/dev/regex-generator) — paste samples, get a regex. The tool this post describes. - [Regex Tester](https://pdfflare.com/tools/dev/regex-tester) — paste a regex (or load one from the generator), test against larger data, copy paste-ready code for 10 languages. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — decode JWTs (which you might want to validate with a generated regex first). - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter) — convert log timestamps you extracted with a generated regex to Unix epoch. ## Wrapping Up A regex generator from sample strings closes the loop between “I have data” and “I have a regex.” Deterministic pattern induction means reproducible output, no AI dependency, no per-query cost, and clear failure modes when the algorithm can't generalize. Pair with PDFFlare's Regex Tester for the full workflow: generate from samples, verify against more data, copy paste-ready code, ship. Open PDFFlare's [regex generator from sample strings](https://pdfflare.com/tools/dev/regex-generator) — paste 2-5 examples, click Generate, get a working regex. Free, browser-based, no signup, no upload, no AI. --- ## Frequently asked questions **Q: How do I generate a regex from sample strings without using AI?** A: Open PDFFlare's regex generator from sample strings, paste 2-5 example strings (one per line), click Generate. The algorithm tokenizes each sample into letter/digit/alnum runs separated by literal punctuation, verifies all samples share the same shape, then emits a generalized regex with character classes and {min,max} length quantifiers. Pure pattern induction — same input always produces the same output. No LLM, no API call, no per-query cost, no rate limits. Compare to ChatGPT-style generators which can produce inconsistent or invalid regex and depend on a remote service. **Q: Is the regex generator deterministic?** A: Yes — same samples always produce the same regex. The algorithm has no randomness, no AI model, no external service. This means generated patterns are reproducible across teammates, can be regenerated months later from the same samples, and are safe to use in CI pipelines or audit logs. Compare to AI-based generators which produce different output on each run. **Q: How many sample strings should I paste to get a good regex?** A: Minimum 1, recommended 3-5, no upper limit. With 1 sample you get a fixed-length regex matching exactly that shape. With 2-5 samples the algorithm finds the union character class (lowercase only? mixed case? alphanumeric?) and the min/max length range — that's the sweet spot. With 10+ samples the min/max quantifier becomes tighter but no fundamentally better generalization. Always include edge cases (shortest, longest, special characters) so the generated regex covers them. **Q: Why does the generator say 'sample N has a different shape'?** A: All samples must share the same structural shape — same number of letter/digit/alnum runs in the same order, separated by the same literal characters. Sample 'alice@example.com' has shape [letter]@[letter].[letter]; sample '12345' has shape [digit]. Different shapes can't be combined into a single clean regex without alternation, which the generator deliberately avoids. Fix: split samples by shape, generate a regex for each group, combine manually if needed. **Q: Will the generated regex match new strings I haven't shown it?** A: Yes, by design. The generator emits a generalized pattern, not a literal match for your exact samples. If you paste 3 ISO dates, the output \d{4}-\d{2}-\d{2} matches any 4-digit year + 2-digit month + 2-digit day pattern, including dates you didn't show. To verify the regex doesn't over-match (false positives), click Open in Regex Tester after generating and paste a longer test string with both valid and invalid examples — the live highlighting will show you exactly what gets matched. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Regex Tester Online: How to Test Regex Like a Pro (2026) URL: https://pdfflare.com/blog/how-to-test-regex-online Published: May 8, 2026 Reading time: 11 min read > Regex tester online — paste a regex, get live match highlighting plus paste-ready code for 10 languages. 40+ presets, ReDoS detector, substitution mode. --- Regex is one of those skills where you type something that mostly works, ship it, and then six months later someone files a bug saying the email validator rejects all addresses with a `+`in them. The fix isn't writing better regex from memory — it's using a regex tester online with live match feedback, capture-group inspection, and a battle-tested regex pattern library covering the patterns you hit weekly. In this guide you'll learn how to test, debug, and port regex using [PDFFlare's Regex Tester](https://pdfflare.com/tools/dev/regex-tester) — paste a pattern, see live highlighting on your test string, copy paste-ready code for 10 languages (JavaScript, Python, Go, Java, Ruby, C#, Rust, and more), and pick from a library of 40+ presets covering email, URL, phone, IPv4, UUID, credit card, hex color, semver, and JWT. Plus the gotchas: ReDoS, multiline-vs-single-line mode, and porting between regex flavors without surprises. If you have data but no regex, PDFFlare's sister tool — the [Regex Generator](https://pdfflare.com/tools/dev/regex-generator) — infers a pattern from sample strings. ## What a Regex Tester Online Actually Does A regex tester online (sometimes called a JavaScript regex tester or a regex match online tool) runs your pattern against a test string and shows you matches in real time. The killer feature isn't the matching itself (that's a one-line call to the language's regex engine); it's the FEEDBACK LOOP. You change a quantifier, highlights move; you toggle a flag, the match count updates; you add a capture group, the inspector lights up. Iteration that takes seconds beats writing-then-running regex against a real codebase every time you tweak it. The other thing testers solve is regex's write-only-code problem. A pattern like `(?:[a-zA-Z0-9._%+-]+(?:\.[a-zA-Z0-9._%+-]+)*)@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}` is reasonable for email validation, but six months later when you need to tweak it, you don't want to re-derive every group's purpose from first principles. Live match highlighting plus a token-level explanation pane means you can pick up someone else's regex (or your own from a year ago) and extend it without breaking it. ## How to Use the Regex Tester (Step by Step) Four steps to a working, tested regex. 1. **Pick a preset or paste your pattern.** Open the pattern library in PDFFlare's tester and scroll through the categories: Email, URL, Phone, Date/Time, Network, IDs, Financial, Postal, Code, and more. Click any preset and it loads into the input with the right flags. Or paste your own pattern from an existing codebase. 2. **Set flags.** Click the chip for each flag you need: `g` for global (all matches), `i` for case-insensitive, `m` for multiline (so `^` and `$` match line boundaries), `s` for dotAll (so `.` matches newlines), `u` for full Unicode, `y` for sticky. The regex literal display updates so you can see the final `/pattern/flags` form. 3. **Type or paste your test string.** PDFFlare highlights every match in orange and shows a count badge. The match details table below lists each match with its byte offset and capture groups (numbered `$1`, `$2`, ... and named groups by their declared names). 4. **Copy code for your language.**Pick JavaScript, TypeScript, Python, Java, Go, PHP, Ruby, C#, Rust, or Bash from the Code snippet dropdown. PDFFlare emits paste-ready code with the correct escape rules and flag translation for that language's regex API. Drop into your codebase, test against real data. ## The regex101 Alternative Built for Shipping Code regex101 is excellent — deep flavor support, rich token explanations, community regex library. It's the go-to for deep-diving on a single complex regex. But for everyday work shipping regex into a real codebase, there are gaps that PDFFlare's regex101 alternative fills: - **Pattern presets.**regex101 doesn't give you a curated list of working patterns for the common cases (email, URL, phone, IPv4, UUID, credit card). PDFFlare's 40+ presets are the ones you actually reach for, categorized by domain. - **Multi-language regex converter with code output.** regex101 shows your pattern in different flavors (JavaScript, Python, PCRE, etc.) but doesn't emit paste-ready code. PDFFlare gives you the actual `re.findall(...)` / `Pattern.compile(...)` / `regexp.MustCompile(...)` snippet with proper flag translation for 10 languages. - **ReDoS detector.** Catastrophic backtracking is the silent regex killer in production. PDFFlare flags nested-quantifier patterns ((`a+`)`+`) and alternation overlap with a red warning so you spot ReDoS-vulnerable regex before it hits production. - **No ads, no signup.** regex101 is ad-laden in 2026. PDFFlare ships clean. ## Pattern Presets — The 40+ Battle-Tested Library The preset library is the moat. Each pattern is tested against real-world examples and trades absolute theoretical correctness for “catches what humans actually type.” ### How to write regex for email validation (the 99% solution) Pick the “Email (simple)” preset: `[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}`. It catches every email a human would actually type, with three caveats: it allows leading dots in the local part (technically invalid), it allows numeric-only TLDs (technically invalid), and it doesn't enforce IDN punycode rules. For 99% of forms — sign-up, contact, newsletter — the simple version is what you want. If you need stricter validation, use the “Email (RFC 5322 lite)” preset, but be aware that strict email regex rejects valid edge-case addresses (single-char TLDs, quoted local parts) more often than it catches invalid ones. The honest fix for edge cases: send a verification email. ### How to write regex for URL matching with optional protocol Two presets: “URL (with protocol)” matches `https?://...`only, and “URL (protocol optional)” matches both `example.com` and `https://example.com`. Pick the first when you're extracting links from structured data (HTML hrefs, log fields where the protocol is always present); pick the second when parsing free-form text where users type domains without `https://`. For domain-only extraction, the “Domain only” preset catches `(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}` — covers subdomain chains and respects DNS label length limits. ### How to write regex for phone numbers (US, UK, international) Phone validation is harder than it looks because formats vary by country and users type whatever feels natural. PDFFlare offers three presets: “Phone US (any format)” for `(415) 555-1234` / `415.555.1234` / `+1 415 555 1234`variations; “Phone E.164 (international)” for the standard +`[country][digits]`format used by Twilio, Stripe, AWS SNS; and “Phone UK” for country-specific formats. For multi-country forms, the honest answer is: don't try to validate phone format with regex — use a library like libphonenumber (Google's reference implementation, ported to most languages). Use regex for extracting probable phone numbers from free text, not for strict validation. ### How to convert a regex from JavaScript to Python Most regex translates cleanly between JavaScript and Python because both follow PCRE-like rules. Three gotchas: (1) Python uses `re.IGNORECASE` instead of the `i`flag — PDFFlare's code-snippet output translates this for you. (2) Named groups are `(?...)` in JavaScript but `(?P...)`in Python — PDFFlare emits the right syntax. (3) Lookbehinds: JavaScript requires modern engines (Chrome/Node 10+); Python has full support. If your pattern uses lookbehinds, copy the Python snippet from PDFFlare's Code dropdown and run it; if your pattern uses Unicode property escapes `\p{...}`, Python only supports them with the `regex` third-party module (not the stdlib `re` module). ### How to debug a regex when you only have one match If your regex matches one substring but you expected several, the culprit is almost always a missing `g` (global) flag — without it, `str.match(re)`returns only the first match. PDFFlare's match-count badge updates instantly when you toggle the flag chip, so you see the fix as soon as you make it. Second culprit: greedy quantifiers eating across boundaries you didn't expect — flip to lazy with `?` (e.g., `.+?`). Third: an anchor (`^` /`$`) that locks the match to start/end of the whole string when you wanted line boundaries — toggle the `m`flag. Start broad (`\d+` for any number), narrow with character classes (`\d{4}-\d{2}-\d{2}` for ISO dates), and add anchors when needed (`^` /`$` /`\b`). This is much faster than writing the regex blind and then testing — you see which matches come and go as you tighten the pattern. For common shapes (email, URL, phone), shortcut by loading the matching preset, then customizing. ## Common Regex Gotchas ### Why is my regex slow? (ReDoS / catastrophic backtracking) Regex slowness in production is almost always catastrophic backtracking. Patterns like `(a+)+`, `(a*)*`, and `(a|aa)+`have exponential time complexity on certain adversarial inputs — what runs in 1ms on benign data takes 30 seconds on a crafted string. This is ReDoS (Regex Denial of Service) and it's a documented attack vector against web services that process user input through regex. PDFFlare's tester runs a heuristic detector for these patterns and shows a red warning. Mitigation: rewrite to avoid the nested quantifier (replace `(\\w+)+` with `\\w+`); use atomic groups in PCRE/Java; or use possessive quantifiers where the language supports them. JavaScript doesn't support atomic groups, so the rewrite approach is your only option. ### Why doesn't my regex match across lines? (multiline flag) By default in JavaScript regex, `^` and `$` match the start and end of the entire string, NOT individual lines. To make them match line boundaries, add the `m` (multiline) flag. Separate gotcha: `.`doesn't match newlines by default. To make `.` match newlines, add the `s`(dotAll) flag. Most “why doesn't this match” bugs come from one of these two assumptions. PDFFlare's flag chips make it one click to toggle either, and you'll see the match count update immediately. ### Why does my regex match too much? (greedy vs lazy) Quantifiers `*`, `+`, and `{n,m}` are greedy by default — they match as much as possible. The pattern `<.+>` on `text` matches the entire string, not just ``. Add `?` after the quantifier to make it lazy:`<.+?>` matches just ``. For HTML extraction, use a more specific class (`<[^>]+>`) — but honestly, use a real HTML parser; regex on HTML is a recipe for bugs. ## Regex Cheat Sheet — Flag Reference The six JavaScript regex flags you'll touch weekly. PDFFlare's built-in regex cheat sheet (collapsible at the bottom of the tool) covers the full syntax — character classes, quantifiers, anchors, groups, lookarounds — but the flags below are the part you change most often when iterating. - **`g` — global**: find all matches, not just the first. Required for multi-match extraction. - **`i` — case-insensitive**: `[a-z]` matches both upper and lowercase. - **`m` — multiline**: `^` and `$` match line boundaries. - **`s` — dotAll**: `.` matches newlines. - **`u` — unicode**: enables full Unicode support (`\p{...}` property escapes, `\u{NNNN}` escapes, surrogate pairs handled correctly). - **`y` — sticky**: match only at `regex.lastIndex` (rarely useful; mostly for tokenizers). ## Common Mistakes - **Forgetting the global flag** when extracting all matches — `str.match(re)` returns only the first match without `g`. - **Not escaping the literal dot** — `example.com` as regex matches `exampleXcom` too. Write `example\.com`. - **Greedy quantifiers eating too much** — use lazy `.+?` when matching content between delimiters. - **Treating regex as a parser**— regex can't parse HTML, JSON, XML, or any nested structure correctly. Use a real parser; use regex only for token extraction or simple validation. - **ReDoS-vulnerable patterns in production**— never use nested quantifiers on user-supplied input. PDFFlare's tester flags these. ## Privacy: Test Locally PDFFlare's regex tester online runs entirely in your browser via the native JavaScript `RegExp`engine. No server is involved, no test strings are uploaded, no patterns are logged. Open DevTools → Network and you'll see zero requests while you type, change flags, or load presets. Safe for testing regex against confidential data — production logs with PII, internal codebases, sensitive samples. Recent patterns are saved in your browser's localStorage; test strings are NEVER saved (they may contain PII). ## Related Tools - [Regex Tester Online](https://pdfflare.com/tools/dev/regex-tester) — paste a regex, get live matches plus 10-language code output. 40+ presets. - [Regex Generator](https://pdfflare.com/tools/dev/regex-generator) — paste 2-5 sample strings, get a generalized regex with the right character classes. Deterministic, no AI. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — pair with regex to validate JWT format before decoding suspicious tokens. - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print JSON before regex-extracting fields from it. - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — generate UUIDs you may want to validate with regex. ## Wrapping Up A regex tester online is the difference between shipping working regex on the first try and shipping regex that mostly works until adversarial input takes your service down. Live testing catches syntax bugs and edge cases, ReDoS detection prevents catastrophic-backtracking pathologies, and multi-language code output saves the copy-paste-edit cycle when porting between codebases. Open PDFFlare's [Regex Tester](https://pdfflare.com/tools/dev/regex-tester), pick the preset that matches your use case, refine against your test data, copy the code snippet for your language, and ship. Free, browser-based, no signup, no upload, no rate limits. --- ## Frequently asked questions **Q: What's a good regex tester online with no signup?** A: PDFFlare's Regex Tester. Same paste-and-test workflow as regex101, plus 40+ pattern presets for common cases (email, URL, phone, IPv4, UUID, credit card, hex color), paste-ready code snippets for 10 languages (JS, TS, Python, Java, Go, PHP, Ruby, C#, Rust, Bash), a ReDoS detector that flags catastrophic-backtracking patterns, and substitution mode with $1 backreferences. No ads, no signup, runs entirely in your browser. If you have data but no regex, PDFFlare's sister tool — the Regex Generator — infers a pattern from sample strings. **Q: How do I generate a regex from sample strings?** A: Use PDFFlare's Regex Generator (a separate tool from the tester). Paste 2-5 sample strings, click Generate, and you get a regex inferred from the samples — character classes derived from the actual chars used, length quantifiers from min/max across samples. After generating, click 'Open in Regex Tester' to verify against more data and copy paste-ready code for your language. **Q: How do I convert a regex from JavaScript to Python?** A: Paste your JavaScript regex into PDFFlare's regex tester, then pick Python from the Code snippet dropdown. PDFFlare emits paste-ready Python code with the right flag translation (re.IGNORECASE for i, re.MULTILINE for m, re.DOTALL for s) and named-group syntax conversion (? → ?P. Three gotchas to watch: lookbehinds work in modern JS engines (Chrome/Node 10+) and full Python; Unicode property escapes \\p{...} need Python's third-party regex module (not stdlib re); and forward-slash escaping differs between literal /…/ and string-form patterns. **Q: How do I prevent ReDoS (regex denial of service)?** A: ReDoS happens when adversarial input triggers exponential backtracking in your regex. Three classic dangerous shapes: nested quantifiers like (a+)+, alternation with overlap like (a|aa)+, and any quantifier inside a group with another quantifier outside. PDFFlare's regex tester runs a heuristic detector and shows a red ReDoS warning when it spots these. Mitigation: rewrite to avoid nesting (replace (\\w+)+ with \\w+); use atomic groups in PCRE/Java; or refactor with possessive quantifiers where the language supports them. Never use these patterns on user-supplied input without rewriting. **Q: Can I use this regex tester for find-and-replace?** A: Yes — toggle Substitution mode under the test string. PDFFlare replaces every match with your replacement string. Use $1, $2, $3 to insert capture groups: pattern (\\w+)@(\\w+) with replacement $2-$1 transforms 'alice@gmail' to 'gmail-alice'. Named groups work too via $. Useful for cleaning exported data, batch-renaming variables in code, or anonymizing logs (regex on emails or SSNs, replace with [REDACTED]). The result preview is live, and you can copy the output with one click. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Kubernetes CronJob Tester: How to Verify Schedules Before Apply URL: https://pdfflare.com/blog/how-to-test-kubernetes-cronjob Published: May 8, 2026 Reading time: 10 min read > Kubernetes CronJob tester — verify spec.schedule before kubectl apply. Plain-English description, next 50 fire times, timezone-aware. Free, no signup. --- A misconfigured CronJob is one of the most expensive bugs in modern DevOps. Wrong schedule ships, the job fires every minute on production, your log volume spikes 100x, your Loki/Datadog bill jumps. Or the schedule looks right but uses the wrong timezone and your “3 AM nightly backup” runs in the middle of peak traffic. The fix is a 30-second pre-flight check with a Kubernetes CronJob tester BEFORE `kubectl apply`. In this guide you'll learn how to verify a Kubernetes CronJob schedule using [PDFFlare's Kubernetes CronJob tester](https://pdfflare.com/tools/dev/cron-expression-tester) — paste the `spec.schedule`value from your manifest, get plain-English description plus the next 5-50 fire times in any of 23 timezones. The tester supports standard 5-field cron (Kubernetes's syntax), 6-field cron with seconds, and Quartz 7-field expressions for mixed ecosystems. Plus the K8s-specific gotchas: the spec.timeZone trap, the 100-missed-deadline edge case, and why concurrencyPolicy can mask schedule bugs. ## What a Kubernetes CronJob Actually Schedules A Kubernetes CronJob resource creates a Job at every schedule fire. The schedule itself uses 5-field standard cron syntax in the `spec.schedule` field. As of Kubernetes 1.27 (GA), CronJob also supports `spec.timeZone` as a string IANA timezone name (e.g., `Etc/UTC`, `America/Los_Angeles`,`Asia/Tokyo`). When timeZone is unset, the schedule runs in the kube-controller-manager's local timezone, which is usually UTC but isn't guaranteed. Example minimal CronJob YAML: ``` `apiVersion: batch/v1 kind: CronJob metadata: name: nightly-backup spec: schedule: "0 3 * * *" timeZone: "America/Los_Angeles" jobTemplate: spec: template: spec: containers: - name: backup image: backup:1.0 restartPolicy: OnFailure` ``` The `schedule: "0 3 * * *"`means “3 AM in the timezone specified by spec.timeZone (or the controller's default if unset).” That's exactly the value you paste into PDFFlare's tester to verify, and exactly where the most common bug lives — "3 AM" in WHICH zone? ## How to Use This Kubernetes CronJob Tester (Step by Step) 1. **Open the cron expression tester.** Visit [/tools/dev/cron-expression-tester](https://pdfflare.com/tools/dev/cron-expression-tester). 2. **Copy the spec.schedule value** from your CronJob YAML. The value inside the quotes — for the example above, `0 3 * * *`. 3. **Paste into the cron expression input.** The tester parses immediately and shows the plain-English description in the green “Valid” banner. 4. **Set the Timezone dropdown** to match` spec.timeZone` from the manifest. If` spec.timeZone` is unset, set the dropdown to UTC (the default for most kube-controller-manager installs). The fire times below now show what the schedule actually fires at in that TZ. 5. **Verify the next 5 fire times.**If they match your intent (e.g., 3:00 AM Pacific tonight, 3:00 AM Pacific tomorrow night, etc.), you're safe to `kubectl apply`. If something looks off, fix the schedule or the timeZone before applying. ## Common Kubernetes CronJob Schedule Bugs ### How to handle CronJob spec.timeZone correctly Three common timeZone mistakes. (1) **Setting spec.timeZone but writing the schedule in UTC anyway** — if `spec.timeZone: America/Los_Angeles` and you wrote `schedule: "0 11 * * *"` intending 11 AM UTC, the job actually fires at 11 AM Pacific (which is 7 PM UTC). Use the tester to verify. (2) **Using a non-IANA timezone name** like` "PST"` or `"EDT"` — Kubernetes accepts only IANA names. `America/Los_Angeles` ✓, `Pacific Standard Time` ✗. (3) **Running on a Kubernetes version < 1.27**where spec.timeZone isn't available — you'd need to adjust the schedule's clock value to UTC manually. ### How to debug a CronJob that's not firing at all If the schedule looks right in the tester but the CronJob isn't firing, check these in order: (1) `kubectl describe cronjob `— look for “CronJob doesn't exist anymore” or schedule parse errors in events. (2) `spec.suspend: false` (default) — if true, the CronJob is paused. (3) `spec.startingDeadlineSeconds` gotcha: if you set it too low (e.g., 100s), and the controller missed 100+ schedule deadlines, the CronJob stops firing entirely. Either remove the field (default is no deadline) or unset it and let Kubernetes catch up. (4) Pod-level failures — the CronJob may be firing but creating Jobs that fail and exit fast. Check `kubectl get jobs`. ### How to read CronJob status to verify schedule timing Once a CronJob is applied, check `kubectl get cronjob -o yaml` and look at `status.lastScheduleTime` and `status.lastSuccessfulTime`. If lastScheduleTime is updating on cadence but lastSuccessfulTime lags or is missing, the schedule is firing but the Job is failing — separate problem from schedule timing. If lastScheduleTime never updates after a full schedule cycle, the schedule itself isn't firing. Cross-reference the timestamp with what PDFFlare's tester predicts as the next fire time for your `spec.schedule` + `spec.timeZone` combination — if the tester says the next fire is 14:00 UTC but lastScheduleTime never updated past 08:00 UTC, your timezone interpretation is wrong on the cluster. The tester is your source-of-truth oracle for “what should the controller do here.” ### How to validate spec.schedule for restricted environments Some K8s admission policies (e.g., OPA Gatekeeper, Kyverno) forbid certain schedule patterns — “no schedule fires more often than every 5 minutes,” “no weekend schedules,” etc. Run the schedule through PDFFlare's tester to see the next 50 fire times, spot the cadence, and confirm it complies BEFORE you submit the manifest. The tester runs entirely in your browser — safe to use on schedules from confidential internal infrastructure. ### How to convert a cron expression for Kubernetes Coming from a different scheduler? Most cron expressions are portable across ecosystems, with a few exceptions: AWS EventBridge requires either day-of-month OR day-of-week to be `?` (not both as wildcards like Linux cron). Spring/Quartz uses 6 fields with seconds prepended. To migrate to Kubernetes (which uses 5-field standard cron): drop the seconds field if it exists, drop any `?` placeholders for `*`, and verify the converted expression in PDFFlare's cron tester before applying. ## CronJob Anti-Patterns the Tester Catches - **"Every minute" in production:** `* * * * *`creates a Job every minute, potentially overwhelming the cluster. Verify that wasn't your intent. - **Daylight Saving Time gaps:** a schedule like `0 2 * * *` in a TZ that observes DST will skip a day or fire twice when DST changes. Check the next 50 fire times across DST boundaries. - **Day-of-month vs day-of-week OR:** `0 0 1 * 1`fires on every 1st of the month AND every Monday — most teams writing this intended “first Monday of the month.” Use `0 0 1-7 * 1` instead in standard cron. - **Sunday confusion:** in cron, Sunday is both 0 and 7. Monday is 1. Common bug: writing` 0 0 * * 7` intending Saturday — actually fires Sunday. ## Pairing the Tester with Other Tools Once you've verified the schedule, three follow-up tools matter: - **Convert fire times to Unix epoch.**The tester has a per-fire-time Epoch button that copies the Unix timestamp. Paste into PDFFlare's [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter) to verify it lines up with logs from previous runs (compare expected vs observed). - **Generate idempotency keys for each fire.** Long-running CronJobs benefit from a unique ID per execution to avoid double-processing. Use PDFFlare's [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) (v7 if you want time-ordered, v4 if you don't). - **Verify any JWT issued by the job.** CronJobs that mint short-lived service tokens can be checked via [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — confirm the iat/exp claims match the schedule cadence. ## Common Mistakes - **Skipping the test entirely.**“It looks right” isn't verification. Paste, see the next 5 fire times, then apply. - **Testing without setting timeZone in the tester.** Default to UTC if your manifest doesn't set `spec.timeZone`. The tester defaults to your local timezone, which is rarely what the cluster uses. - **Setting startingDeadlineSeconds without understanding it.** If the controller misses 100+ schedule firings within the deadline window, the CronJob stops firing entirely. Don't set this field unless you know why you need it. - **Forgetting concurrencyPolicy.** Default is `Allow`— multiple pods can run simultaneously if a previous run is still going. For jobs that aren't idempotent, use `Forbid` or `Replace`. ## Privacy: Test Locally PDFFlare's Kubernetes CronJob tester runs entirely in your browser via the cron-parser + cronstrue libraries — no schedule is uploaded, no manifest is analyzed server-side. Open DevTools → Network and you'll see zero requests during testing. Safe for schedules from production clusters with confidential internal context, air-gapped environments, or regulated-industry deployments where uploading infrastructure config to a third party is forbidden. ## Related Tools - [Cron Expression Tester](https://pdfflare.com/tools/dev/cron-expression-tester) — the protagonist of this guide. Standard 5-field cron + Quartz 6-7 field, 23 timezones, plain-English + next fire times. - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter) — convert any cron fire time to Unix epoch for comparison against actual run logs from previous CronJob executions. - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — mint per-run idempotency keys for CronJobs that need to avoid double-processing. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — verify token claims issued by scheduled jobs match the expected schedule cadence. ## Wrapping Up A Kubernetes CronJob tester turns a 30-second paste-and-verify into the cheapest insurance you have against production schedule bugs. The cost-benefit math is overwhelming: 30 seconds in a tester versus an hour (or a day) of debugging a misfiring scheduled job in production, plus the log-bill spike, plus the on-call page. Make “paste into the tester” a mandatory step in your CronJob manifest review checklist alongside `resources` requests/limits and image-tag pinning. Use PDFFlare's [cron expression tester](https://pdfflare.com/tools/dev/cron-expression-tester) to verify `spec.schedule` values BEFORE `kubectl apply`— match the timezone to your manifest's spec.timeZone, confirm the next 5 fire times match your intent, then ship. Free, browser-based, no upload, no account. --- ## Frequently asked questions **Q: How do I test a Kubernetes CronJob schedule before kubectl apply?** A: Copy your CronJob's spec.schedule value (e.g., "*/15 9-17 * * 1-5"), paste it into PDFFlare's cron expression tester, and set the timezone to whatever your CronJob's spec.timeZone is set to (or UTC if you didn't set it — that's the cluster default). The tester shows a plain-English description plus the next 5-50 fire times. If those don't match your intent, fix the schedule before applying. Catching a bad schedule pre-apply takes 10 seconds; fixing one in production after it floods logs takes much longer. **Q: What's spec.timeZone in a Kubernetes CronJob and when do I need it?** A: spec.timeZone (added in Kubernetes 1.27, GA in 1.30) lets you specify an IANA timezone name (e.g., "America/New_York", "Asia/Tokyo") for interpreting the cron schedule. Without it, the schedule runs in UTC. Set it whenever your job's schedule is meaningful in a specific business timezone — payroll runs at 9 AM EST, EU GDPR reports at midnight CET, end-of-day Tokyo close at 5 PM JST. Common mistake: setting spec.timeZone on a cluster running an older Kubernetes version that ignores the field — the job silently runs in UTC and fires at the wrong hour. **Q: Why is my Kubernetes CronJob not firing?** A: Four common causes: (1) Timezone mismatch — schedule is correct in your local TZ but the cluster runs UTC. Use PDFFlare's tester to verify the next fire time is what you expect. (2) startingDeadlineSeconds expired — if the controller misses the start window (cluster restart, control-plane outage), past-deadline runs are skipped. Either remove the field or set it to a generous value like 600. (3) suspend: true is set on the CronJob spec — kubectl describe cronjob will show this. (4) The job is firing but pods can't schedule due to resource constraints — kubectl get events shows FailedScheduling. **Q: Does Kubernetes CronJob use standard cron syntax?** A: Yes — Kubernetes CronJob uses standard 5-field cron syntax (minute, hour, day-of-month, month, day-of-week). No seconds field (unlike Quartz/Spring), no year field. Macros like @hourly, @daily, @weekly, @monthly, @yearly are accepted. Day-of-month plus day-of-week is OR (union), not AND — "0 0 1 * 1" fires on every 1st of the month AND every Monday, not just the first Monday. AWS EventBridge supports a "?" placeholder in those fields; Kubernetes does not. PDFFlare's tester validates against standard 5-field syntax. **Q: What's the difference between concurrencyPolicy: Allow vs Forbid vs Replace?** A: concurrencyPolicy controls what happens if a previous job is still running when the next scheduled fire time arrives. Allow (default) — start the new job in parallel with the still-running one. Use only if your job is idempotent and overlap is safe. Forbid — skip the new run entirely if the previous one hasn't finished. Common for migrations or cleanup jobs that must not overlap. Replace — kill the running job and start a fresh one. Useful for jobs where only the latest run matters (e.g., data sync where stale runs are wasteful). Default Allow is the most common foot-gun — long-running jobs pile up and exhaust pod limits. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Cron Expression Tester: How to Test Cron Online (2026) URL: https://pdfflare.com/blog/how-to-test-a-cron-expression-online Published: May 8, 2026 Reading time: 9 min read > Cron expression tester — paste, get plain English plus the next 50 fire times in any timezone. Free, browser-based. Pairs with Kubernetes CronJob. --- A good cron expression tester is the fix for almost every schedule debugging session. You wrote `0 9 * * 1-5` and the cron fired at 4 PM. You wrote `*/15 9-17 * * 1-5` and now you're not sure if that includes 5 PM or stops at 4:45 PM. You wrote `0 0 1 * 1`intending “first Monday of the month” — but it's firing every Monday AND every 1st. Cron syntax is densely packed and notoriously easy to read wrong. In this guide you'll learn how to test a cron expression online using [PDFFlare's Cron Expression Tester](https://pdfflare.com/tools/dev/cron-expression-tester) — paste your expression, get a plain-English description plus the next 5-50 fire times in any of 23 timezones, all live as you type. Plus the three gotchas that catch even experienced devs (timezone, OR-not-AND, and Sunday=0=7), and how to verify a Kubernetes CronJob schedule before kubectl apply. ## What Is a Cron Expression? A cron expression is the standard syntax Unix uses to define recurring schedules. Five fields separated by spaces, plus optional 6th (seconds) and 7th (year) fields for Quartz-style schedulers: ``` `┌─── minute (0-59) │ ┌─ hour (0-23) │ │ ┌── day of month (1-31) │ │ │ ┌── month (1-12 or JAN-DEC) │ │ │ │ ┌── day of week (0-7 or SUN-SAT, both 0 and 7 = Sunday) │ │ │ │ │ * * * * *` ``` - `*` = every value - `*/N` = every Nth value (so `*/15` in minute = :00, :15, :30, :45) - `1-5` = range, inclusive (Mon-Fri in day-of-week) - `1,3,5` = list of specific values - **@hourly**, **@daily**, **@weekly**, **@monthly**, **@yearly** — shorthand macros ## How to Test a Cron Expression (Step by Step) 1. **Open the cron expression tester.** Visit [/tools/dev/cron-expression-tester](https://pdfflare.com/tools/dev/cron-expression-tester). 2. **Paste your cron expression.**Or click a preset like “Every 15 minutes” or “Weekday 9 AM” to populate the input. 3. **Read the green plain-English banner.** “Every 15 minutes, between 9:00 AM and 5:59 PM, Monday through Friday” is much easier to verify than the raw symbols. If the description doesn't match your intent, edit and watch it update live. 4. **Verify the next fire times.**The list shows the next 5 (or 10/25/50) absolute timestamps, with relative-time hints (“in 2 hours”, “tomorrow at 9:00”) so you spot anomalies instantly. Each row has an Epoch button to copy the Unix timestamp for piping into other tools. 5. **Switch timezones.**Cron schedules don't embed timezone — switching the dropdown shows what your cron actually fires at in different regions. Critical when your laptop is in PT but the production cron runs in UTC. ## Why a Cron Expression Tester Beats Manual Math Reading cron in your head is doable for simple cases but breaks down quickly: ranges with steps (`0-30/5 * * * *`), lists across multiple fields (`0,15,30,45 * * 1,15 *`), and any 6-field Quartz expression with seconds and year. A cron expression tester removes the guesswork — paste it, see the next 5 fire times, decide if it matches intent. Useful as both a cron schedule online debugger AND a cron expression generator (start from a preset, edit one field, copy the result). The most-used tester for years has been crontab.guru — minimal UI, fast, gets the job done for the simple case. But it's missing four things modern teams need: timezone selector (it always uses your browser's local TZ — hopeless when debugging schedules on UTC servers), Quartz 6-7 field support (so Spring/Java schedulers can't be tested), bulk fire-time count beyond 5, and one-click epoch copy for piping into APIs. PDFFlare's tool is a crontab.guru alternative that adds all four — same paste-and-see-fire-times core, but with the features you need when the schedule isn't firing for the reason you expected. ## The Three Gotchas Every Developer Hits ### What does this cron run? How to find out fast Almost always a timezone bug. Cron syntax doesn't carry timezone metadata — the runner interprets the schedule in whatever TZ it was given (or whatever its default is). Most cloud providers default to UTC. Linux crontab uses the server's local TZ. PDFFlare's [Cron Expression Tester](https://pdfflare.com/tools/dev/cron-expression-tester) lets you switch the timezone dropdown to your runner's actual TZ; if your “9 AM” cron fires at 5 AM your time, you found the bug. ### Why does day-of-month + day-of-week fire on every match The single most common cron misunderstanding. When you specify BOTH day-of-month and day-of-week, the schedule fires on the UNION (OR), not the intersection (AND). So `0 0 1 * 1`fires at midnight on the 1st of every month AND every Monday — both, not just Mondays that fall on the 1st. To restrict to “first Monday of the month” in standard cron, you need a workaround: `0 0 1-7 * 1`matches Monday in the first week. Or upgrade to Quartz which supports “1#1” (first Monday). ### How to handle Sunday in cron expressions In standard cron, day-of-week 0 AND 7 BOTH mean Sunday. Monday is 1, Saturday is 6, Sunday is 0 or 7. So `0 0 * * 0` and `0 0 * * 7`are the same schedule. PDFFlare's tester accepts either. Common related bug: thinking Monday is 0 (it's 1 — you'd be firing on Sunday, not Monday). ## Testing Cron for Specific Schedulers ### How to test a Kubernetes CronJob expression before applying Kubernetes CronJob uses standard 5-field cron in the `spec.schedule`field. Wrong schedule ships, fires every minute on production, floods Loki/Datadog. Paste the CronJob's schedule into the tester BEFORE running `kubectl apply`. Set the timezone to your cluster's configured TZ (or UTC if you didn't set `spec.timeZone`) and confirm the next 5 fire times match your intent. ### How to test a GitHub Actions cron schedule GitHub Actions `on: schedule:`uses 5-field cron in UTC. Common bug: writing the schedule in your local TZ. Always set the tester's timezone to UTC to match GitHub's interpretation. Note that GitHub Actions can be delayed by up to 15 minutes during high load — the schedule is best-effort, not exact. ### How to test a Quartz cron expression for Spring schedulers Spring/Quartz uses 6 or 7 fields: seconds prepended, year optionally appended. `0 0 9 * * 1-5` (6-field) fires Monday-Friday at exactly 9:00:00 AM. The PDFFlare tester accepts 5, 6, and 7-field expressions — paste any and it parses correctly. ## How to Debug a Cron That Already Shipped Wrong The tester is most useful BEFORE you ship a schedule, but it's also the fastest way to diagnose a misfiring production cron. Workflow: pull the live `spec.schedule` / `schedule` / `* * * * *`string from the running config (kubectl, AWS console, GitHub Actions YAML, your orchestrator's UI), paste into the tester, and compare the predicted next 50 fire times against the actual fire times in your job logs. Three distinct failure modes show up in the diff: (1) **Timezone drift**— the predicted UTC fire time matches the runner's log time, but you intended local time. Fix: switch the tester's timezone dropdown to UTC, see the actual schedule, then rewrite the cron string for the timezone the runner uses. (2) **Day-of-week / day-of-month union surprise** — predicted fire times include unexpected days. The OR semantics means `0 0 1 * 1` fires on every 1st AND every Monday, not just the first Monday. Restrict via `0 0 1-7 * 1` or migrate to Quartz cron with `1#1` syntax. (3) **DST boundary skipped or doubled**— daily schedules near 2 AM in a DST-observing timezone fire twice (fall back) or skip a day (spring forward). Run the tester across the DST date range and watch the fire times — they'll telegraph the problem before production does. The tester's 50-fire-time count is deliberately tuned to span ~2 weeks of a typical schedule so you can spot DST issues, week-vs-month boundary bugs, and end-of-month edge cases (Feb 29, 30/31 day months) in one paste. ## Common Cron Expression Patterns - `*/5 * * * *` — every 5 minutes - `0 * * * *` — every hour at :00 - `0 9 * * *` — daily at 9 AM - `0 9 * * 1-5` — weekdays at 9 AM - `0 0 * * 0` — Sundays at midnight (weekly) - `0 0 1 * *` — first of every month at midnight - `0 0 1 1 *` — January 1st at midnight (yearly) - `*/15 9-17 * * 1-5`— every 15 min, 9-5 PM, weekdays (most common “business hours” schedule) ## Common Mistakes - **Writing schedules in local time**when the runner uses UTC. Always confirm the runner's TZ before writing. - **Using `0 0 1 * 1` for “first Monday”** — it fires on every 1st AND every Monday. Use `0 0 1-7 * 1`instead, or migrate to Quartz for “1#1” syntax. - **Confusing `*/0` with disabled** — `*/0` is invalid syntax (step of zero). To disable a cron, comment the line out or remove it. - **Assuming AWS EventBridge uses standard cron** — it uses a 6-field variant where day-of-month and day-of-week can't both be wildcards. Use `cron(0 9 ? * MON-FRI *)` not `cron(0 9 * * 1-5)`. ## Privacy: Test Locally PDFFlare's cron expression tester runs entirely in your browser via `cron-parser` and `cronstrue` libraries. No server is involved, no schedules are uploaded, no logs are kept. Open DevTools → Network and you'll see zero requests while you type or switch timezones. Safe for testing schedules from confidential production infrastructure or air-gapped environments. ## Related Tools - [Cron Expression Tester](https://pdfflare.com/tools/dev/cron-expression-tester) — the protagonist. Plain-English + next fire times in any of 23 timezones. - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter) — convert each cron fire time to Unix epoch for piping into APIs that expect timestamps. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — verify token issued-at and expiration claims align with your scheduled job runs. - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — mint request IDs for individual scheduled job runs (idempotency keys, log correlation). ## Wrapping Up Test a cron expression online in three seconds with PDFFlare's [Cron Expression Tester](https://pdfflare.com/tools/dev/cron-expression-tester) — paste, read the plain English, verify the next 5-50 fire times. Use it as a kubernetes cronjob tester before applying YAML manifests, a cron next run time calculator when debugging unexpected fires, a crontab generator when starting from a vague requirement, or a cron parser online for quick sanity checks. Free, browser-based, no upload. --- ## Frequently asked questions **Q: How do I test a cron expression online for free?** A: Open PDFFlare's cron expression tester, paste your cron expression, get a plain-English description plus the next 5-50 fire times in any of 23 timezones. The description updates as you type, so you see immediately whether the schedule matches your intent. All parsing runs in your browser via cron-parser + cronstrue libraries — no upload, no signup. Free and unlimited. **Q: Why does my cron job fire at the wrong time?** A: Almost always a timezone mismatch. Cron schedules don't include a timezone — the runner interprets them in whatever TZ it uses (UTC for most cloud providers like AWS, GCP; local TZ for Linux crontab). Switch the timezone dropdown in PDFFlare's tester to your runner's actual TZ. If your '0 9 * * *' fires at 5 AM your time but the runner is UTC, you needed '0 17 * * *' instead. Common gotcha for engineers debugging cross-timezone scheduled jobs. **Q: Does day-of-month plus day-of-week mean AND or OR?** A: OR — the union, not the intersection. '0 0 1 * 1' fires on EVERY 1st of the month AND on EVERY Monday — both, not just Mondays that fall on the 1st. This is the single most-misunderstood part of cron syntax. To restrict to 'first Monday of the month' in standard cron, use '0 0 1-7 * 1' (the 1st through 7th matches the first week, intersected with Monday). For more complex patterns, migrate to Quartz cron which supports '1#1' (first Monday of month) syntax. **Q: Is Sunday 0 or 7 in cron expressions?** A: Both — standard cron treats 0 and 7 identically as Sunday. So '0 0 * * 0' and '0 0 * * 7' fire at the same times. Day-of-week numbering: Sunday = 0 or 7, Monday = 1, Tuesday = 2, ..., Saturday = 6. Common bug: assuming Monday is 0 (it's Sunday) — you'd accidentally schedule jobs for Sundays instead of Mondays. PDFFlare's plain-English description renders weekday names so you can verify at a glance. **Q: Can I test Kubernetes CronJob expressions with this tool?** A: Yes — Kubernetes uses standard 5-field cron syntax (no seconds, no year). Paste your CronJob's spec.schedule value into PDFFlare's cron expression tester, set the timezone to your cluster's spec.timeZone (or UTC if not set), and verify the next 5-50 fire times match your intent. Run the test BEFORE kubectl apply — wrong schedule on production fires every minute and floods logs. The tester also supports 6-field (with seconds) and 7-field Quartz expressions for Spring/Java schedulers. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Unix Timestamp Converter: How to Convert Epoch to Date (2026) URL: https://pdfflare.com/blog/how-to-convert-unix-timestamp-to-date Published: May 7, 2026 Reading time: 8 min read > Unix timestamp converter — convert Unix epoch ↔ date, ISO 8601, RFC 2822, local time. Auto-detects seconds vs milliseconds. Free, browser-based. --- You opened a JSON response from an API and saw `"created_at": 1714944000`. Or maybe `1714944000000`. You need to know what date that is, fast. A Unix timestamp converter is the right tool — every modern OS, browser, and language has one built in, but doing it in your browser without firing up a terminal takes about three seconds. In this guide you'll learn how to convert a Unix timestamp to a date using [PDFFlare's Unix timestamp converter](https://pdfflare.com/tools/dev/timestamp-converter) — auto-detects whether your input is seconds or milliseconds, outputs ISO 8601 / RFC 2822 / local time in any of 23 timezones simultaneously, and includes bulk mode for converting lists. Plus the seconds vs milliseconds gotcha that trips up everyone, and the Y2038 problem that's closer than you think. ## What Is a Unix Timestamp? A Unix timestamp (also called epoch time, POSIX time, or Unix time) is the number of seconds elapsed since 1970-01-01T00:00:00Z (UTC). January 1, 1970 is the “Unix epoch.” The current Unix timestamp as of this writing is around 1,747,000,000 — a 10-digit integer. JavaScript's `Date.now()` returns the same epoch but in MILLISECONDS — a 13-digit integer. - **Unix seconds:** 10-digit integer. Used by most APIs (Stripe, Twilio, AWS, GitHub), Linux file timestamps, JWT iat/exp claims. - **Unix milliseconds:** 13-digit integer. Used by JavaScript, JSON in many SDKs, mobile platforms. - **Unix microseconds:** 16-digit integer. Rare, but appears in some logging systems and high-precision databases. - **Unix nanoseconds:**19-digit integer. Used by Go's `time.UnixNano()` and some financial systems. ## Why Use a Unix Timestamp Converter Instead of CLI Tools? A browser-based Unix timestamp converter wins over CLI tools (`date -d`, `[DateTime]`, Python `datetime.fromtimestamp`) in three situations: (1) when you're on a phone or kiosk without shell access; (2) when you need multiple formats simultaneously without re-running commands; (3) when you want to share the conversion result with a teammate via URL or screenshot. PDFFlare's timestamp converter shows six output formats from one paste — Unix seconds, milliseconds, ISO 8601 UTC, ISO with TZ offset, RFC 2822, local time, plus relative time. As an iso 8601 converter for API debugging, a unix time converter for log analysis, or an epoch converter when reading Linux file timestamps — same tool, different angle. ## How to Convert Unix Timestamp to Date (Step by Step) 1. **Open the timestamp converter.** Visit [/tools/dev/timestamp-converter](https://pdfflare.com/tools/dev/timestamp-converter). 2. **Paste the Unix timestamp.** Either a 10-digit seconds value or a 13-digit milliseconds value. PDFFlare auto-detects which one you pasted by counting digits. Forced override available if you have a non-standard length. 3. **Read the converted formats.**Six output rows appear: Unix seconds, Unix milliseconds, ISO 8601 UTC, ISO 8601 with timezone offset, RFC 2822, local time, and a relative time (“3 days ago,” “in 2 hours”). 4. **Switch timezones if needed.** The Timezone dropdown covers UTC + all US timezones + major European and Asian financial centers. Your selection persists across reload. 5. **Copy the format you need.** Each row has a Copy button. Or use Copy all to get all six formats newline-separated. ## Format-Specific Conversion Tips ### How to convert Unix milliseconds to date Paste the 13-digit value (e.g., `1714944000000`). The auto-detect recognizes it as milliseconds and converts. Or set Input format to _Unix milliseconds_ to force it. Common source: `Date.now()` in JavaScript, JSON timestamps in REST APIs, mobile platform event logs. The output Unix seconds row gives you the equivalent 10-digit value when you need it. ### How to convert Unix seconds to ISO 8601 Paste the 10-digit value and look at the ISO 8601 (UTC) row. The output is `2026-05-05T00:00:00.000Z`— sortable alphabetically, parseable by every modern language, and the canonical format for JSON timestamps. The ISO 8601 (timezone) row gives you the same date with your selected timezone's offset (e.g., `2026-05-04T17:00:00-07:00` for America/Los_Angeles). ### How to convert epoch to date in a specific timezone Switch the Timezone dropdown to your target region. The Local time output flips immediately — same epoch, formatted for the new TZ. Useful when you're in one timezone but debugging logs from a server in another. PDFFlare uses the browser's native `Intl.DateTimeFormat` which gives identical output to what your runtime (Node, Python, JVM) would produce for the same TZ. ### How to convert ISO 8601 back to Unix timestamp The converter is bidirectional. Paste an ISO 8601 string (with or without milliseconds, with or without timezone offset) and get the matching Unix seconds and milliseconds out. Useful when you have a human-readable timestamp from a log file and need to feed it back into an API that expects epoch input. ## The Seconds-vs-Milliseconds Gotcha The single most common timestamp bug: accidentally treating milliseconds as seconds, or vice versa. The dates are 1000× off. A 1714944000 (seconds) is May 5 2024; the same value treated as milliseconds is January 20 1970 — 14 days after the epoch. Symptoms: - JWT tokens that “expired in 1970” — your code passed milliseconds where the JWT library expected seconds for the `exp` claim. - API responses showing “the future” when you pass a current epoch — your code passed seconds where the API expected milliseconds. - Database queries returning empty for date ranges that should have results — same root cause, mixed units. PDFFlare's auto-detect catches this when you paste the value: it tells you in the Detected line whether it read the input as seconds or milliseconds. If the detection is wrong (rare — only happens for very early dates near the epoch), the manual override forces the right interpretation. ## The Y2038 Problem Unix timestamps stored as signed 32-bit integers overflow at `2147483647` — which is 2038-01-19T03:14:07Z. After that second, int32 wraps to a negative number and the timestamp interprets as a date in 1901. This is the Y2038 problem (also called Y2K38 or the Unix Millennium Bug). Modern systems use 64-bit integers and won't overflow until year 292 billion — but legacy code in C/C++ codebases, embedded systems, and older databases still uses int32 in places. PDFFlare's Y2038 preset jumps directly to `2147483647` so you can verify how your code handles the boundary. Test your stack with the second BEFORE (`2147483646`) and AFTER overflow (`2147483648`) to confirm it stores values correctly. ## Common Mistakes - **Forgetting the timezone matters.** A Unix timestamp is always UTC; the “date” you see depends on which timezone you display it in. 1714944000 is May 4 in California, May 5 in UTC, May 5 evening in Tokyo. PDFFlare shows both UTC and your selected TZ to avoid this confusion. - **Pasting just a date without a time.** `2026-05-07` alone parses as midnight UTC by most tools, but some treat it as midnight in the local TZ. For unambiguous results, always include time + timezone: `2026-05-07T14:00:00Z`. - **Trusting `Date.parse()` with arbitrary strings.** JavaScript's `Date.parse` is notoriously inconsistent across browsers for non-ISO input. PDFFlare uses ISO and RFC 2822 parsing where possible and falls back to `Date`only when those don't match — but for arbitrary user input, paste exact ISO 8601 for predictable results. - **Manual epoch math.**Don't try to compute “X days ago” or “hours until expiration” by subtracting epoch values and dividing — daylight saving boundaries and leap seconds make it wrong. The Relative output line handles this for you. ## Privacy: Convert Locally PDFFlare's timestamp converter runs entirely in your browser via the native `Date` and `Intl`APIs. No server is involved, no timestamps are uploaded, no logs are kept. Open DevTools → Network and you'll see zero requests while you type, click presets, or switch timezones. This makes it safe for converting timestamps from internal log files, security audit data, or any context where you don't want a third party to see what you're looking at. ## Related Tools - [Timestamp Converter](https://pdfflare.com/tools/dev/timestamp-converter) — the protagonist of this guide. Unix seconds / milliseconds ↔ ISO 8601 / RFC 2822 / local time in 23 timezones. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — JWT iat/exp/nbf claims are Unix seconds. Decode a token then convert the timestamp claims to confirm validity. - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — UUID v7 embeds a 48-bit Unix millisecond timestamp. Pair the two when debugging UUID v7 ordering. - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator) — webhook signatures often prefix the Unix timestamp before the body (Stripe, Slack). Convert the timestamp first, then sign. ## Wrapping Up Convert Unix timestamp to date in three seconds with PDFFlare's [Unix timestamp converter](https://pdfflare.com/tools/dev/timestamp-converter) — paste, auto-detect, read all six formats. Use it as an epoch converter, an iso 8601 converter, a unix time converter, or simply a tool to convert timestamp online when you need a one-shot answer. Bulk mode for lists, 23 timezones, useful presets (Y2K, Y2038, Unix epoch), and a live “Right now” block that updates every second. Free, browser-based, no upload. --- ## Frequently asked questions **Q: How do I convert a Unix timestamp to a date online?** A: Paste the Unix timestamp into PDFFlare's Unix timestamp converter — the tool auto-detects whether it's seconds (10 digits) or milliseconds (13 digits) and outputs ISO 8601, RFC 2822, and local time in your selected timezone simultaneously. The Now button inserts the current epoch as a reference, and the Y2038 preset jumps to the int32 overflow date so you can test boundary handling. Conversion runs in your browser via native Date and Intl APIs. **Q: How do I tell if a Unix timestamp is in seconds or milliseconds?** A: Count the digits. A 10-digit value (e.g., 1714944000) is Unix seconds — represents dates from year 2001 to 2286. A 13-digit value (1714944000000) is Unix milliseconds — used by JavaScript's Date.now() and most JSON APIs. PDFFlare auto-detects by digit count, but if you have an ambiguous value (e.g., 1234567890 which is valid in both), set the Input format dropdown to force one or the other. **Q: What's the Y2038 problem?** A: On 2038-01-19T03:14:07Z, the Unix timestamp value 2147483647 will overflow signed 32-bit integers. Code that stores Unix timestamps as int32 (still common in legacy C/C++ codebases and embedded systems) will start producing wrong dates after that second. PDFFlare's Y2038 preset jumps directly to that timestamp so you can verify how your code handles the boundary. Modern systems use 64-bit time values which extend the safe range to year 292 billion. **Q: Can I convert timestamps in bulk?** A: Yes — toggle Bulk mode in PDFFlare's timestamp converter, paste a list of timestamps (one per line), and the tool produces a table with Unix seconds, ISO 8601 UTC, and local-time columns. Mix-and-match formats are fine — auto-detect runs per line, so you can paste a list with some Unix seconds, some ISO strings, and some RFC 2822 dates and they all convert correctly. Useful for log file analysis or auditing webhook delivery times. **Q: Does the timestamp converter respect daylight saving time?** A: Yes — PDFFlare uses the browser's native Intl.DateTimeFormat for timezone conversion, which handles DST transitions correctly for every IANA timezone. A Unix timestamp on November 5 2026 in America/New_York shows EST (UTC-5); the same epoch on May 5 2026 shows EDT (UTC-4). The Relative output also accounts for DST when computing 'X hours ago'. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Combine Multiple Word Docs into One PDF (Free, No Office) URL: https://pdfflare.com/blog/combine-word-docs-into-one-pdf Published: May 7, 2026 Reading time: 8 min read > Combine Word docs into one PDF — convert each .docx to PDF, then merge in any order. Free, browser-based, no Office or Acrobat needed. --- You need to combine Word docs into one PDF — maybe a cover letter, a resume, and a portfolio summary, each in its own .docx file. The recipient wants a single PDF, not three separate files. The fastest path: convert each .docx to PDF, then merge in the right order. No Microsoft Office subscription, no Acrobat, no app install. In this guide you'll learn how to combine Word docs into one PDF using [PDFFlare's Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) plus [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) tools. The whole flow takes under five minutes for three to ten Word documents, and the files stay private — no Word license required, no third-party server holds your text. ## Why You Can't Just “Save All As PDF” Microsoft Word lets you save a .docx as PDF, but it handles one file at a time — there's no built-in batch export. For multi-document submissions (applications, proposals, reports with appendices), the workflow is: 1. Convert each .docx to PDF individually 2. Merge the resulting PDFs in the right order 3. Download one combined file PDFFlare's tools handle both steps in your browser without an Office license, which matters for users on Mac without Word, Chromebook users, anyone on a different machine than where Office is installed, or users with the older standalone Word who can't easily batch via macros. ## How to Combine Word Docs into One PDF (Step by Step) 1. **Convert each Word doc to PDF.** Drop each .docx individually into [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf). The tool runs LibreOffice headless on a sandboxed worker — preserves formatting, fonts, headers, footers, and embedded images. Download each PDF. 2. **Open Merge PDF.** Visit [/tools/pdf/merge-pdf](https://pdfflare.com/tools/pdf/merge-pdf). 3. **Drop the converted PDFs in order.** File 1 (cover letter) first, file 2 (resume) second, file 3 (portfolio) third. Drag to reorder if needed. 4. **Click Merge.** Output is one combined PDF in the order you arranged them. Download. 5. **Optional cleanup.** Run through [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) if the combined file is too large to email, or [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) if a signature is required. ## Tips by Use Case ### How to combine Word docs into one PDF for a job application Order matters: cover letter → resume → references → writing samples / portfolio. Convert each in Word to PDF, merge in that exact sequence. Keep the file under 5 MB (most ATS portals reject larger files) — compress if needed. Name the final file clearly:` Smith-Jane-Application.pdf` reads better than `combined.pdf`. ### How to combine Word docs into one PDF for a court filing Court filings often require specific page ordering and a particular cover sheet. Use the same convert → merge flow but include the court's required coversheet PDF as the first file. Some courts also require bookmarks at chapter boundaries — for those, use [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) to add navigation marks before submission. ### How to combine Word docs into one PDF and add page numbers Each individual Word doc had its own page-numbering (page 1 of 5, page 1 of 3, etc.). After merging, those counts are stale. Drop the merged PDF into [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers) to overlay fresh continuous numbering across the whole combined document. ## Tips for Word-to-PDF Quality A few habits that produce cleaner combined PDFs: - **Standardize fonts before converting.** If one Word doc uses Calibri and another uses Arial, the merged PDF has visually inconsistent sections. Pick one font for all docs before converting. - **Match page sizes.** All Letter or all A4. Mixed page sizes look unprofessional in the merged output. - **Update fields before saving.** Word's table-of-contents and cross-reference fields can be stale. Press F9 (or Update Field) on each field before exporting to PDF. - **Embed fonts in the PDF.**Word's Save As PDF dialog has an “ISO 19005-1 compliant (PDF/A)” option that forces font embedding. Useful for cross-machine consistency. ## Common Mistakes - **Wrong order in Merge PDF.** The drop order is the page order. Always preview the result before considering the job done. - **Mixed page sizes.** If one Word doc was Letter and another was A4, the merged PDF has mismatched page sizes. Convert all .docx files with the same Page Setup before merging. - **Forgetting to compress.** Word docs with embedded images often produce 5-15 MB PDFs; ten of them merged is 50-150 MB. Many email systems cap at 25 MB. Compress before sending. - **Saving as .doc instead of .docx.** The legacy .doc format converts less reliably than modern .docx. Save as .docx in Word, then convert. ## Real-World Combine-Word-to-PDF Workflows Five common scenarios where you'd combine multiple Word docs into one PDF: - **Job application packet:** cover letter + resume + references + writing samples, each as its own .docx, all combined into one polished PDF for ATS upload. Order: cover → resume → references → samples. - **Court filing:** coversheet + motion + supporting affidavits + exhibits. Some courts require specific page numbering across the whole packet — re-paginate after merge with [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers). - **Grant proposal:** narrative + budget + biographical sketches + letters of support. Granting agencies usually want one PDF, not 8 attachments. - **Project report bundle:** executive summary + main report + appendices + raw data tables. Combining in chapter order makes a single bookmarked deliverable. - **Contract package:** main agreement + exhibits + schedules. Send as one PDF for signing, then sign once with [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf). ## Privacy: Combine Word Docs Without Uploading Privately PDFFlare's Word to PDF runs LibreOffice headless inside a sandboxed Cloud Run worker — files are processed in memory and deleted on response, never written to disk. Merge PDF runs entirely in your browser via pdf-lib (zero upload). For maximum privacy on confidential drafts (legal filings, HR docs), the merge step is fully local; the Word-to-PDF step is the only network round-trip in the flow. ## Related Tools - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) — convert each .docx to PDF without an Office license. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine the converted PDFs in any order. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the combined file for email. - [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers) — re-paginate the merged PDF with continuous numbering. ## Wrapping Up Combine Word docs into one PDF in two steps: convert each .docx individually with [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf), then drop them into [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) in the right order. No Office subscription, no Acrobat, no app install. The whole flow runs in your browser plus one sandboxed conversion worker and produces a clean combined PDF in under five minutes. --- ## Frequently asked questions **Q: How do I combine multiple Word docs into one PDF for free?** A: Two-step flow without an Office license. (1) Convert each .docx to PDF individually using PDFFlare's Word to PDF — runs LibreOffice headless on a sandboxed worker, preserves fonts and formatting. (2) Drop the converted PDFs into Merge PDF in the order you want, click Merge. Output is one combined PDF. Total time for 3-10 documents: under 5 minutes. No Word, no Acrobat, no app install required. **Q: Can I combine Word docs into a PDF without Microsoft Word?** A: Yes — PDFFlare's Word to PDF runs in your browser without requiring a Word license. The conversion uses LibreOffice on a sandboxed Cloud Run worker (no upload retention; processed in memory and deleted immediately). Especially useful on Mac without Word, on Chromebook, or when you're on a different machine than where Office is installed. **Q: How do I keep page numbers continuous after combining Word docs?** A: Each Word doc's individual page numbering becomes stale after merging — page 1 of file A, page 1 of file B, etc. Drop the merged PDF into PDFFlare's Add Page Numbers tool to overlay fresh continuous numbering across the whole combined document (1, 2, 3... through to the final page). Place the new numbers in the footer or header per your preference. **Q: What if my Word docs have different page sizes?** A: If one document was Letter and another was A4, the merged PDF has mismatched page sizes — visually awkward. Fix before merging: open each .docx, set Page Setup to the same size (typically Letter for US, A4 elsewhere), re-save, then convert to PDF and merge. Or accept the mismatch if it's a draft that doesn't need consistent sizing. **Q: Is the combined PDF too large for email?** A: Word docs with embedded images often produce 5-15 MB PDFs each; ten of them merged is 50-150 MB. Most email systems cap at 25 MB (Gmail, Outlook) or less. Drop the combined PDF into PDFFlare's Compress PDF with the Balanced preset — typically 70%+ size reduction with no visible quality loss. For files over 100 MB, use the Smallest preset. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # PDF/A vs PDF: What's the Difference? (And When You Need Each) URL: https://pdfflare.com/blog/pdf-vs-pdfa-whats-the-difference Published: May 7, 2026 Reading time: 9 min read > PDF/A vs PDF — what's the difference, when to use each. PDF/A is for archival, PDF is for general use. Conversion, validation, and gotchas explained. --- You uploaded a PDF to a government portal and got back “file rejected — must be PDF/A.” Or you're archiving a contract and wondering if regular PDF is enough. Or your compliance team handed you a PDF/A-1b spec and you have no idea what the suffix means. So what's actually different between PDF/A vs PDF, and when do you need the archival variant? In this guide you'll learn the PDF/A vs PDF differences in plain English — what each format guarantees, when you need PDF/A, and how to handle PDFs in long-term workflows using PDFFlare's [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf), [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf), and other tools. PDFFlare doesn't produce PDF/A directly (yet) — but understanding the format helps you decide whether you need it or whether regular PDF is enough. ## What Is PDF/A? PDF/A is the archival variant of PDF, defined by ISO 19005. The “A” stands for Archive. It's a stricter subset of regular PDF designed to guarantee the file will render identically in 10, 50, or 100 years — long after the software that created it has stopped existing. The key restrictions vs regular PDF: - **All fonts must be embedded.** Regular PDF can reference system fonts; PDF/A bundles every font in the file itself, so it renders the same on any system. - **No external dependencies.** No JavaScript, no embedded video, no external image links, no encryption. Everything needed to view the file must be in the file. - **Color managed explicitly.** PDF/A requires either an embedded ICC color profile or a specified output intent — so colors render the same on every monitor and printer. - **Strict metadata.** XMP metadata is required and must follow specific schemas. - **No transparency in older sub-standards.** PDF/A-1 disallows transparent objects; PDF/A-2 and later allow it. ## The PDF/A Sub-Standards PDF/A has multiple sub-standards, each adding features while preserving the archival guarantee: - **PDF/A-1** (2005) — based on PDF 1.4. Most restrictive. Two conformance levels: **1a** (accessible, full structure / tagging) and **1b** (basic, visual fidelity only). - **PDF/A-2** (2011) — based on PDF 1.7. Allows JPEG 2000 compression, transparency, layers, and embedding other PDF/A files. Levels: **2a, 2b, 2u** (b + Unicode mapping). - **PDF/A-3** (2012) — based on PDF 1.7. Like PDF/A-2 but allows embedding ANY file (spreadsheets, source documents, XML data) inside the PDF. Useful for invoicing standards like ZUGFeRD and FacturaE. - **PDF/A-4** (2020) — based on PDF 2.0. Modernized. Drops the 1a/1b/2a/2b distinction; instead has PDF/A-4, PDF/A-4f (with attachments), and PDF/A-4e (engineering with 3D). ## PDF/A vs PDF — Key Differences in Practice ### When to use PDF/A instead of regular PDF Three scenarios where PDF/A is required by spec: - **Government / court filings.** Many US federal courts (PACER), EU court systems, and state archival agencies require PDF/A for filings longer than 1 year. - **Regulated industries.** Pharmaceutical (21 CFR Part 11), medical records (HIPAA-aligned archival), financial recordkeeping (SEC 17a-4), and other regulated industries often mandate PDF/A. - **Long-term contracts.** 50-year real-estate easements, 99-year ground leases, historical document preservation in libraries and museums — anything where rendering must be guaranteed for decades. ### What's the difference between PDF/A-1, 2, 3, and 4? Each newer sub-standard adds features while preserving the archival guarantee. Pick PDF/A-1b for maximum backwards compatibility (oldest readers handle it), PDF/A-2b for modern features (transparency, layers, JPEG 2000), PDF/A-3 if you need to embed other files, PDF/A-4 if you want PDF 2.0 features and don't need 1a/1b accessibility-vs-basic distinction. When in doubt, ask your compliance team which conformance level they require. ### How to convert PDF to PDF/A PDFFlare doesn't produce PDF/A directly yet — this is on the roadmap. Until it ships, the easiest paths are: (1) Adobe Acrobat Pro's Save As PDF/A option (paid); (2) free PDF24 desktop tool with PDF/A export; (3) LibreOffice's Export As PDF dialog with the PDF/A-1a checkbox enabled. After conversion, PDFFlare's [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) and [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) can still operate on PDF/A files (with the caveat that aggressive compression may invalidate PDF/A conformance — validate with veraPDF or similar after). ## When Regular PDF Is Enough For 95% of everyday use cases, regular PDF works fine. You don't need PDF/A for: - **Email attachments.** Sharing a document this week — PDF is universal, PDF/A adds no benefit. - **Internal documents.** Memos, proposals, shared notes within an organization. Use PDF. - **Web publishing.** Blog post PDFs, white papers, marketing material. Use PDF (often with PDF/UA tagging for accessibility, but not PDF/A). - **Most contracts under 5 years.** Standard PDFs are durable enough; PDF/A is overkill. ## Common Mistakes - **Producing PDF/A then signing it with embedded certificate.** Some signing operations break PDF/A conformance. Always re-validate after signing. - **Compressing PDF/A aggressively.** Heavy lossy compression can change embedded font structure or trigger validator failures. For PDF/A files, use lighter compression and re-validate. - **Converting scanned PDF/A without proper OCR.** PDF/A-1a requires structure / tagging; scans need OCR text layer + structure tags. Run [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) first to add text, then convert to tagged PDF/A. ## How to Validate PDF/A Conformance Use **veraPDF**(free, open source) — the canonical validator. Drop your file in, get a report showing which PDF/A profile it conforms to (or which validation rules it fails). Adobe Acrobat Pro also has a built-in Preflight tool that validates PDF/A. For ad-hoc checks, the file's document properties dialog usually shows “PDF/A-1b” (or whatever variant) in the Description tab. ## Privacy: PDF/A Tools and Privacy Most PDF/A converters run server-side because the conformance checks are expensive. For confidential documents, prefer desktop tools (LibreOffice, Adobe Acrobat Pro) over web converters. PDFFlare's companion tools (Compress, Merge, Edit, Sign) all preserve privacy — Compress runs in a sandboxed worker that never persists files; Merge / Edit / Sign run entirely client-side. ## Related Tools - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink PDF/A files (use mild compression to preserve conformance). - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multiple PDF/A files into one archive. - [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) — add a text layer to scanned PDF/A files for searchability. - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — annotate PDF/A files (re-validate conformance after). ## Wrapping Up PDF/A vs PDF: regular PDF for everyday use, PDF/A when you have a regulatory or archival requirement spanning years to decades. PDF/A locks fonts, forbids external dependencies, and guarantees identical rendering forever. Use it when required; use regular PDF when not. PDFFlare's companion tools (Compress, Merge, OCR) work on PDF/A files but should be used with awareness — aggressive operations can invalidate conformance, so validate with veraPDF after. --- ## Frequently asked questions **Q: What's the difference between PDF and PDF/A?** A: PDF is the general-purpose format used everywhere. PDF/A is the archival variant defined by ISO 19005 — a stricter subset that guarantees the file will render identically in 50+ years. PDF/A requires all fonts to be embedded, forbids external dependencies (no JavaScript, no embedded video, no external image links), requires explicit color management, and mandates strict XMP metadata. Use PDF/A when you have an archival or regulatory requirement spanning years to decades; use regular PDF for everyday work. **Q: When do I need PDF/A instead of regular PDF?** A: Three scenarios where PDF/A is required by spec: (1) government/court filings (many US federal courts, EU court systems, state archival agencies require it for filings longer than 1 year); (2) regulated industries (pharmaceutical 21 CFR Part 11, HIPAA archival, SEC 17a-4 financial recordkeeping); (3) long-term contracts and historical preservation (50-year easements, 99-year ground leases, museum/library archival). **Q: What's the difference between PDF/A-1, PDF/A-2, PDF/A-3, and PDF/A-4?** A: Each newer sub-standard adds features while preserving the archival guarantee. PDF/A-1 (2005, based on PDF 1.4) is most restrictive. PDF/A-2 (2011, PDF 1.7) allows transparency, JPEG 2000, layers. PDF/A-3 (2012) allows embedding ANY file inside the PDF, used for invoicing standards like ZUGFeRD. PDF/A-4 (2020, based on PDF 2.0) is modernized. For maximum backwards compatibility pick PDF/A-1b; for modern features pick PDF/A-2b; for embedded attachments pick PDF/A-3. **Q: How do I convert a regular PDF to PDF/A?** A: Three free options: (1) LibreOffice — File → Export As PDF, check the PDF/A-1a checkbox in the dialog; (2) PDF24 desktop tool on Windows — has built-in PDF/A export; (3) Adobe Acrobat Pro — File → Save As Other → Archivable PDF (paid). PDFFlare doesn't currently produce PDF/A directly (on the roadmap). After conversion, validate with veraPDF (free, open source) to confirm conformance. **Q: Will compressing a PDF/A file break its conformance?** A: Possibly — aggressive compression can change embedded font structure or trigger PDF/A validator failures. Use mild compression on PDF/A files (PDFFlare's Compress PDF with the High Quality preset rather than Smallest), and re-validate with veraPDF after compression. For files where PDF/A conformance is mandatory, avoid compression entirely or run validation in your build pipeline to catch any breaks. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # Best Free PDF Editor in 2026 (Honest Comparison, No Paywalls) URL: https://pdfflare.com/blog/best-free-pdf-editor-2026 Published: May 7, 2026 Reading time: 10 min read > Best free PDF editor in 2026 — honest comparison of PDFFlare, Smallpdf, iLovePDF, Sejda, PDF24. Pick the right one for your use case, no paywalls. --- Search “best free PDF editor” and you'll get a list of articles that all somehow rank Adobe Acrobat Pro as the “best free” option — even though it's $25/month. Or they shill the same handful of services that lock real features behind paywalls and call themselves free. So what's the actual best free PDF editor in 2026, and which one fits your specific use case? In this guide you'll get an honest comparison of PDFFlare, Smallpdf, iLovePDF, Sejda, PDF24, and PDFescape — each compared on real free-tier functionality (not bait-and-switch), privacy posture, and use-case fit. We'll be direct about [PDFFlare's Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) strengths and limitations, and recommend competitors where they're genuinely better. The goal is to help you pick correctly, not to crown one winner. ## What “Free PDF Editor” Actually Means The phrase covers very different things: - **Annotation** — highlighting, sticky notes, drawings on top of the existing document. - **Text editing** — modifying the actual text of the PDF (replacing words in existing paragraphs). - **Form filling** — typing into form fields or blank lines. - **Signing** — adding handwritten or typed signatures. - **Page operations** — merging, splitting, rearranging, rotating. - **Format conversion** — to/from Word, JPG, etc. Most “PDF editor” tools handle some combination but not all. Annotation and signing are easy; true text editing (replacing existing text in paragraphs) is hard and rare on the free tier. ## Best Free PDF Editor — How the Tools Stack Up ### What's the best free PDF editor for annotation? PDFFlare's Edit PDF is the clear winner for pure annotation work — highlights, sticky notes, freehand drawing, text overlays, shapes, all in your browser, files never upload, no daily limit. Smallpdf and iLovePDF have similar annotation features but require sign-in for daily-limit-free use; Sejda allows 3 free annotations per day before paywalling. PDF24 is desktop-only on Windows. PDFescape is older but still works for browser-based annotation, with watermarks on free output. ### What's the best free PDF editor for signing? Tie between PDFFlare's [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) and Smallpdf for free signing — both let you draw, type, or upload signatures, place anywhere on any page. PDFFlare runs entirely in your browser (signature never leaves your machine); Smallpdf uploads to their servers (privacy tradeoff). For everyday signing, PDFFlare; for occasional use where features like signature requests matter, Smallpdf or DocuSign's free tier. ### What's the best free PDF editor for true text replacement? Honest answer: most free options are weak here. True text editing (re-flowing paragraphs, replacing words in existing content) requires reconstructing the PDF's internal structure, which is computationally expensive. Free options: **LibreOffice Draw** (desktop, free, handles single-line text replacement well); **Sejda** (web, free for files under 200 pages but limited to 3 tasks per hour); **PDFescape**(basic text replacement on existing text). For PDFFlare currently: text overlays (adding new text) work great via Edit PDF; replacing existing text in paragraphs isn't supported (yet). For frequent true-text-edit needs, LibreOffice Draw on desktop is the genuine free winner. ### What's the best free PDF editor for page operations? PDFFlare wins on breadth — Merge, Split, Rotate, Rearrange, Remove Pages, Add Page Numbers — all free, no daily limits, browser-based. iLovePDF and Smallpdf match the feature set but with daily-task limits (3-5 per day on free tier). Sejda allows page operations free for files under 50 MB / 200 pages. PDF24 is Windows desktop only but matches all of the above. ## Privacy Comparison For sensitive documents (HR, legal, internal financials, personal records), where your file goes matters: - **PDFFlare** — most tools run client-side (Edit, Sign, Merge, Split, Rearrange). Compress and Word-to-PDF use a sandboxed Cloud Run worker that processes in memory and deletes immediately. No persistent storage of user files. - **Smallpdf**— files upload to their servers, processed there, “deleted within 1 hour.” Free tier limited to 2 tasks per day. - **iLovePDF** — same upload model, files stored 2 hours per their privacy policy. Free tier 3 tasks per hour. - **Sejda** — uploads to servers, deleted after 7 hours. Free tier 3 tasks per hour, 200-page limit. - **PDF24** — desktop install runs entirely local on Windows. Strong privacy. No web version with the same feature set. - **PDFescape** — uploads to servers, free output watermarked. ## Picking the Right Tool by Use Case - **Annotating a PDF in your browser, no install, no signin:** PDFFlare Edit PDF. - **Signing a PDF without uploading:** PDFFlare Sign PDF. - **Replacing existing text in a paragraph:** LibreOffice Draw (free desktop) or Sejda (web, with limits). - **Heavy daily use without sign-in:** PDFFlare. No daily limits, no account required. - **One-off compression / conversion:** PDFFlare Compress PDF or Word to PDF. - **Already on Windows desktop:** PDF24 for offline-first workflows. ## Common Mistakes Picking a Free Editor - **Confusing “free trial” with “free.”** Adobe Acrobat, Foxit, Nitro all advertise free trials but expect paid subscription after 7-30 days. - **Picking by SEO ranking.** The top results often pay for placement. Read the privacy policy before uploading sensitive documents. - **Ignoring rate limits.**Free tiers with hidden “3 tasks per hour” limits block your work mid-session. PDFFlare has no per-day limits across its tools. - **Trusting watermark-free output without verification.**Some “free” tools silently watermark output (PDFescape, certain Sejda operations). Test with a throwaway file first. ## Privacy: PDFFlare's Stance PDFFlare is built on a client-side-first principle. Every tool that CAN run in your browser does (Edit, Sign, Merge, Split, Rearrange, Rotate, Remove Pages, OCR is server-side because Tesseract is heavy). Files never upload for the client-side tools. The two server-side tools (Compress PDF, Word to PDF) process in memory and delete immediately — no persistence. Combined with the no-signin and no-daily-limit posture, this makes PDFFlare a privacy-strong default for everyday PDF work. ## Related Tools - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — annotation, drawing, text overlay, shapes. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — typed, drawn, or uploaded signatures. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multiple PDFs. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — three quality presets. ## Wrapping Up The best free PDF editor in 2026 depends on what “edit” means for your work. For annotation, signing, page operations, and most everyday tasks, PDFFlare is the strongest choice — browser-based, no sign-in, no daily limits, privacy-strong. For true text replacement (replacing words in existing paragraphs), LibreOffice Draw on desktop is the honest winner. Pick by use case, not by SEO ranking. --- ## Frequently asked questions **Q: What's the best free PDF editor in 2026 with no daily limits?** A: PDFFlare. No daily task limits, no signin required, no watermarks on output, browser-based for most tools (Edit PDF, Sign PDF, Merge, Split, Rearrange all run client-side). Smallpdf and iLovePDF cap free users at 2-5 tasks per day; Sejda allows 3 tasks per hour. PDFFlare's no-rate-limit posture is the practical edge for daily users. **Q: What's the best free PDF editor for true text replacement?** A: Honest answer — most free tools are weak here. True text editing (replacing words in existing paragraphs, not just overlaying new text) requires reconstructing the PDF's internal structure. Free options that actually work: LibreOffice Draw (desktop, handles single-line text replacement well), Sejda (web, free for files under 200 pages but limited to 3 tasks per hour), and PDFescape (basic text replacement on existing text). PDFFlare's Edit PDF currently handles overlay text and annotations, not in-place text replacement. **Q: Which free PDF editor is most privacy-respecting?** A: PDFFlare runs most tools client-side (Edit PDF, Sign PDF, Merge, Split, Rearrange — files never leave your browser). The two server-side tools (Compress PDF, Word to PDF) use sandboxed Cloud Run workers that process in memory and delete files immediately. Smallpdf, iLovePDF, Sejda all upload files to their servers (deleted within 1-7 hours per their policies). PDF24 desktop on Windows is fully offline. For maximum privacy: PDFFlare for browser tools, PDF24 for desktop. **Q: Is Adobe Acrobat Pro really the best PDF editor?** A: Adobe Acrobat Pro has the most features and the best true-text-editing — but it's $25/month, not free. Most articles ranking it as 'best free PDF editor' confuse the free trial with permanent free access. For everyday PDF editing tasks (annotation, signing, page operations, conversion), free tools (PDFFlare, LibreOffice Draw, PDF24) handle the work fine. Acrobat is worth the subscription only for heavy daily PDF work, certified e-signatures, or specific Acroform field requirements. **Q: Are free PDF editors safe for confidential documents?** A: Depends on the tool. Tools that run client-side (PDFFlare's Edit/Sign/Merge/Split/Rearrange, PDF24 desktop) keep files on your machine — safe for confidential work. Tools that upload files to servers (Smallpdf, iLovePDF, Sejda, PDFescape) carry privacy risk: their privacy policies typically retain files for 1-7 hours during processing, and a server breach during that window would expose your file. For confidential documents, prefer client-side tools. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Make a Resume in PDF (Free Templates, No Word Required) URL: https://pdfflare.com/blog/make-a-resume-in-pdf-free-templates Published: May 7, 2026 Reading time: 9 min read > Make a resume in PDF — pick a free template, fill it in, save as PDF, sign and compress. Browser-based, no Word, no sign-in. --- To make a resume in PDF that hiring managers will actually open, you need a polished file format — job applications expect a clean PDF resume, not a .docx attachment. The recipient won't want a Word doc that re-flows differently on their machine, a Google Doc share link that requires sign-in, or a screenshot. They want a PDF — clean, consistent, and frozen at the version you sent. In this guide you'll learn how to make a resume in PDF using free templates, then convert and clean it up using PDFFlare's [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf), [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf), and [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) tools. The whole flow — template → filled doc → PDF → polished application — runs free and in your browser without a Word license or design app. ## Where to Get Free Resume Templates Five reliable free sources: - **Google Docs Template Gallery** — five built-in resume templates, free with a Google account, edit in your browser. Most popular: Serif, Coral, Spearmint. - **Microsoft Word Templates** — accessible via File → New in Word, or free at templates.office.com (no Word license required to view). Modern, professional layouts. - **Canva** — hundreds of free resume templates (and many paid). Drag-drop editing in browser; export as PDF. - **Resume.io / NovoResume free tiers** — guided builders with industry-specific templates, free for basic exports. - **LaTeX templates (Overleaf)** — for technical roles. Open-source resume templates (Awesome-CV, ModernCV, AltaCV) compile to clean PDF directly. Steeper learning curve but best visual results. ## How to Make a Resume in PDF (Step by Step) 1. **Pick a template.** Google Docs, Canva, or Microsoft Word for most users; Overleaf LaTeX for technical roles. 2. **Fill it in.** Name + contact at the top, summary line, work experience (most recent first, 3-5 bullets per role), education, skills. Keep to one page for early-career, two pages max for senior roles. 3. **Save / export as PDF.** Google Docs: File → Download → PDF. Word: File → Save As → PDF. Canva: Share → Download → PDF Standard. 4. **Optional: convert from .docx in browser.** If you don't have Word installed, drop the .docx into [PDFFlare's Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) and download as PDF without a license. 5. **Compress.** Many resumes export at 5-15 MB due to embedded fonts and any photos. ATS portals often cap at 2-5 MB. Drop the PDF into [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) with the Balanced preset — typically 70%+ reduction with no visible quality loss. 6. **Save the final file.** Use a clear filename: `Smith-Jane-Resume.pdf` beats `resume_v3_FINAL.pdf`. ## Resume PDF Best Practices ### How to make a resume in PDF for ATS compatibility Applicant Tracking Systems (ATS) parse resume text before a human reads them. Three ATS-friendly habits: (1) avoid fancy graphics and multi-column layouts — ATS can't reliably read column 2 of a 2-column resume; (2) embed standard fonts (Arial, Calibri, Times New Roman) — exotic fonts break parsing; (3) use real bullet points, not custom symbols. Word and Google Docs templates labeled “simple” or “ATS-friendly” follow these rules. ### How to make a resume in PDF without Microsoft Word Use Google Docs (free, browser-based) — File → New From Template → Resume. Or use Canva. Both produce clean PDFs. For .docx-format requests (where the recipient demands editable Word), build in Google Docs then File → Download → Microsoft Word (.docx). ### How to add a signature to a resume PDF Most modern resumes don't need a signature — your typed name suffices. For traditional roles (legal, government, executive search), drop the completed resume into [PDFFlare's Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) and add a typed signature in a handwriting-style font, or upload a transparent-PNG signature image. ## Common Mistakes - **Sending a Word doc.** The recipient sees different fonts and re-flowed content. Always export to PDF. - **Using a complex template that breaks ATS parsing.** Multi-column layouts, custom graphics, exotic fonts — all kill ATS scores. Pick simple templates for big-company applications. - **Embedding a profile photo.**US employers should not consider photos for legal reasons; many ATSes auto-reject resumes with photos. Skip the photo unless you're in Europe / Asia where it's expected. - **Filename like “resume_final.pdf”.** Rename to “FirstName-LastName-Resume.pdf” — recruiters scan filenames in their inbox; yours should be clear from a glance. - **Forgetting to compress.** 15 MB resume PDFs get rejected by ATS portals. Run through Compress PDF before submission. ## Picking the Right Resume Format for Your Industry Different industries expect different resume styles: - **Corporate / business roles:**clean single-column layout, Times New Roman or Calibri, black-and-white, max 2 pages. Use Word Templates → “Modern” or Google Docs “Serif.” - **Tech / engineering:** dense, info-rich, often 1-2 pages. Open-source LaTeX templates (Awesome-CV, ModernCV) compile to elegant PDFs. Skill matrices and project lists matter more than visual flair. - **Creative / design:** visual flair is allowed and often expected. Canva templates shine here — color, custom fonts, illustrative elements. ATS-incompatible but creative roles often skip ATS in favor of portfolio-driven hiring. - **Academic / research:** traditional CV format, no graphics, full publication list, often 5-10 pages. LaTeX is dominant. - **Government / regulated:** formal, often required to follow specific templates (USAJobs federal resume format). Check the job posting for explicit format requirements. ## Privacy: Resume Building Locally Your resume contains personal info — phone, address, history. Building it in Google Docs / Canva keeps the data on those services per their privacy policies. PDFFlare's post-build tools (Compress PDF, Sign PDF, Word to PDF) process the file with strict privacy controls — Sign PDF runs entirely in your browser (signature never leaves), Compress runs in a sandboxed worker that deletes the file immediately. For maximum privacy, build the resume in LibreOffice on desktop (offline) and use PDFFlare for the polish step. ## Related Tools - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) — convert your .docx resume to PDF without Word. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the resume PDF for ATS uploads. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — add a signature to a traditional-format resume. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine resume + cover letter + portfolio into one application PDF. ## Wrapping Up Make a resume in PDF in three steps: pick a free template (Google Docs, Word templates, Canva, or Overleaf for technical roles), fill it in, export to PDF. Use PDFFlare's [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) if you don't have Word, then [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) to shrink for ATS uploads. The entire flow is free and produces a polished, ATS-friendly PDF. --- ## Frequently asked questions **Q: How do I make a resume in PDF for free?** A: Three-step flow without paid tools. (1) Pick a free template — Google Docs Template Gallery, Microsoft Word Templates (templates.office.com), Canva, or Overleaf for LaTeX-based technical resumes. (2) Fill in your details. (3) Export as PDF — File → Download → PDF in Google Docs, File → Save As → PDF in Word, Share → Download → PDF in Canva. If you don't have Word installed, drop the .docx into PDFFlare's Word to PDF tool and convert in your browser. Total cost: zero. **Q: How do I make my resume PDF ATS-friendly?** A: Three rules. (1) Avoid multi-column layouts — most ATS can't reliably read column 2 of a 2-column resume. (2) Embed standard fonts (Arial, Calibri, Times New Roman) — exotic fonts break parsing. (3) Use real bullet points, not custom symbols. Word and Google Docs templates labeled 'simple' or 'ATS-friendly' follow these rules. Skip embedded photos, graphics, and tables of skills with progress bars — all of these confuse ATS parsing. **Q: Should my resume PDF have a signature?** A: Most modern resumes don't need a signature — your typed name suffices. For traditional roles (legal, government, executive search) or formal academic CVs, drop the completed resume into PDFFlare's Sign PDF tool and add a typed signature in a handwriting-style font, or upload a transparent-PNG signature image. The added signature creates a more formal appearance without requiring you to print, sign, and re-scan. **Q: How big should my resume PDF be?** A: Under 2 MB is ideal for ATS uploads. Many ATS portals reject files over 5 MB. If your resume PDF is over the limit (often the case when templates have embedded images or many fonts), drop it into PDFFlare's Compress PDF with the Balanced preset — typically 70%+ size reduction with no visible quality loss. Final file should be 200 KB-1 MB. **Q: Should I attach the resume PDF or share a link?** A: Attach the PDF directly. Sharing a link (Google Drive, Dropbox) requires the recipient to click through, possibly sign in, and trust the link source — adds friction and looks less professional. Direct PDF attachment is the universal expectation. Name the file clearly: FirstName-LastName-Resume.pdf, not 'resume_v3_FINAL.pdf'. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert WebP to JPG (Free, Online, No Quality Loss) URL: https://pdfflare.com/blog/convert-webp-to-jpg Published: May 7, 2026 Reading time: 7 min read > Convert WebP to JPG in your browser — drop the file, pick quality, download. Free, no upload, batch supported. Plus when to convert (and when not to). --- When you need to convert WebP to JPG, the trigger is usually annoying — you right-clicked an image on a website to save it, got back a .webp file, and now none of your photo apps want to open it. Or you uploaded an image to a portal and the upload silently failed because the system expected JPG. WebP is a great web format — smaller than JPG, supports transparency — but compatibility with desktop apps is still patchy. In this guide you'll learn how to convert WebP to JPG in your browser using [PDFFlare's Convert Image tool](https://pdfflare.com/tools/image/convert-image) — drop the WebP, pick JPG, download. No upload to a server, no signup, batch supported. Plus when to convert (and when not to), and how to handle transparent WebP files cleanly. ## Why Some Tools Don't Open WebP WebP was Google's 2010 challenger format, but adoption was slow: - **Older Windows photo viewers**(pre-Windows 10 build 1809) don't open WebP natively. - **Older Mac Preview** (pre-Big Sur) had no WebP support; current versions do. - **Many enterprise apps** hard-code JPG/PNG accept lists. - **Some printers**can't print WebP directly without conversion. - **Most PDF generators** expect JPG/PNG; embedding WebP in PDFs has compatibility risks. Modern macOS, modern Windows, all browsers, and most modern image apps handle WebP. But for the long tail of older systems, converting to JPG is the universal fallback. ## How to Convert WebP to JPG (Step by Step) 1. **Open Convert Image.** Visit [/tools/image/convert-image](https://pdfflare.com/tools/image/convert-image). 2. **Drop the WebP file** (or several at once for batch conversion). 3. **Pick JPG as output format.** 4. **Set quality.** 85-95 is the sweet spot for most photos — smaller than the source WebP usually, with no visible quality loss. 5. **Pick background color** for any transparent regions (white default). 6. **Click Convert.** Each WebP becomes JPG locally in your browser. Download. ## Tips by Use Case ### How to convert WebP to JPG without losing quality Set JPG quality to 95 or higher. The result will still be larger than the original WebP (because WebP is more efficient), but visual quality will be preserved. Note: every WebP→JPG conversion adds JPG compression artifacts on top of WebP's, so if quality is critical, start from a lossless source (PNG, TIFF) when possible instead of converting an already-compressed WebP. ### How to batch convert WebP to JPG online PDFFlare's Convert Image accepts batches up to a few hundred files. Drop them all together, set output format and quality, click Convert, get a zip back. Useful when downloading a folder of WebP images from a website to use in a Word document or PowerPoint that doesn't handle WebP. ### How to convert transparent WebP to JPG JPG can't carry transparency, so the alpha channel needs to be filled with a solid color. PDFFlare's Convert Image lets you pick the fill color (white default; or black, gray, custom hex). If transparency matters, convert to PNG instead of JPG — same file, transparency preserved, larger file size. ## When NOT to Convert WebP to JPG - **The destination supports WebP.** Modern web pages, recent OSes, and most current apps handle WebP natively. Don't convert if you don't need to — JPG is bigger and lossy. - **You need transparency.** Converting transparent WebP to JPG flattens the alpha channel. If the target needs transparency, convert to PNG instead. - **Quality is critical.** Each recompression (WebP → JPG) adds artifacts. For archival or print-bound use, get the original lossless source instead. ## WebP-to-JPG Quality Settings JPG quality affects both file size and visible artifacts: - **Quality 95-100:** archival-quality JPG output. Larger files, no visible artifacts. Use when the JPG will be re-edited later. - **Quality 85-95:** sweet spot for most use cases. Indistinguishable from quality 100 to a casual eye, ~30% smaller files. - **Quality 70-85:** visibly slight artifacts on close inspection. Acceptable for web thumbnails and casual sharing. - **Quality below 70:** obvious blocking artifacts in skies and skin tones. Avoid unless extreme size constraints. PDFFlare's Convert Image lets you set the quality slider explicitly. Default to 90 for general use; bump to 95 for archival; drop to 75-80 only when file size is critical. ## Common Mistakes - **Renaming .webp to .jpg.** The bytes are still WebP-encoded; only the extension changed. Apps that inspect file content (most modern ones) reject the renamed file. Real conversion is required. - **Converting at quality 50 to save size.** JPG at quality 50 has visible blocking artifacts. 85-95 is the right range for most uses. - **Forgetting EXIF metadata.**WebP files often carry less metadata than JPG; the conversion to JPG can't add metadata that wasn't there. If GPS / camera info matters, check the source first. ## Why WebP Exists in the First Place A bit of context on why you're hitting WebP files in the wild: - **Google created WebP in 2010** to reduce web image bandwidth — claiming ~30% smaller files than JPG at equivalent visual quality. - **Adoption was slow until ~2020,** when major browsers all shipped support. Today most websites serve WebP as the primary image format with JPG fallback for old browsers. - **Most native apps lagged behind.** macOS Preview added WebP support in Big Sur (2020); Windows Photos added it in Windows 10 build 1809 (2018). Older versions still don't handle WebP. - **The compatibility gap is shrinking.** By 2026, almost all modern apps handle WebP natively. The pain point is mostly older systems and certain enterprise apps with hardcoded JPG/PNG accept lists. ## Privacy: Convert Locally PDFFlare's Convert Image runs entirely in your browser via WebAssembly codecs. WebP files are decoded locally, JPGs encoded locally, downloaded directly. No upload to PDFFlare's servers, no third-party API call. Important when converting screenshots with personal info, product photos with competitive sensitivity, or anything you can't send to a stranger's server. ## Related Tools - [Convert Image](https://pdfflare.com/tools/image/convert-image) — WebP ↔ JPG ↔ PNG ↔ AVIF ↔ HEIC. - [Compress Image](https://pdfflare.com/tools/image/compress-image) — fine-tune file size after conversion. - [Resize Image](https://pdfflare.com/tools/image/resize-image) — match dimensions to the target use case. - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim before converting to save processing time. ## Wrapping Up Convert WebP to JPG when the destination doesn't support WebP natively (older systems, ATS portals, PDF generators, some print pipelines). Don't convert if the destination handles WebP — JPG is bigger and lossy. PDFFlare's [Convert Image tool](https://pdfflare.com/tools/image/convert-image) handles the conversion in your browser, batch up to a few hundred files at once, no upload. --- ## Frequently asked questions **Q: How do I convert WebP to JPG online for free?** A: Open PDFFlare's Convert Image tool, drop your WebP file (or several at once for batch conversion), pick JPG as the output format, set quality (85-95 for most photos), pick a background color for any transparent regions, click Convert. The conversion runs in your browser via WebAssembly codecs — no upload, no signin, batch supported. Download the JPG and you're done. **Q: Can I convert WebP to JPG without losing quality?** A: Set JPG quality to 95 or higher. The result will still be larger than the original WebP (because WebP is more efficient), but visual quality is preserved with artifacts only visible under heavy magnification. Note that every WebP→JPG conversion adds JPG compression artifacts on top of WebP's existing artifacts; for archival use, get the original lossless source (PNG, TIFF, RAW) instead of converting an already-compressed WebP. **Q: Why does my Windows PC not open WebP files?** A: Older Windows photo viewers (pre-Windows 10 build 1809) don't open WebP natively. Modern Windows 10 and 11 handle WebP fine. If your version is old, two fixes: (1) update Windows; (2) convert the WebP to JPG using PDFFlare's Convert Image tool first, then open the JPG. Most modern image apps on every OS handle WebP, so the issue is usually older systems or specific enterprise apps with hardcoded JPG/PNG accept lists. **Q: What happens to WebP transparency when converting to JPG?** A: JPG can't carry transparency, so the alpha channel is filled with a solid color. PDFFlare's Convert Image lets you pick the fill color (white default; or black, gray, custom hex). If transparency matters for your use case, convert WebP to PNG instead of JPG — same source file, transparency preserved, larger file size due to PNG's lossless compression. **Q: Should I convert WebP to JPG by default?** A: No — only when the destination doesn't support WebP. Modern web pages, current OSes, and most modern apps handle WebP natively, and WebP is 30% smaller than JPG. Convert when: targeting older systems, ATS portals that reject WebP, PDF generators expecting JPG, print pipelines. Don't convert when: the destination handles WebP — JPG is bigger and lossy with no compatibility benefit. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert SVG to PNG Online Free (No Install Needed) URL: https://pdfflare.com/blog/convert-svg-to-png-online-free Published: May 7, 2026 Reading time: 7 min read > Convert SVG to PNG free online — pick output size, transparency, and DPI. Browser-based, no install. Plus how to handle SVG complexity gotchas. --- You have a logo, an icon, or an illustration as an .svg file. The tool you're trying to use doesn't accept SVG — it expects PNG. Or you want to use the SVG in a context where vector rendering won't work (older PowerPoint, some email clients, embedded into a non-vector design tool). The job: convert SVG to PNG without installing Inkscape. In this guide you'll learn how to convert SVG to PNG online free using PDFFlare's tools and alternatives. SVG conversion is more nuanced than JPG/PNG conversion because the source is vector (mathematical descriptions of shapes) and the target is raster (pixel grid) — you have to pick the output resolution explicitly. ## What's the Difference Between SVG and PNG? - **SVG** — Scalable Vector Graphics. XML-based description of shapes (lines, curves, fills). Resolution-independent: scales perfectly to any size without quality loss. Files are tiny for simple graphics. - **PNG** — raster bitmap with transparency. Fixed resolution: scaling beyond the source size produces blurry/pixelated output. Universal compatibility — every device opens it. When converting SVG to PNG, you're committing to a specific resolution. Pick the output size based on where the PNG will be used: 512×512 for app icons, 1024×1024 for high-DPI displays, 2048×2048+ for print. ## How to Convert SVG to PNG (Step by Step) 1. **Open Convert Image.** Visit [/tools/image/convert-image](https://pdfflare.com/tools/image/convert-image). Or use any browser's built-in screenshot of an SVG opened directly in the browser. 2. **Drop the SVG file.** 3. **Pick PNG as output format.** 4. **Set output dimensions.**SVGs don't have inherent pixel sizes — you pick what makes sense. 512px for icons, 1080px for social media, 2400px+ for print. 5. **Pick transparency option.** Keep transparent background (default for icons / logos) or fill with a solid color. 6. **Click Convert.** Download the PNG. ## SVG Conversion Tips by Use Case ### How to convert SVG to PNG with transparent background Most SVGs already have transparent backgrounds (the space outside the shapes is empty). PNG supports transparency natively. PDFFlare's Convert Image preserves the transparency by default — output is a transparent PNG ready to drop on any colored background. ### How to convert SVG to PNG at high resolution SVGs are vector, so the “original size” is meaningless — you pick the output resolution. For print at 300 DPI, a 4-inch logo needs 1200×1200px PNG. For retina displays, 2x your CSS size (a 200px CSS logo becomes 400px PNG). When in doubt, generate at 2048×2048 — large enough for most uses, can be downscaled later without quality loss. ### How to convert complex SVGs with embedded fonts SVGs with embedded CSS fonts can fail to render fonts correctly during conversion if the font isn't available in the converter's environment. Two fixes: (1) convert text-to-paths in the SVG before conversion (in Inkscape: Path → Object to Path; in Figma: Outline Stroke); (2) embed the font via base64 in the SVG. PDFFlare's Convert Image works best with text-to-paths SVGs. ## Alternative Tools for SVG → PNG For complex SVGs (filters, gradients, embedded raster images), specialized tools sometimes give better results: - **Browser-direct.** Open the SVG in Chrome / Firefox / Safari, take a screenshot at the desired zoom level. Crude but reliable for quick tasks. - **Inkscape** (free desktop). File → Export → PNG. Most reliable for complex SVGs with effects and embedded fonts. - **Figma / Sketch**. Paste the SVG, export selection as PNG at 1x / 2x / 3x scales. Designer-friendly. - **Command line:** `rsvg-convert -w 1024 -h 1024 input.svg -o output.png` (free, scriptable, batch-friendly). Best for build pipelines. ## Common Mistakes - **Converting at low resolution then scaling up.**Once raster, scaling up produces blurriness. Convert at the largest size you'll use; downscale as needed. - **Ignoring SVG complexity.**SVGs with filters (blur, drop shadows, complex masks) sometimes don't convert cleanly in browser-based tools. Test with a copy first before committing. - **Forgetting transparency.** If you convert with a white background but need transparency for the target (drop on a colored page), the result has visible white edges. Pick transparent background unless you specifically need solid. - **Picking JPG instead of PNG.** JPG can't carry transparency. Always PNG (or WebP) when converting SVG. ## SVG to PNG by Use Case Different uses call for different output settings: - **App icon:** 1024×1024 PNG with transparent background. iOS and Android both scale this down to all required sizes automatically. - **Website logo:** 2x your CSS display size (e.g., 400×100 for a 200×50 CSS logo). PNG transparent. Or convert to WebP for ~30% smaller files at the same visual quality. - **Social media profile pic:** 1080×1080 PNG. Most platforms downscale; starting at this size avoids upscaling artifacts. - **Print-bound logo (business card, flyer):** 300 DPI × inches. A 2-inch logo on print needs 600px PNG; a 6-inch banner needs 1800px+. Test print at the actual size before committing. - **Embedded in PDF:**match the PDF's DPI (typically 72-150 DPI for screen-bound, 300 for print). PDFFlare's [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) handles dropping the converted PNG onto the page. ## Privacy: Convert Without Uploading PDFFlare's Convert Image runs entirely in your browser via WebAssembly codecs and a built-in SVG renderer. SVG files (often containing logos, brand assets, or sensitive design work) never leave your machine. Especially valuable for in-house brand assets that shouldn't be uploaded to third-party design services. ## Related Tools - [Convert Image](https://pdfflare.com/tools/image/convert-image) — SVG to PNG (and PNG ↔ JPG ↔ WebP ↔ AVIF). - [Resize Image](https://pdfflare.com/tools/image/resize-image) — adjust the resulting PNG dimensions. - [Compress Image](https://pdfflare.com/tools/image/compress-image) — shrink PNG file size for web use. - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim the converted PNG. ## Wrapping Up Convert SVG to PNG online free using PDFFlare's [Convert Image tool](https://pdfflare.com/tools/image/convert-image) for simple SVGs (logos, icons, illustrations without complex effects). For complex SVGs with filters, embedded fonts, or extensive raster content, Inkscape on desktop or rsvg-convert on the command line gives more reliable results. Always pick the output resolution explicitly — once raster, you can't scale up without quality loss. --- ## Frequently asked questions **Q: How do I convert SVG to PNG online for free?** A: Open PDFFlare's Convert Image tool, drop your SVG, pick PNG as output, set output dimensions explicitly (SVGs don't have inherent pixel sizes — pick what makes sense for the destination: 512px for icons, 1080px for social media, 2400px+ for print), pick transparency option (default keep transparent, or fill with a solid color), click Convert. The conversion runs in your browser without upload. **Q: What size should I convert my SVG to?** A: Pick based on destination. App icons: 512×512 or 1024×1024 for high-DPI. Social media: 1080×1080 for Instagram, 1200×630 for Facebook/LinkedIn. Print at 300 DPI: 4-inch logo = 1200×1200. Retina displays: 2x your CSS size. When in doubt, generate at 2048×2048 — large enough for most uses and can be downscaled later without quality loss. Never scale UP from a smaller PNG; once raster, scaling up produces blurriness. **Q: Why does my SVG with custom fonts look wrong after conversion?** A: SVGs with embedded CSS fonts can fail to render fonts correctly during conversion if the font isn't available in the converter's environment. Two fixes: (1) convert text-to-paths in the SVG before conversion — in Inkscape: Path → Object to Path; in Figma: Outline Stroke. This bakes the text into vector shapes that don't depend on font availability. (2) Embed the font via base64 inside the SVG file. PDFFlare's Convert Image works most reliably with text-to-paths SVGs. **Q: What's the best tool for converting complex SVGs to PNG?** A: For complex SVGs with filters, gradients, embedded raster images, or extensive effects, browser-based converters sometimes give imperfect results. Best free alternatives: Inkscape (desktop, handles every SVG feature reliably — File → Export → PNG), Figma or Sketch (paste SVG, export at 1x/2x/3x), or rsvg-convert on the command line for build pipelines. PDFFlare's Convert Image is fastest for simple SVGs (logos, icons, basic illustrations). **Q: Can I convert SVG to JPG instead of PNG?** A: Possible but rarely the right choice. JPG can't carry transparency — converting transparent SVG to JPG fills the empty space with solid color (usually white), which breaks logos and icons that need to sit on colored backgrounds. PNG preserves transparency and handles sharp edges (lines, text) better. Convert SVG to PNG by default; convert to JPG only if the destination specifically requires JPG and the source has no transparency. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Encrypt a PDF for Email (Free, Browser-Based) URL: https://pdfflare.com/blog/how-to-encrypt-pdf-for-email Published: May 7, 2026 Reading time: 8 min read > Encrypt a PDF for email with a password — free, in your browser, no Adobe Acrobat. Plus when password protection is enough vs when you need real encryption. --- When you encrypt a PDF for email, the goal is simple: don't let anyone but the intended recipient read it. You're emailing a contract, an invoice, or a legal document with personal information. Email is inherently insecure — messages pass through multiple servers in plain text unless both ends use TLS, and even with TLS the file sits unencrypted in the recipient's mailbox forever. The fix: password-protect the PDF before attaching, send the password through a separate channel. In this guide you'll learn how to encrypt a PDF for email using [PDFFlare's Password Protect PDF tool](https://pdfflare.com/tools/pdf/password-protect-pdf) — drop the file, set a password, download the encrypted copy. The whole flow is browser-based, free, and no Adobe Acrobat subscription required. Plus the limits of password-protected PDFs and when you actually need stronger encryption. ## Why Encrypt a PDF for Email? Three real-world risks: - **Mis-typed recipient.** Sent the invoice to _jonh_@company.com instead of_ john_. Without a password, jonh now has it. - **Forwarded chains.** The recipient forwards to a colleague, who forwards to a consultant, who archives it on a personal Gmail. Password protection means each forward needs the password. - **Email account compromise.**If the recipient's account gets breached years later, an unencrypted PDF in the archive is now attacker-readable. Password protection raises the bar from “anyone with the email can read it” to “need the email AND the password.” Out-of-band password sharing (text the password separately, or use a different channel) means email-only attackers can't open the file. ## How to Encrypt a PDF for Email (Step by Step) 1. **Open Password Protect PDF.** Visit [/tools/pdf/password-protect-pdf](https://pdfflare.com/tools/pdf/password-protect-pdf). 2. **Drop your PDF.**Whatever document you're emailing — contract, invoice, ID, financial record. 3. **Set a strong password.** Avoid personal info (birthdays, names). Use a [random password generator](https://pdfflare.com/tools/dev/password-generator) for at-rest documents; for ones the recipient needs to type, use a memorable but uncommon phrase. 4. **Download the encrypted PDF.** The output file is now password-protected — opening requires the password. 5. **Send the password separately.** Text the password to the recipient via SMS, iMessage, Signal, or any non-email channel. Never send the password in the same email as the file. 6. **Attach the encrypted PDF and send.** Recipient opens with their PDF reader, prompted for the password, types it, sees the file. ## Tips for PDF Encryption Workflows ### How to encrypt a PDF for email with strong protection PDFFlare's Password Protect PDF uses AES-128 encryption by default (the PDF spec also supports AES-256). Both are computationally infeasible to brute-force given a strong password. The weak link is always password choice — a weak password (“company123”) is crackable in minutes regardless of underlying algorithm. Use [Password Generator](https://pdfflare.com/tools/dev/password-generator) for random 16+ character passphrases when the recipient can copy-paste rather than type. ### How to encrypt multiple PDFs in batch for email PDFFlare currently encrypts one PDF at a time — for batches, run each through Password Protect PDF individually. Or merge them first into a single combined PDF using [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf), then password-protect the combined file. One password, one attachment. ### How to share an encrypted PDF password securely The whole point of encrypting is that the password travels separately. Three good channels: (1) SMS or iMessage to the recipient's phone; (2) Signal or another secure messenger; (3) phone call. Bad channels: same email thread, Slack DM in a shared workspace where IT can read it, public forum tickets. For maximum security, expire the password (“use this password only for the file I sent today”) and rotate for each new file. ## Limits of Password-Protected PDFs PDF password protection is good but not bulletproof: - **Two passwords exist.** The_ user password_ (required to open) and the_ owner password_ (required to print, copy, edit). Tools can sometimes strip the owner password without the user password, allowing forced printing or copying of the unencrypted content. - **Cracking is possible with weak passwords.** A 6-character lowercase password is crackable in minutes; 8+ chars with mixed case + numbers takes hours. 12+ chars including symbols is computationally infeasible. - **Once decrypted, the recipient has full access.** They can re-save without password, screenshot pages, copy text. PDF encryption protects in transit, not after the recipient opens it. For higher-stakes files (medical records, financial documents at the institutional level, classified government content), use real end-to-end encryption (PGP / GPG email, Signal's file-sharing, encrypted archive containers). Password-protected PDF is sufficient for everyday business confidentiality — invoices, contracts, HR letters — but not for adversarial threat models. ## Common Mistakes - **Sending the password in the same email.** Defeats the entire purpose. Password must travel separately. - **Reusing the same password for many files.** One leak compromises everything. Rotate passwords per file or per recipient. - **Using personal info as the password.** Birthdays, pet names, email handles — attacker-guessable. Random or memorable-passphrase passwords only. - **Forgetting the password yourself.** Once encrypted, the file requires the password to open. Lost password = lost file. Save passwords in a password manager (Bitwarden, 1Password) or a separate secure note. ## Privacy: PDF Encryption Locally PDFFlare's Password Protect PDF runs entirely in your browser via pdf-lib's encryption features. Files are read into memory, encrypted locally, and the encrypted PDF is downloaded directly. No server is involved at any point — PDFFlare never sees the unencrypted file or the password. Open DevTools → Network while encrypting and you'll see zero requests to PDFFlare. This matters when encrypting confidential files — the encryption process itself doesn't become a leak vector. ## Related Tools - [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) — encrypt a PDF with a password. - [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf) — remove password protection (requires the owner password) for files you legitimately own. - [Password Generator](https://pdfflare.com/tools/dev/password-generator) — generate strong random passwords for at-rest file encryption. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multiple files first, encrypt once. ## Wrapping Up Encrypt a PDF for email by password-protecting it with PDFFlare's [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) tool, then send the password through a separate channel (SMS, Signal, phone call). The file is encrypted in transit and at rest in the recipient's mailbox. For higher-stakes adversarial threat models, supplement with real end-to-end encryption tools (PGP, encrypted messaging). For everyday business confidentiality, a strong password on the PDF is enough. --- ## Frequently asked questions **Q: How do I encrypt a PDF for email for free?** A: Use PDFFlare's Password Protect PDF tool. Drop your PDF, set a strong password, download the encrypted copy. The encryption runs in your browser via pdf-lib using AES-128 (the PDF spec also supports AES-256). Send the encrypted PDF as an email attachment, then text or call the recipient with the password through a separate channel. Total cost: zero. No Adobe Acrobat, no install, no signin. **Q: Is PDF password protection actually secure?** A: Strong password + modern PDF encryption (AES-128/256) is computationally infeasible to brute-force. The weak link is always password choice — a weak password ('company123') is crackable in minutes regardless of underlying algorithm. Use a 12+ character password with mixed case, numbers, and symbols, or a random passphrase from PDFFlare's Password Generator. With a strong password, PDF encryption is sufficient for everyday business confidentiality (invoices, contracts, HR documents). **Q: Should I email the password with the encrypted PDF?** A: Never. The whole point of encryption is that the password travels separately from the file. If both go through email, an attacker who breaches the email account gets both. Send the password through SMS, iMessage, Signal, a phone call, or any non-email channel. For maximum security, expire the password ('use this for the file I sent today only') and rotate per recipient. **Q: What if the recipient can't open the encrypted PDF?** A: Three common causes. (1) Wrong password — verify with the recipient. (2) Their PDF reader doesn't support password-protected PDFs (rare; modern Adobe Reader, Preview, Edge, Chrome PDF viewer all do). (3) The PDF was double-encrypted somehow during forwarding. Re-send a fresh encrypted copy with the right password. If consistent failures, ask the recipient what PDF reader they're using and check known compatibility issues. **Q: Is encrypted PDF as secure as PGP-encrypted email?** A: No — PDF password protection is a step up from plaintext but weaker than true end-to-end encryption. PDF encryption protects the file in transit and at rest in the recipient's mailbox, but once the recipient opens it they can re-save without password, screenshot, or copy text. PGP/GPG email encryption uses public-key cryptography with stronger guarantees. For everyday business confidentiality, PDF password protection is enough; for adversarial threat models (whistleblowing, classified content), use PGP, Signal, or encrypted archive containers. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # What Is a HEIC File and Why Does iPhone Use It? (2026 Guide) URL: https://pdfflare.com/blog/what-is-a-heic-file-iphone Published: May 7, 2026 Reading time: 7 min read > What is a HEIC file? Apple's HEIF/HEIC image format saves 50% file size vs JPG. Learn why iPhone uses it, how to open one, and when to convert to JPG. --- You AirDropped photos from an iPhone to a Windows PC and got a folder full of files with the strange .heic extension that nothing on your computer knows how to open. Or you uploaded to a job portal and the upload silently failed because the portal expected JPGs. So what is a HEIC file, why does iPhone insist on producing them, and when should you convert to a more universal format? In this guide you'll learn what is a HEIC file in plain English, why Apple chose it as the iPhone default, how it stacks up against JPG and PNG, and how to handle it on every platform — including converting to JPG using [PDFFlare's Convert Image tool](https://pdfflare.com/tools/image/convert-image) when you need a universally-compatible file. ## What Is a HEIC File, Exactly? HEIC stands for High Efficiency Image Container — Apple's file extension for images stored in the HEIF (High Efficiency Image Format) container format, defined by the Moving Picture Experts Group (MPEG-H Part 12 / ISO/IEC 23008-12). The image data inside is typically encoded with HEVC (H.265), the same compression algorithm used for 4K video streaming. The big advantage: HEIC files are roughly half the size of equivalent-quality JPGs. A photo that's 4 MB as JPG is ~2 MB as HEIC, with no visible quality difference. That space saving compounds — a 64 GB iPhone holding 16,000 HEIC photos would only fit 8,000 JPGs at the same quality. ## Why Does iPhone Use HEIC by Default? ### Why does iPhone use HEIC instead of JPG? Apple switched the default in iOS 11 (2017) to take advantage of the iPhone's hardware HEVC encoder. Same picture, half the storage, faster iCloud uploads, smaller iCloud bills. The trade-off: HEIC isn't universally readable on non-Apple platforms, which is why you sometimes hit walls when sharing. ### How is HEIC different from JPG? HEIC supports modern features JPG can't: 16-bit color depth (vs. JPG's 8-bit, so much better gradients in skies), transparency (alpha channel like PNG), bursts and live photos packaged inside one file, and embedded per-image edit history. JPG is older and simpler — every system on earth opens it, but the file is bigger and the color space is narrower. ### How to open a HEIC file on Windows or Android Windows 10/11 doesn't open HEIC natively but Microsoft offers a free HEIF Image Extension in the Microsoft Store that adds support to Photos and File Explorer. Android handling depends on the manufacturer: newer Samsung, Pixel, and OnePlus phones running Android 12+ open HEIC out of the box; older devices need a third-party viewer. The simplest universal fix: convert to JPG using [PDFFlare's Convert Image tool](https://pdfflare.com/tools/image/convert-image) before sharing. ## When You Should Convert HEIC to JPG - **Uploading to job portals, gov forms, or older websites.** Many backend systems have hardcoded JPG/PNG accept lists that silently reject HEIC. JPG is the safe choice. - **Emailing to people on Windows or older Android.** Half your recipients won't be able to preview a HEIC inline. JPG opens for everyone. - **Editing in software older than 2018.** Photoshop, Lightroom, and modern editors handle HEIC now, but legacy tools (Picasa, older Microsoft Paint) don't. - **Embedding in a website or PDF.**Most web servers and PDF generators expect JPG/PNG. HEIC in a web page won't render in older browsers. ## When to Keep HEIC - **iCloud Photo Library.**Storage is literally half. Don't convert just for the sake of standardization. - **Sharing between Apple devices.** Mac, iPad, and iPhone all read HEIC natively — converting adds a step with no benefit. - **Archiving for the future.** HEIC quality and metadata round-trip without re-encoding loss; JPG decoding/re-encoding always degrades quality slightly. ## How to Convert HEIC to JPG (Three Ways) 1. **On Mac:** drag the .heic into Preview, then File → Export → Format: JPEG. One file at a time unless you batch via Automator. 2. **On iPhone before sharing:** Settings → Camera → Formats → Most Compatible. iPhone now saves new photos as JPG. Or in Photos, select → Share → Save to Files → choose JPG export option. 3. **In your browser:** drop the file into [PDFFlare's Convert Image tool](https://pdfflare.com/tools/image/convert-image), pick JPG as output. Works on every OS, no install, and the file never uploads. ## Common Mistakes - **Converting and then re-converting.** Each round-trip loses quality. Convert once, keep the JPG. - **Renaming .heic to .jpg.**Just changing the extension doesn't actually convert the file — it's still HEIC bytes with a JPG label. Software that opens by inspection (every modern tool) will still treat it as HEIC. - **Forgetting EXIF data.** HEIC carries location and capture metadata. Most converters preserve EXIF, but a few strip it. Verify before archiving important photos. ## Tips for Working With HEIC Files A few practical patterns that save time: - **Stop converting individual files.** If you frequently send HEIC photos to non-Apple users, switch the iPhone to JPG capture by default (Settings → Camera → Formats → Most Compatible). New photos are JPG; existing iCloud HEICs stay HEIC. - **Convert in batches when needed.**Drop 10 HEICs into PDFFlare's Convert Image, pick JPG output, get 10 JPGs back. Faster than converting one at a time in Preview. - **Preserve EXIF when archiving.** Some converters strip GPS and capture metadata; PDFFlare preserves EXIF by default. Verify in your destination archive that location and timestamp made the trip. ## Privacy: Convert Without Uploading PDFFlare's [Convert Image](https://pdfflare.com/tools/image/convert-image) tool runs entirely in your browser via the File API and a WebAssembly HEIC decoder — your photos never leave your machine. Open DevTools → Network while converting and you'll see zero requests to PDFFlare. Important for personal photos that have GPS coordinates, recognizable faces, or sensitive context. ## Related Tools - [Convert Image](https://pdfflare.com/tools/image/convert-image) — convert HEIC to JPG, PNG, or WebP. Browser-based, no upload. - [Compress Image](https://pdfflare.com/tools/image/compress-image) — after converting HEIC to JPG, file sizes can balloon. Compress for sharing. - [Resize Image](https://pdfflare.com/tools/image/resize-image) — iPhone photos are huge (12-48 MP). Resize before uploading to portals or social. - [Photo to PDF](https://pdfflare.com/tools/pdf/jpg-to-pdf) — once converted to JPG, bundle multiple iPhone photos into a single PDF. ## Wrapping Up HEIC is a smart default for iPhone storage and AirDrop between Apple devices, but a hassle when you need universal compatibility. Convert to JPG only when you have to — uploading to a portal, sharing with Windows users, embedding in a webpage. PDFFlare's [Convert Image tool](https://pdfflare.com/tools/image/convert-image) handles the conversion in your browser without uploading the photo, which matters for photos with location data or recognizable faces. --- ## Frequently asked questions **Q: What is a HEIC file in plain English?** A: HEIC stands for High Efficiency Image Container — Apple's file extension for images stored in HEIF format using HEVC (H.265) compression. The result is a photo that looks identical to a JPG but takes about half the storage space. iPhones save photos as HEIC by default since iOS 11 (2017) to fit more photos in the same iCloud space and faster AirDrop transfers. **Q: Why doesn't my Windows PC open HEIC files?** A: Windows 10 and 11 don't support HEIC out of the box because Apple's HEVC codec requires a license. Microsoft offers a free HEIF Image Extension in the Microsoft Store that adds support to Photos and File Explorer; install it once and HEIC files open natively. Or convert to JPG before transferring — PDFFlare's Convert Image tool does it in your browser without uploading. **Q: Should I convert all my iPhone photos from HEIC to JPG?** A: No — only convert when you need cross-platform compatibility (sharing with Windows users, uploading to portals that don't accept HEIC, embedding in older software). HEIC stored in your iCloud Library takes half the space of JPG and round-trips edits without quality loss. For everyday use, leave them as HEIC; convert only when you have to. **Q: What's the difference between HEIC and HEIF?** A: HEIF (High Efficiency Image Format) is the container format defined by MPEG; HEIC is Apple's specific file extension for HEIF files using HEVC compression. Other implementations of HEIF use different extensions (.heif, .avif). For practical purposes, HEIC files are a subset of HEIF — every HEIC is a HEIF, but not every HEIF is HEIC. iPhone produces HEIC specifically. **Q: Can I edit a HEIC file on Windows?** A: Yes — install Microsoft's HEIF Image Extension from the Microsoft Store, then any image editor on Windows can open HEIC: Photoshop, Lightroom, Affinity Photo, GIMP. Older tools (Paint.NET, ancient Microsoft Paint) may still struggle. If you need universal compatibility, convert to JPG with PDFFlare's Convert Image tool before editing. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # AVIF vs WebP vs JPG: Which Image Format in 2026? URL: https://pdfflare.com/blog/avif-vs-webp-vs-jpg-2026 Published: May 7, 2026 Reading time: 8 min read > AVIF vs WebP vs JPG in 2026 — compression, browser support, and when to use each. Plus how to convert between them in your browser, no signup. --- The AVIF vs WebP vs JPG debate is the central image-format question on the modern web. Three formats are fighting for the “default” slot: JPG (the venerable 1992 standard), WebP (Google's 2010 challenger), and AVIF (the newcomer based on the AV1 video codec, finalized 2019). They all deliver compressed lossy color images, but the file sizes for equivalent quality differ by 30-50%, and browser support varies. So in 2026, which one should you actually use? In this guide you'll learn how AVIF vs WebP vs JPG stack up on compression efficiency, browser support, and encoding speed; when to use each; and how to convert between them in your browser using [PDFFlare's Convert Image tool](https://pdfflare.com/tools/image/convert-image). Spoiler: the answer is “it depends on your delivery context,” but a clear winner emerges for most use cases. ## The Three Contenders - **JPG** — 1992. Lossy compression based on DCT (Discrete Cosine Transform). 8-bit color, no transparency. Universal compatibility — every device since 1995 reads it. Filesize baseline. - **WebP**— 2010. Google's VP8-derived format. Lossy and lossless modes, alpha transparency, 8-bit color. ~30% smaller than JPG at equivalent quality. Wide browser support since 2020. - **AVIF** — 2019. Based on AV1 video codec. Lossy and lossless, alpha, up to 12-bit color (HDR-capable). ~50% smaller than JPG, ~20% smaller than WebP. Browser support arrived 2020-2022. ## How AVIF vs WebP vs JPG Compares on Compression A representative test: a 4032×3024 (12 MP) iPhone photo encoded at “high quality” settings: - JPG (quality 85): ~2.5 MB - WebP (quality 80): ~1.7 MB (~32% smaller) - AVIF (quality 60): ~1.2 MB (~52% smaller) Visual quality at these settings is nearly identical to a trained eye — the differences are statistical. AVIF wins more decisively on photographic content with smooth gradients (skies, skin tones); WebP's advantage shrinks on noisy detail-heavy images. ## Browser Support in 2026 ### Should I use AVIF or WebP in 2026? As of 2026, AVIF support has reached ~95% globally (Chrome, Edge, Firefox, Safari 16.4+, modern mobile browsers). WebP support is essentially universal at 99%+. JPG is 100%. For greenfield web projects targeting modern browsers, AVIF is now safe as a primary format with a WebP/JPG fallback via `` source negotiation. For maximum-compatibility delivery (email, embedded documents, ancient enterprise software), JPG is still the universal choice. ### When to use JPG over AVIF/WebP Three scenarios where JPG still wins: - **Email attachments.**Many email clients (especially older Outlook on Windows) can't render AVIF or WebP inline. - **Embedded in PDFs / Office docs.** Most PDF generators and Word/PowerPoint embed JPG natively; WebP/AVIF inside a PDF is not universally supported. - **Print pipelines.** Print drivers and prepress tools usually expect TIFF or JPG, not modern web formats. ### How browser support for AVIF compares to WebP WebP arrived earlier and reached universal support ~2020. AVIF crossed the 90% threshold in 2023, hit 95% in 2025. Today the gap matters only for the long tail of users on outdated devices: a small fraction of users on iOS 15 or earlier, ancient Android, or enterprise-managed Windows installs locked to old Chromium versions. For 95% of web traffic, AVIF is ready. ## Encoding Speed Tradeoff AVIF encoders are computationally expensive — encoding a 12 MP photo takes 5-30 seconds depending on quality target and encoder settings. WebP encodes in ~1 second. JPG in milliseconds. For a build pipeline that processes 1000 images, AVIF can extend the build by hours. For a one-off blog post hero image, the speed difference is irrelevant. ## Recommendations by Use Case - **Web hero / banner images:** AVIF with WebP and JPG fallbacks via picture element. Best performance for users on capable browsers. - **Email attachments + ad-hoc sharing:** JPG. Universal compatibility wins. - **Photos with transparency (logos, UI):** WebP or AVIF (both support alpha; PNG is the legacy answer but is much larger). - **HDR / 10-bit color photography:** AVIF is the only mainstream format with proper 10/12-bit support. - **Quick iteration during design work:** JPG for speed; switch to AVIF for production export. ## How to Convert Between Formats PDFFlare's [Convert Image tool](https://pdfflare.com/tools/image/convert-image) handles all three formats bidirectionally — JPG ↔ WebP ↔ AVIF, plus PNG and HEIC. Drop the source, pick the target format, set quality, download. Conversion happens entirely in your browser via WebAssembly codecs; nothing uploads. After converting, run through [Compress Image](https://pdfflare.com/tools/image/compress-image) to fine-tune quality vs. file size. ## Common Mistakes - **Re-encoding lossy → lossy.** Converting JPG to WebP to AVIF stacks compression artifacts. Always start from the highest-quality source available (TIFF, PNG, original RAW) when re-encoding. - **Picking quality 100.**AVIF and WebP quality 100 isn't lossless — for true losslessness, use the explicit lossless mode. Quality 85-95 hits the best size/quality tradeoff for photos. - **Forgetting the fallback for older browsers.** If you ship AVIF as your primary format, always include a WebP or JPG fallback via ``. A small fraction of visitors will need it. ## Picking the Right Format for Your Use Case A practical decision tree: - **Modern web app, performance-critical:** AVIF + WebP fallback + JPG fallback via picture element. Maximum efficiency, full compatibility. - **Static site / blog with images:** WebP. Simpler than triple-fallback, near-universal support, ~30% smaller than JPG. - **Email attachments / shared docs:** JPG. Compatibility wins. - **Logos / icons / UI screenshots with transparency:** PNG (or WebP if size matters and your destination supports it). JPG can't carry transparency. - **Photography portfolio with HDR:** AVIF. Only mainstream format with proper 10/12-bit color support; matters for HDR-shot iPhone and mirrorless camera content. ## Privacy: Convert Locally Image conversion in PDFFlare runs in your browser — no server is involved, the image never uploads. Important when converting photos with personal context (faces, GPS, private documents) where you'd rather not hand the file to a third party. Open DevTools → Network while converting to verify. ## Related Tools - [Convert Image](https://pdfflare.com/tools/image/convert-image) — JPG ↔ WebP ↔ AVIF ↔ PNG ↔ HEIC, all bidirectional. - [Compress Image](https://pdfflare.com/tools/image/compress-image) — fine-tune quality after format conversion. - [Resize Image](https://pdfflare.com/tools/image/resize-image) — match dimensions to the target use case before re-encoding. - [PNG vs JPG vs WebP comparison](https://pdfflare.com/blog/png-vs-jpg-vs-webp-comparison) — older companion piece focused on lossless vs lossy trade-offs. ## Wrapping Up AVIF vs WebP vs JPG in 2026: AVIF wins on compression and is ready for production web use; WebP is the universally-supported middle ground; JPG is the safe choice when compatibility matters more than file size. For most modern web projects, AVIF + JPG fallback is the right answer. PDFFlare's [Convert Image tool](https://pdfflare.com/tools/image/convert-image) handles the conversion without uploading your image. --- ## Frequently asked questions **Q: Is AVIF better than WebP in 2026?** A: On compression, yes — AVIF produces files about 20% smaller than WebP at equivalent visual quality, and ~50% smaller than JPG. On browser support, AVIF reached ~95% global coverage in 2025 (up from ~80% in 2023), close to WebP's near-universal support. The remaining gap matters mostly for users on outdated devices or enterprise-managed browsers locked to old Chromium versions. For most modern web projects, AVIF is now ready as a primary format with a WebP/JPG fallback. **Q: Should I still use JPG in 2026?** A: Yes, in three contexts: (1) email attachments, where many email clients can't render AVIF or WebP inline; (2) embedded images in PDFs, Word documents, or PowerPoint, which expect JPG; (3) print pipelines, which want TIFF or JPG and don't recognize web formats. For those use cases, JPG is still the right answer despite the file-size penalty. **Q: Why is AVIF encoding so slow compared to JPG?** A: AVIF is based on the AV1 video codec, which uses computationally expensive techniques (variable block partitioning, advanced motion compensation, complex entropy coding) to achieve its compression efficiency. Encoding a 12 MP photo takes 5-30 seconds in AVIF vs. milliseconds in JPG. For a build pipeline that processes thousands of images, the speed cost is real; for one-off conversions, it's irrelevant. **Q: How do I serve AVIF with a fallback for older browsers?** A: Use the HTML picture element: wrap your image in , then list source elements in priority order (AVIF first, then WebP, then JPG as the inner img). The browser picks the first format it supports. This way modern browsers get the smallest format, and the small fraction of users on older browsers still get a working JPG. PDFFlare's Convert Image tool produces all three formats from one source, so you can ship the trio. **Q: Does converting JPG to AVIF improve quality?** A: No — once an image is JPG, the lossy compression artifacts are baked in. Converting to AVIF just changes the encoding without restoring lost detail; the file gets smaller but the visual quality is the same. To get true AVIF quality benefits, encode AVIF from the original lossless source (RAW, TIFF, PNG) — never from a JPG intermediate. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # PDF vs DOCX: When to Use Each (Complete 2026 Guide) URL: https://pdfflare.com/blog/pdf-vs-docx-when-to-use-each Published: May 7, 2026 Reading time: 9 min read > PDF vs DOCX — when to use each, key differences, and how to convert between them. Sharing, archiving, collaboration, accessibility — all covered. --- Every document workflow eventually hits the same PDF vs DOCX fork in the road: do I send this as PDF or DOCX? They look the same when printed, but they're fundamentally different file formats with different strengths. Sending the wrong one means either an editable Word document showing up where you wanted a frozen final, or a read-only PDF showing up where the recipient needed to edit. So when do you reach for each? In this guide you'll learn the PDF vs DOCX differences in plain language — what each format is for, when to use each, how to convert in either direction using [PDFFlare's Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) and [PDF to Word tools](https://pdfflare.com/tools/pdf/pdf-to-word), and the common pitfalls people hit when they pick the wrong one. ## What Is Each Format For? PDF (Portable Document Format) was designed by Adobe in 1993 to solve one specific problem: how do you send a document that looks identical on every device, every OS, every printer? PDF embeds its own fonts, locks layout, and renders the same on a 1995 Macintosh as on a 2026 Pixel. It's a presentation format, not a working document. DOCX (Office Open XML) is Microsoft's 2007 replacement for the legacy .doc binary format. It's a working document — designed to be edited, not just read. The XML inside describes content, structure, and style as separate concerns; layout reflows based on the reader's page size, default font, and viewing preferences. ## When to Use PDF vs DOCX (The Quick Answers) ### When to use PDF vs DOCX for sharing finalized documents PDF wins. Once a contract is signed, an offer letter accepted, an invoice issued, the document should never change. PDF is read-only by default and locks layout — the recipient sees exactly what you saw. DOCX in this context is a leak risk: if the recipient accidentally edits and resaves, the “final” copy is quietly modified. ### When to use PDF vs DOCX for collaborative editing DOCX wins. Track changes, comments, suggesting mode, version history — Word and Google Docs handle DOCX natively with full collaboration tooling. PDF collaboration exists (annotation, sticky notes, comments) but it's weaker — there's no structured suggesting mode, and merging conflicting edits is painful. ### When to use PDF vs DOCX for archival storage PDF wins, specifically PDF/A. The archival variant (PDF/A-1, PDF/A-2, PDF/A-3) embeds all fonts and guarantees the file will render identically in 50 years. DOCX depends on the version of Word and installed fonts at retrieval time — Microsoft's XML schema can shift across versions. For long-term archives (legal, government, regulated industries), PDF/A is the right call. ### When to use PDF vs DOCX for resumes and applications Resumes are split: many ATS (Applicant Tracking Systems) parse DOCX more reliably than PDF, so larger companies often request DOCX for that reason. Smaller companies and recruiters mostly want PDF because it guarantees the formatting they see matches what you designed. Send what they ask for; if no preference, PDF is the safer default for visual fidelity, with a DOCX as an attached fallback. ## Key Technical Differences - **Layout:** PDF locks; DOCX reflows. - **Editability:** PDF is read-only by default (editing requires conversion or specialized tools); DOCX is editable everywhere. - **File size:** PDF tends to be larger (embedded fonts, rendered images); DOCX is smaller on text-heavy documents. - **Searchability:** Both support full-text search. Scanned PDFs need OCR first; DOCX is always text-searchable. - **Form filling:** PDF supports Acroform fields; DOCX supports content controls. Both let users fill blanks. - **Accessibility:** Both support tagging for screen readers, but DOCX is easier to make accessible because the structure is preserved naturally. - **Universal viewing:** PDF wins — every device has a PDF reader. DOCX requires Word, Google Docs, LibreOffice, or Pages. ## How to Convert Between PDF and DOCX 1. **DOCX → PDF:** Open the .docx in Word → File → Save As → PDF. Or use [PDFFlare's Word to PDF tool](https://pdfflare.com/tools/pdf/word-to-pdf) in your browser — no Word license required, no install. Ideal for one-offs or when you don't have Office. 2. **PDF → DOCX:** Open the PDF in Word (recent Word versions auto-convert) or use [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word). Quality depends on the PDF: text-based PDFs convert cleanly; scanned PDFs need [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) first to extract text. ## Common Pitfalls - **Sending DOCX where you meant PDF.** Recipient receives an editable document, accidentally modifies it, and you've lost your audit trail. Always export to PDF for final-version sends. - **Sending PDF where DOCX was needed.** Recipient can't edit, gets stuck. Common in applications and forms where the receiver expects to customize. - **Converting back and forth repeatedly.** Each round trip introduces formatting artifacts — line breaks shift, fonts substitute, tables warp. Convert once when needed; archive both originals. - **Forgetting password protection.** Sensitive PDFs go out without passwords. Run them through [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) before sending. ## The PDF vs DOCX Decision in Practice A few practical heuristics from the trenches: - **Default to PDF for everything you send externally.** External recipients rarely have your fonts; PDF embeds them. They might not have Word; PDF readers are universal. Send DOCX only when explicitly asked. - **Default to DOCX for everything you send internally for review.** Track changes and comments work natively. Reviewers edit in place, return the marked-up file. Once approved, export final version to PDF for distribution. - **Always archive both versions of important documents.** DOCX gives you future editability if changes are needed; PDF gives you the frozen visual record. Storage is cheap; rebuilding lost source files isn't. - **Convert once, archive both.**Don't re-convert back and forth — every round-trip introduces formatting artifacts. ## Privacy: Local Conversion Without Upload Sending a confidential document through an online converter means handing it to a stranger's server. PDFFlare's Word to PDF runs LibreOffice headless inside a sandboxed Cloud Run worker that processes the file in memory and deletes it the moment the response returns; PDF to Word uses the same secure pipeline. For maximum-privacy conversions of HR documents, contracts, and internal memos, this matters. ## Related Tools - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) — DOCX → PDF, browser-based, no Office required. - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word) — PDF → DOCX with format preservation. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the converted PDF for email. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — sign the final PDF version of a DOCX before sending back. ## Wrapping Up PDF vs DOCX is a question of what stage of the document lifecycle you're at. DOCX while editing, collaborating, drafting. PDF when finalized, sent, archived. Both have their place; sending the wrong one creates friction. PDFFlare's [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) and [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word) tools handle the conversion in either direction without an Office subscription. --- ## Frequently asked questions **Q: Should I send a resume as PDF or DOCX?** A: Send what the recipient asks for. Many large-company ATS (Applicant Tracking Systems) parse DOCX more reliably than PDF because the structured XML is easier to extract. Smaller companies and recruiters mostly want PDF for guaranteed visual fidelity. If no preference is stated, PDF is the safer default — it preserves your formatting exactly. Some applicants attach both formats to cover all cases. **Q: What's the difference between PDF and DOCX?** A: PDF is a presentation format — it locks layout, embeds fonts, and looks identical on every device, but is read-only by default. DOCX is a working document format — designed to be edited, with content and style as separate concerns, reflowing based on the reader's page size and fonts. Use PDF for finalized documents you don't want changed; use DOCX while drafting and collaborating. **Q: Can I convert PDF to DOCX without losing formatting?** A: Mostly yes for text-based PDFs (those created from Word, Google Docs, or other text-source apps). Layout, fonts, and images round-trip cleanly. Scanned PDFs convert poorly because the source is bitmap, not structured text — run OCR PDF first to add a text layer, then convert. PDFFlare's PDF to Word tool handles both cases. Note that some complex layouts (multi-column, heavy tables) may need light cleanup after conversion. **Q: Why does my DOCX look different on different computers?** A: DOCX reflows based on installed fonts, page size defaults, and viewer version. If your reviewer has different fonts installed, Word substitutes — and substitution can shift line breaks, page breaks, and the overall layout. PDF avoids this by embedding the fonts directly in the file. For consistent appearance across recipients, send PDF; for collaborative editing where reflow is acceptable, send DOCX. **Q: Should I archive my documents as PDF or DOCX?** A: PDF, specifically PDF/A (the archival variant). PDF/A guarantees the file will render identically in 50 years by embedding all fonts and dropping anything that depends on external state (no JavaScript, no embedded video, no external fonts). DOCX depends on the version of Word and installed fonts at retrieval time — Microsoft's XML schema can shift between versions. For long-term legal, government, or regulated archives, PDF/A is the clear choice. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Compare Two PDFs Side by Side (Free, No Install) URL: https://pdfflare.com/blog/compare-two-pdfs-side-by-side Published: May 7, 2026 Reading time: 8 min read > Compare two PDFs side by side — visually with split-screen, by text content with OCR + diff, or by checksum. 4 free methods, no Adobe subscription. --- You're reviewing a contract amendment. Your colleague sent “v3 final” but you've already been working from “v2 final-final.” Are they the same document with the same edits? Different documents with different changes? You need to compare two PDFs — ideally side by side — and see what changed without eyeballing every paragraph. In this guide you'll learn four free ways to compare two PDFs without an Adobe Acrobat subscription: visual split-screen comparison in your browser, text-content diff using [PDFFlare's Text Diff](https://pdfflare.com/tools/text/text-diff) tool after running [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf), byte-level checksum comparison via [File Checksum](https://pdfflare.com/tools/dev/file-checksum), and a quick page-count + filesize sanity check. Pick the method that matches what you actually need to confirm. ## Why You Need to Compare Two PDFs Three common scenarios: - **Contract amendments** — comparing v2 and v3 to find which clauses changed. - **Document deduplication** — confirming two files are byte-identical before deleting one. - **Translation review** — comparing the original and translated PDF for completeness. ## Method 1: Visual Side-by-Side in Your Browser Open both PDFs in two browser tabs, then drag the tabs out into separate windows positioned side by side. Most modern browsers (Chrome, Edge, Safari, Firefox) let you scroll independently — eyeball page-by-page. Faster than any specialized tool when you have a rough idea of where the changes are. Limitation: you have to know what to look for; subtle text changes buried in long paragraphs are easy to miss. ## Method 2: Text-Content Diff (Find What Changed Word-by-Word) 1. **Extract text from both PDFs.**If they're text-based PDFs (created from Word or Google Docs), copy-paste the text directly. If they're scans, run [PDFFlare's OCR PDF tool](https://pdfflare.com/tools/pdf/ocr-pdf) on each first to get a searchable text version. 2. **Open Text Diff.** Visit [/tools/text/text-diff](https://pdfflare.com/tools/text/text-diff) and paste the text from PDF 1 in the left pane, PDF 2 in the right. 3. **Read the diff output.** Added text is highlighted green; removed text is red. Lines that changed appear with both versions stacked. This is the most powerful comparison method when you need to know exactly which words changed — useful for contract review, technical document edits, and translation diffs. Works regardless of layout differences; only content matters. ## Method 3: Byte-Level Identity Check (Are They the SAME File?) When all you need to know is whether two PDFs are byte-for-byte identical (e.g., archive deduplication, confirming a download wasn't corrupted), use file checksums: 1. Drop PDF 1 into [PDFFlare's File Checksum tool](https://pdfflare.com/tools/dev/file-checksum). Note the SHA-256. 2. Drop PDF 2. Note its SHA-256. 3. If the hashes match, the files are byte-identical (compare two pdfs at the binary level — guaranteed equal). If they differ, even one byte is different. This catches things visual comparison can't — embedded metadata changes, re-saved with different compression settings, font subsetting differences. Doesn't tell you WHAT changed, only WHETHER something did. ## Method 4: Quick Sanity Checks (Page Count + File Size) Before doing detailed comparison, do the cheapest checks first. Open both PDFs and look at: - **Page count** — different page counts mean substantive structural changes. - **File size** — order-of-magnitude differences usually mean different documents entirely. - **Document title / author / creation date** in the PDF metadata (Properties dialog) — useful for confirming the source. If page count, size, and metadata all match, deeper comparison (Methods 2 or 3) is worth the time. ## Method-Specific Tips ### How to compare two PDFs that are scans Visual comparison works only if you know what changed. For scan-vs-scan, the right move is OCR both PDFs first via [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) (turns the bitmap pages into searchable text), then run Text Diff. OCR errors will appear as “changes” even when the underlying paper is identical, so allow a few false positives in the diff output. ### How to compare two PDFs that are signed/encrypted Encrypted PDFs need to be unlocked before comparison. Run them through [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf) first (you need the owner password). Signed PDFs can be compared but the signature blocks themselves will appear as differences — that's expected; ignore the signature region in your diff review. ### How to compare two PDFs visually with markup Open both side by side, then use [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) to highlight the changes you find on one of them as you spot them. Builds a visual record of what changed for later sharing. ## Common Mistakes - **Trusting visual comparison alone.** Subtle text changes (single-word substitutions in long paragraphs) are easy to miss by eye. Use Method 2 (text diff) for any high-stakes comparison. - **Comparing scans without OCR first.** Bitmap PDFs have no extractable text; trying to text-diff them produces nothing. - **Comparing PDFs with different encryption.** Same content + different passwords produces different byte-level hashes. Decrypt first if you want a fair byte-level comparison. ## When Each Comparison Method Is Worth Your Time A decision matrix to pick the right approach: - **Quick “are these the same file?”:** File Checksum. Two SHA-256s, side by side, instant answer. 10 seconds total. - **Contract redline review:** Text Diff after extracting both PDFs. Word-level diff catches substitutions that visual comparison misses. - **Layout-level review (catalog, brochure):** Visual side-by-side in two browser windows. Text-content diff misses image and layout changes. - **Translation completeness check:** Page-count + word-count comparison first; full text diff only if the source-and-translated word counts are wildly different. - **Forensic / legal comparison:** Combine all three — checksum identity, then full text diff, then visual side-by-side. The triangulation catches every type of change. ## Privacy: Compare Without Uploading Either File File Checksum runs entirely in your browser via Web Crypto. Text Diff is also browser-based. The only tool in this flow that touches a server is OCR PDF (uses a sandboxed Cloud Run worker because OCR is CPU-intensive); files are processed in memory and deleted on response. For comparing sensitive contracts or internal documents, use Methods 1 + 3 which are 100% local. ## Related Tools - [Text Diff](https://pdfflare.com/tools/text/text-diff) — paste text content, get word-level diff. - [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) — extract text from scanned PDFs before diffing. - [File Checksum](https://pdfflare.com/tools/dev/file-checksum) — byte-level identity check via SHA-256. - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — annotate comparisons as you find them. ## Wrapping Up To compare two PDFs effectively, pick the method that matches what you need to confirm: visual side-by-side for spot checks, text diff for finding word-level changes, byte-level checksums for byte identity, or a quick metadata sanity check before deeper review. PDFFlare's [Text Diff](https://pdfflare.com/tools/text/text-diff) plus [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) covers the deepest comparison need without an Acrobat subscription. --- ## Frequently asked questions **Q: How do I compare two PDFs side by side for free?** A: Three free methods, depending on what you need to confirm: (1) visual comparison — open both PDFs in two browser tabs, drag the tabs into separate windows positioned side by side, scroll independently. Fastest for spot checks. (2) Text-content diff — extract text from both PDFs (use OCR PDF on scans), paste into PDFFlare's Text Diff tool, get word-level color-coded changes. Best for finding subtle text edits. (3) Byte-level checksum — drop both PDFs into File Checksum, compare SHA-256 hashes. Tells you whether the files are byte-identical (fastest) but not what changed. **Q: How do I find the differences between two PDF text contents?** A: Extract text from both PDFs (copy-paste from the PDF reader for text-based PDFs; run OCR PDF on scans), then paste both versions into PDFFlare's Text Diff tool — left pane for PDF 1, right pane for PDF 2. The output highlights added text in green and removed text in red, line by line. Far more reliable than eyeballing two long documents side by side, especially for finding word-level substitutions buried in long paragraphs. **Q: Can I compare two scanned PDFs?** A: Not directly — scanned PDFs are bitmaps with no extractable text. Run both through PDFFlare's OCR PDF tool first to convert each scan into a searchable PDF with a real text layer. Then text-diff the extracted text using Text Diff. OCR errors will appear as 'changes' even when the underlying paper is identical, so allow for some false positives in the diff output and visually confirm the changes that matter. **Q: What's the fastest way to confirm two PDFs are identical?** A: Compute the SHA-256 hash of each using PDFFlare's File Checksum tool. If the hashes match, the files are byte-for-byte identical — guaranteed equal at the binary level, regardless of what's inside. If the hashes differ, even a single byte is different (could be content, could be metadata, could be a re-saved compression setting). This is the fastest path to a definitive yes-or-no answer when you don't care about WHAT changed, just WHETHER something did. **Q: Does PDFFlare have a dedicated PDF comparison tool?** A: Not yet — PDFFlare currently provides the building blocks (OCR PDF + Text Diff + File Checksum) that cover most comparison use cases together. A dedicated visual-diff PDF tool that highlights changes between two PDFs side-by-side is on the roadmap. For now, the Text Diff workflow handles word-level changes well, byte-level checksums confirm identity, and visual side-by-side in two browser tabs handles layout-level review. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Make Image Background Transparent (PNG, Free) URL: https://pdfflare.com/blog/make-image-background-transparent Published: May 7, 2026 Reading time: 8 min read > Make image background transparent — remove white or solid backgrounds, save as transparent PNG. Free methods for logos, product photos, signatures. --- You have a logo on a white square that needs to sit on a colored background. Or a signature scan that needs the page texture removed. Or a product photo that should float on any color page. The job is the same: make image background transparent and save as PNG. Three free paths get you there, and the right one depends on how clean your edges are. In this guide you'll learn how to make image background transparent for logos, signatures, and product photos using free tools. Then how to use [PDFFlare's Resize Image](https://pdfflare.com/tools/image/resize-image), [Compress Image](https://pdfflare.com/tools/image/compress-image), and [Convert Image](https://pdfflare.com/tools/image/convert-image) tools to clean up the resulting transparent PNG for web, print, or document embedding. PDFFlare's tool suite doesn't include AI background removal (yet), so this guide honestly covers the right tools for the job — wherever they live. ## Why Transparent Backgrounds Matter - **Logos on colored backgrounds** — a logo with a white square around it looks unprofessional on any non-white page. - **Signatures over documents** — a handwritten signature scan needs to overlay PDF content cleanly, not block it with a white box. - **Product photos** — e-commerce sites usually require pure white or transparent backgrounds for product imagery. - **Stickers, icons, UI elements**— anything that's meant to look like a shape, not a rectangle. ## Three Methods to Make Image Background Transparent ### Method 1: AI background removal (best for photos) Services like remove.bg and Adobe's background remover use AI to detect the foreground subject and erase the background, even with messy edges and complex colors. Free tier usually allows a few downloads per month at reduced resolution; paid tier for full-res, batch, and unlimited. This is the right choice for product photos with detail and shadow, where manual edge tracing is impractical. ### Method 2: Manual paint-out (best for logos and clean edges) For images with clean, solid-colored backgrounds (a logo on white, a signature scan), free desktop tools handle this easily: - **Photopea** (browser-based, free) — Magic Wand tool → click white → Delete → save as PNG. Photoshop-equivalent. - **GIMP** (free desktop) — Layer → Transparency → Color to Alpha → pick white → done. - **Pixlr** (browser-based, free tier) — similar Magic Wand workflow, easier UI than Photopea. Result: pixel-perfect transparency on clean-edge images, no AI guessing. The catch: doesn't work well on photos where the “background” has shadow or color variation. ### Method 3: Use built-in OS tools (Mac Preview, Windows Photos) macOS Preview has a Magic Wand-style instant background removal: Tools → Instant Alpha → drag over the background. Removes solid-color regions cleanly. Windows 11 Photos app has a similar Background Remover button (Edit → Background → Remove). Both are surprisingly capable for casual use. ## How to Make a White Background Transparent (Step by Step) 1. **Open the image** in your tool of choice (Photopea recommended for browser-based). 2. **Pick the Magic Wand tool**(or equivalent — the “select by color” tool). 3. **Click on the white background.** The tool selects all connected white pixels. 4. **Hit Delete.**The selected white becomes transparent. Repeat for any disconnected white regions (e.g., inside a letter ‘O’). 5. **Save as PNG.**JPG can't hold transparency; PNG can. Always export transparent images as PNG. 6. **Optional: clean up.** Drop into [PDFFlare's Compress Image](https://pdfflare.com/tools/image/compress-image) to shrink file size, or [Resize Image](https://pdfflare.com/tools/image/resize-image) for the right output dimensions. ## Method-Specific Tips ### How to make a logo background transparent online Logos almost always have clean, solid-color backgrounds (designed that way). Photopea's Magic Wand with tolerance ~30 hits the right balance — selects the background without eating into anti-aliased edges. Save as PNG (not JPG, never JPG for transparency). ### How to make a signature transparent for PDF signing Scan the signature, open in Photopea, Magic Wand the paper, hit Delete, save as PNG. Then use [PDFFlare's Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) and upload the transparent PNG as your signature image. The signature now overlays the PDF cleanly without a white box around it. ### How to make image background transparent on iPhone iOS 16+ has built-in subject lifting: long-press a subject in any photo, drag it out — the background is automatically removed and the result is a transparent PNG sticker. Works surprisingly well for product photos. Save the lifted image to Files for use in documents and design tools. ## Common Mistakes - **Saving as JPG.**JPG doesn't support transparency — saving overwrites the transparent area with white. Always PNG (or WebP if your destination supports it). - **Halos around the subject.** The Magic Wand sometimes leaves a thin colored fringe (the anti-aliased pixels at the edge). Solution: use a slightly higher tolerance, or use Refine Edge / Mask Edge tools to feather the selection. - **Forgetting to test on actual destination.** A transparent PNG that looks good on a white preview page may show edge artifacts on a colored background. Always preview on the intended target color. ## Saving Transparent Images for Different Destinations The destination dictates the right export format: - **For web embedding:** WebP if your target browsers support it (almost universal in 2026), PNG as the safe fallback. Both carry transparency; WebP is dramatically smaller. - **For Word / PowerPoint / Pages:** PNG. Office tools may not embed WebP correctly across versions. - **For PDF output (e.g., transparent logo over a PDF):** PNG. PDF supports transparent PNG natively. Use [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) to drop the transparent logo onto the PDF page. - **For modern design tools (Figma, Sketch):** PNG or WebP both work. Pick smaller (WebP) unless your design system standardizes on PNG. - **Never JPG.** JPG strips transparency at save time, replacing it with a flat color. ## Privacy: Local Tools When Possible AI background removal services (remove.bg, Adobe) require uploading your image to their servers — fine for stock product photos, less ideal for personal photos with faces or sensitive context. For maximum-privacy work, stick to local tools (Photopea actually runs entirely in your browser without server-side processing, GIMP is desktop-only). After background removal, PDFFlare's Compress / Resize / Convert tools all run client-side too. ## Related Tools - [Resize Image](https://pdfflare.com/tools/image/resize-image) — match the transparent PNG's dimensions to your destination. - [Compress Image](https://pdfflare.com/tools/image/compress-image) — transparent PNGs are large; compress for web use. - [Convert Image](https://pdfflare.com/tools/image/convert-image) — convert to WebP (also supports transparency, much smaller than PNG). - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — use a transparent signature PNG to sign PDFs cleanly. ## Wrapping Up Make image background transparent: pick the right method based on your image type. Photos with messy edges → AI tools. Logos and signatures with clean backgrounds → Photopea, GIMP, or built-in OS tools. Always save as PNG (or WebP) for transparency. PDFFlare's image-cleanup tools ([Resize](https://pdfflare.com/tools/image/resize-image), [Compress](https://pdfflare.com/tools/image/compress-image), [Convert](https://pdfflare.com/tools/image/convert-image)) handle the cleanup steps without uploading the file. --- ## Frequently asked questions **Q: How do I make a PNG background transparent for free?** A: Three free paths depending on image type. (1) For logos and signatures with clean backgrounds, use a Magic Wand tool in Photopea (browser-based, free), GIMP (desktop, free), or Pixlr — click the background, hit Delete, save as PNG. (2) For photos with messy edges, use AI services like remove.bg or Adobe's free background remover. (3) On modern Mac/iPad/iPhone, built-in tools (Preview's Instant Alpha, iOS 16+ subject lifting) handle solid-color backgrounds in one tap. Always save as PNG (or WebP) — JPG can't hold transparency. **Q: How do I make a logo's white background transparent?** A: Use Photopea (or any image editor with a Magic Wand): open the logo, pick Magic Wand, set tolerance to ~30, click on the white background, hit Delete. The white pixels become transparent. If the logo has white inside (like the inside of an O), repeat the click on each enclosed white region. Save as PNG to preserve transparency. Then use PDFFlare's Compress Image to shrink the file size for web use. **Q: Why does my transparent PNG look bad on a colored background?** A: Two common causes. (1) Halo edges — the Magic Wand left a thin colored fringe of anti-aliased pixels around the subject. Fix with Refine Edge tools or a slightly higher tolerance setting. (2) Wrong color space — the original image may have been on a slightly off-white background (#FAFAFA, not #FFFFFF) and the wand only removed pure white. Sample the actual background color before clicking. Always test the transparent PNG on the intended destination color, not just the white preview. **Q: Can I make a JPG transparent?** A: Not directly — JPG format doesn't support transparency, only PNG, WebP, and AVIF do. If you have a JPG, you have to convert it to PNG first (PDFFlare's Convert Image handles this), then apply background removal in an image editor. Note that the JPG will already have lossy compression artifacts baked in, so the result won't be as clean as starting from a lossless source. **Q: Does PDFFlare have an AI background remover?** A: Not yet — AI background removal is on the new-tools backlog. For now, this guide recommends external tools (remove.bg, Adobe, Photopea, GIMP) for the actual background-removal step, and PDFFlare's image tools (Resize Image, Compress Image, Convert Image) handle the cleanup steps after. Once you have a transparent PNG, drop it into Compress Image to shrink for web use, or Convert Image to switch to WebP (much smaller than PNG with transparency support). --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Combine Photos into PDF on Android (Free, No App) URL: https://pdfflare.com/blog/combine-photos-into-pdf-android Published: May 7, 2026 Reading time: 8 min read > Combine photos into PDF on Android using Chrome — free, no app install, no upload. Plus how to compress, sign, and merge the resulting PDF. --- You photographed a 5-page document, and the recipient wants “a PDF, not a bunch of JPGs.” Most Android tutorials suggest installing an app loaded with ads. The better answer: combine photos into PDF on Android using Chrome, in your browser, with no app install and no upload to a stranger's server. In this guide you'll learn how to combine photos into PDF on Android using [PDFFlare's Photo to PDF tool](https://pdfflare.com/tools/pdf/jpg-to-pdf) (works in any modern Android browser — Chrome, Samsung Internet, Firefox, Edge). The whole flow takes 2-3 minutes and the photos never leave your phone. ## Why Use a Browser Instead of an App? - **No install.** Saves storage, avoids permissions creep. - **No ads.** Free Android PDF apps are saturated with banner ads and full-screen interstitials. - **No upload.**Browser-based tools that run on the client (like PDFFlare's Photo to PDF) keep your photos local. - **Same workflow on every device.** Switching from Pixel to Samsung doesn't require relearning a new app. ## How to Combine Photos into PDF on Android (Step by Step) 1. **Take or gather your photos.** Document scans, receipts, ID cards, multi-page contracts — anything that needs to bundle into one file. 2. **Open Chrome (or any modern browser)** and visit [/tools/pdf/jpg-to-pdf](https://pdfflare.com/tools/pdf/jpg-to-pdf). 3. **Tap “Choose photos”** and either pick from your gallery (Photos app), Files app, or take a new photo with the camera. Multi-select works — pick all the photos in one go. 4. **Reorder if needed.** Drag photos in the grid to set the page order. Page 1 is the cover. 5. **Pick page size and orientation.** A4 or Letter for documents; square for Instagram-style albums; portrait or landscape based on your photo orientation. 6. **Tap “Create PDF”.** The PDF generates locally; the download lands in your Downloads folder. 7. **Share or save.** Open the file from Files app or Downloads notification → Share → email, Google Drive, WhatsApp, anywhere. ## Use-Case-Specific Tips ### How to combine photos to PDF on Android Chrome Chrome on Android handles file uploads via the standard Files app picker, which means you can pick from Photos, Drive, Downloads, or even cloud providers (Dropbox, OneDrive) in one dialog. The uploaded photos never leave Chrome — Photo to PDF processes them via the browser's File API and renders the PDF entirely in JavaScript. ### How to combine photos from Google Photos to PDF Open Google Photos → tap the three-dot menu → Share → Save to device. Photos download to your local Photos folder, then follow the standard flow above. Or go direct: in Chrome on Android, the file picker dialog shows Google Photos as a source — pick photos straight from there without the download intermediate step. ### How to combine photos to PDF without an app That's exactly what this whole guide is — combining photos into PDF on Android without an app installed. The browser path is the no-app path. PDFFlare's Photo to PDF runs in JavaScript with pdf-lib doing the PDF generation client-side. Zero install, zero ads, zero upload. ## Real-World Android Workflows A few common scenarios where combining photos into PDF on Android pays off: - **Submitting receipts to expense software.** Snap each receipt with your phone camera, batch-combine into one PDF named with the trip dates, upload to Concur / Expensify / Ramp. One file per trip is cleaner than 10 individual JPGs. - **Sharing handwritten notes from a meeting.** Photograph each whiteboard / notebook page as you go, run them through Photo to PDF on the train home, share the consolidated PDF in your team channel. - **Document scanning without a scanner app.** For occasional scans (an insurance card, a school form, a recipe), Photo to PDF on Android is faster than installing a dedicated scanner app. Auto-orientation handles portrait + landscape mixing. - **Submitting visa applications and KYC documents.** Most identity-verification portals want one PDF containing front + back of an ID + a selfie. Combine three photos in your Android browser, upload directly from Downloads. ## What to Do With the Resulting PDF - **It's too big for email.** Phone cameras shoot at 12-48 MP; multi-photo PDFs can hit 20-50 MB. Drop into [PDFFlare's Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf); Balanced preset cuts size 70%+ with no visible quality loss. - **You need to sign it.** Drop into [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) and add a signature on Android Chrome (drawn with finger or stylus, or typed). - **You forgot a page.** Use [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) to add the missing page from a separate Photo-to-PDF run. ## Common Mistakes - **Photos out of order.**Browsers don't always pick up photos in chronological order; the gallery sort might be by name. Drag-reorder in the PDFFlare grid before generating. - **Mixing portrait and landscape photos.** Use auto-orientation (default) so each page fits the photo's aspect ratio. Forcing all-portrait crops landscape photos awkwardly. - **Saving uncompressed.** A 10-page photo PDF can hit 60 MB easily. Run through Compress PDF before sending. ## Privacy: Photos Stay on Your Phone PDFFlare's Photo to PDF tool runs entirely in your Android browser via the File API and pdf-lib — your photos are read into memory, rendered to PDF pages, and the resulting PDF is downloaded directly. No upload to PDFFlare's servers, no third-party API call, no cloud step. Verify by opening Chrome DevTools (chrome://inspect from a desktop USB-debug session) and watching the Network tab stay empty while the PDF generates. ## Related Tools - [Photo to PDF](https://pdfflare.com/tools/pdf/jpg-to-pdf) — combine photos into PDF on Android, iPhone, or desktop. Works the same everywhere. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the resulting multi-photo PDF for email. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — sign a photo-PDF on Android Chrome with finger or stylus. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine the photo-PDF with other documents (cover letter + scanned IDs). ## Wrapping Up Combine photos into PDF on Android without installing a single app: open Chrome, visit PDFFlare's [Photo to PDF tool](https://pdfflare.com/tools/pdf/jpg-to-pdf), pick photos, reorder, generate, share. The whole flow takes under three minutes and your photos never leave the phone. Ad-free, account-free, and works the same on every Android browser. --- ## Frequently asked questions **Q: How do I combine photos into PDF on Android without an app?** A: Open Chrome (or any modern Android browser) and visit PDFFlare's Photo to PDF tool. Tap 'Choose photos' and pick from your gallery, Files app, Drive, or take a new photo. Multi-select multiple at once. Drag to reorder. Pick page size (A4 or Letter for documents, square for albums). Tap Create PDF. The PDF generates locally in your browser via pdf-lib — no upload, no server. The download lands in your Downloads folder, ready to share via email, Drive, WhatsApp, or any other Android share target. **Q: Does this work on Samsung phones, Pixels, and other Android brands?** A: Yes — PDFFlare's Photo to PDF runs in any modern Android browser (Chrome, Samsung Internet, Firefox, Edge, Brave). The browser handles photo selection through the standard Files API, and PDF generation uses JavaScript (pdf-lib) that runs identically on every Android device. Same workflow on Pixel 8, Galaxy S24, OnePlus, Xiaomi, anything running Android 10+ with a current browser. **Q: How do I combine photos from Google Photos to PDF on Android?** A: Two paths. (1) Direct: open the file picker in PDFFlare's Photo to PDF and choose Google Photos as the source — the picker dialog shows it as one of the options on most Android devices. (2) Download first: open Google Photos, multi-select the photos, tap Share → Save to device. Photos download to your local Photos folder. Then open Photo to PDF and pick from the local folder. Either way, the photos move from Google to PDFFlare's browser-based tool without any upload to PDFFlare's servers. **Q: Why is my photo PDF so large?** A: Phone cameras shoot at 12-48 megapixels, producing 3-8 MB JPGs each. A 10-photo PDF easily hits 30-80 MB before any compression. Drop the result into PDFFlare's Compress PDF tool with the Balanced preset — typically cuts the file size 70%+ with no visible quality loss. For email-bound PDFs (Gmail's 25 MB limit), use the Smallest preset. **Q: Can I sign the photo PDF on Android after creating it?** A: Yes — open PDFFlare's Sign PDF tool in your Android browser, drop the photo PDF, and add a signature. You can draw with your finger or a stylus, type a signature in a handwriting-style font, or upload an image of your signature. Place it on the right page, save the signed copy. Same browser-based workflow as the photo combination step — nothing uploads, the signed PDF stays on your phone until you share it. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert PNG to JPG (and Back) — Free, No Quality Loss URL: https://pdfflare.com/blog/convert-png-to-jpg-and-back Published: May 7, 2026 Reading time: 7 min read > Convert PNG to JPG (or JPG to PNG) free in your browser. Pick the right format, control quality, batch convert. No upload, no signup. --- Convert PNG to JPG is one of the most-asked image conversion queries on the web — and one of the most misunderstood. PNG files are larger because they're lossless; JPG files are smaller because they're lossy. Before you convert, the question isn't “how” but “should I?” — converting a transparent logo to JPG fills the transparency with white, which might break your design. In this guide you'll learn how to convert PNG to JPG (and JPG to PNG when you need to go the other way) using [PDFFlare's Convert Image tool](https://pdfflare.com/tools/image/convert-image) — when each conversion makes sense, when it doesn't, and how to batch the conversion for many files at once. ## What's the Difference Between PNG and JPG? - **PNG** — Portable Network Graphics, 1996. Lossless compression, supports transparency (alpha channel), 8 or 16-bit color depth. Best for logos, screenshots, UI mockups, anything with sharp edges or transparency. - **JPG/JPEG** — Joint Photographic Experts Group, 1992. Lossy compression based on DCT, no transparency, 8-bit color. Best for photographs with smooth gradients and many colors. File sizes 10-30% of equivalent PNG. Convert PNG to JPG when: the source has no transparency, file size matters, the destination is photo-heavy (web, email, social). Don't convert when: there's transparency you need to preserve, the image has sharp edges (line art, screenshots) where JPG's artifacts will be visible. ## How to Convert PNG to JPG (Step by Step) 1. **Open the Convert Image tool.** Visit [/tools/image/convert-image](https://pdfflare.com/tools/image/convert-image). 2. **Drop your PNG (or multiple PNGs).** The tool accepts batches. 3. **Pick JPG as output format.** Set quality if you want fine control — 85 is the sweet spot for most photos. 4. **Pick the background color** that replaces transparent pixels (white is default; black, gray, or any hex color also works). 5. **Click Convert.** Each PNG is converted to JPG locally in your browser. Download the result. ## Conversion-Specific Tips ### How to convert PNG to JPG without losing quality “Without losing quality” is technically impossible — JPG is lossy by definition, so any conversion adds compression artifacts. But you can minimize the loss by setting JPG quality to 95 or higher. The file will still be 30-50% smaller than the PNG, with artifacts only visible under magnification. For archival copies, keep both; for web delivery, JPG-95 is usually the right tradeoff. ### How to batch convert PNG to JPG online Drop all your PNGs into [Convert Image](https://pdfflare.com/tools/image/convert-image) at once — the tool handles batches up to a few hundred files. Each is converted individually with the same quality setting; results download as a zip (or individually if you prefer). Good for converting a folder of 100 product photos in one shot. ### When to convert PNG to JPG (and when not to) Convert when the source is a photograph and you need smaller files (web delivery, email attachment, storage savings). Don't convert when: the source has transparency (you'll lose the alpha channel to a flat background color); the source is a screenshot of UI (JPG's blocky compression looks bad on flat-color regions); the source has sharp text overlays (JPG smears the edges). ## How JPG Quality Settings Affect Your Output JPG quality is a number from 1 to 100 that controls how aggressive the lossy compression is. The relationship between quality and file size isn't linear: - **Quality 100:** Largest file, minimal artifacts. Still NOT lossless (JPG itself is lossy by design); just the highest preserved fidelity. - **Quality 90-95:** Visually identical to quality 100 for most photos, ~30% smaller files. The sweet spot for archival JPG. - **Quality 80-85:** Visible artifacts only under heavy magnification. Standard for web delivery — Instagram, Facebook, most CDNs target this range. - **Quality 60-75:** Acceptable for small-screen / thumbnail use. Larger artifacts visible in skies and skin tones. - **Quality below 50:** Heavy artifacts, visible blocking, color bleeding. Rarely used outside extreme size constraints. PDFFlare's Convert Image lets you set the quality slider explicitly so you can pick the right tradeoff for your use case. For most workflows, quality 85-90 is the right default. ## Going the Other Way: JPG to PNG Converting JPG to PNG doesn't restore lost quality — once an image is JPG, the artifacts are baked in. PNG-encoding the JPG just makes the file bigger without making the image any better. So why would you convert JPG to PNG? - **You need to add transparency.**JPG doesn't support it; saving as PNG opens up the alpha channel for editing. - **You're passing through a PNG-only pipeline.** Some tools (older design software, specific export workflows) only accept PNG input. - **You want lossless re-saves.**Once in PNG format, subsequent edits don't add JPG recompression artifacts. The conversion is the same flow in PDFFlare — drop the JPG, pick PNG as output. Note that the resulting PNG will be larger than the JPG, sometimes 5-10x. ## Common Mistakes - **Converting a transparent PNG to JPG and losing the transparency.**The transparent pixels become whatever background color you set (default white). Always check before converting that transparency isn't needed. - **Converting screenshots to JPG.** JPG's artifacts on text and UI are obvious; keep screenshots as PNG. - **Re-converting repeatedly.** JPG → PNG → JPG re-introduces JPG artifacts on each round. Convert once when needed; archive the original. ## Privacy: Local Conversion PDFFlare's Convert Image runs entirely in your browser — the WebAssembly codecs handle PNG and JPG encoding/decoding locally without uploading. Important when converting personal photos, screenshots containing private info, or product photos with competitive sensitivity. ## Related Tools - [Convert Image](https://pdfflare.com/tools/image/convert-image) — convert PNG ↔ JPG ↔ WebP ↔ AVIF ↔ HEIC. - [Compress Image](https://pdfflare.com/tools/image/compress-image) — fine-tune file size after conversion. - [Resize Image](https://pdfflare.com/tools/image/resize-image) — resize before converting if dimensions matter. - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim before converting to save processing time. ## Wrapping Up Convert PNG to JPG when the source is a photograph, you don't need transparency, and file size matters. Convert JPG to PNG when you need to add transparency or pass through a PNG-only pipeline. For all other cases, keep the source format. PDFFlare's [Convert Image tool](https://pdfflare.com/tools/image/convert-image) handles both directions in your browser, with batch support and quality control. --- ## Frequently asked questions **Q: How do I convert PNG to JPG without losing quality?** A: Technically, every PNG-to-JPG conversion loses some quality because JPG is lossy by definition. To minimize the loss, set JPG quality to 95 or higher in PDFFlare's Convert Image tool — the result will still be 30-50% smaller than the PNG, with compression artifacts only visible under heavy magnification. For archival copies, keep both the original PNG and the JPG. For web delivery, JPG quality 85-95 is the right tradeoff between file size and visible quality. **Q: When should I convert PNG to JPG (and when shouldn't I)?** A: Convert when: the source is a photograph with smooth gradients, file size matters, the destination is photo-heavy (web, email, social media), and there's no transparency to preserve. Don't convert when: the PNG has transparency (you'll lose the alpha channel to a flat background color), the source is a screenshot or UI mockup (JPG's blocky compression looks bad on flat-color regions), or the source has sharp text overlays (JPG smears the edges of text). **Q: Can I batch convert PNG to JPG online?** A: Yes — PDFFlare's Convert Image tool accepts batches up to a few hundred files at once. Drop all your PNGs together, set the output format to JPG and the quality level, click Convert. Each PNG is converted individually with the same settings; results download as a zip (or individually if you prefer). Useful when converting a folder of 100+ product photos in one shot. The conversion runs in your browser via WebAssembly codecs, so even large batches don't hit a server. **Q: What happens to PNG transparency when I convert to JPG?** A: JPG doesn't support transparency, so the transparent pixels are filled with a solid background color when you convert. PDFFlare's Convert Image lets you pick the background color (white is the default; black, gray, or any custom hex color also works). If you need to preserve transparency, convert to WebP or AVIF instead — both are modern formats that support alpha channels with much smaller file sizes than PNG. **Q: Should I convert JPG to PNG?** A: Only in specific situations. JPG-to-PNG doesn't restore lost quality (the JPG artifacts are baked in), and the resulting PNG is usually 5-10x larger than the JPG. Reasons to convert anyway: (1) you need to add transparency in an editor; (2) you're passing through a PNG-only pipeline; (3) you want lossless re-saves to avoid stacking JPG compression. For most cases, keep the JPG as JPG. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Annotate a PDF (Highlights, Notes, Drawings) — Free URL: https://pdfflare.com/blog/annotate-pdf-highlights-notes Published: May 7, 2026 Reading time: 8 min read > Annotate a PDF online free — add highlights, sticky notes, drawings, text overlays. Browser-based, no install, no signup. Works on Mac, Windows, mobile. --- You're reviewing a contract, marking up a research paper, or proofreading a manuscript. The traditional options are paper printouts with a red pen, or paid tools like Adobe Acrobat for $25/month. The third option — annotate a PDF online free in your browser using [PDFFlare's Edit PDF tool](https://pdfflare.com/tools/pdf/edit-pdf) — gives you the speed of digital with the flexibility of paper, without the subscription. In this guide you'll learn how to annotate a PDF with highlights, sticky notes, freehand drawings, and text overlays — all in your browser, with the file staying entirely on your machine. The flow is the same on Mac, Windows, iPad, and Android Chrome. ## What Counts as Annotation? PDF annotations are markup layered on top of the document content — they don't change the underlying PDF text. The major annotation types: - **Highlights** — translucent color overlays on text. Yellow is universal; pink, green, blue used for category coding. - **Sticky notes / comments** — small icons that pop open with text when clicked. Used for margin observations and review feedback. - **Underline + strikethrough** — for indicating emphasis or deletion. - **Freehand drawing** — for circling, arrows, stars, signatures, or hand-drawn margin notes. - **Text overlays** — typed text added on top of the page (different from filling in form fields). - **Shapes** — rectangles, ovals, lines for framing important regions. ## How to Annotate a PDF (Step by Step) 1. **Open Edit PDF.** Visit [/tools/pdf/edit-pdf](https://pdfflare.com/tools/pdf/edit-pdf) and drop your PDF. 2. **Pick the annotation tool** from the toolbar — highlighter, pen, text, sticky note, shape. 3. **Drag over the page** to place the annotation. Highlighter wraps around text; pen draws freehand; text inserts a typed overlay; shapes box a region. 4. **Adjust color and opacity** in the tool options. Highlights default to yellow at 50% opacity — change for category coding (e.g., pink for objections, green for approvals). 5. **Repeat across pages.** Use the page navigator to jump between pages; annotations attach per-page. 6. **Save the annotated PDF.** Annotations are baked into the saved file — anyone who opens the result sees the markup. ## Annotation Tips by Use Case ### How to highlight text in a PDF Use the highlighter tool, drag across the text region, release. The highlight wraps to text shape. For column-aware highlighting (skipping margins), drag line by line; for full-line highlighting, drag across the whole line. Use color-coding for category review: yellow for “notable,” pink for “needs follow-up,” green for “approved.” ### How to add sticky notes (comments) to a PDF Pick the sticky note tool, click anywhere on the page, type your comment. The note appears as an icon on the page; clicking it pops open the comment text. Useful for margin observations during review without cluttering the visible page. PDFFlare flattens the comments into the saved PDF so they appear in any PDF reader (not just PDFFlare). ### How to draw on a PDF online free The pen tool lets you draw freehand — circles, arrows, stars, hand-drawn margin notes. On iPad, Apple Pencil captures pressure for natural-looking strokes. On desktop with a mouse, draw slowly for smoother curves. Use a thin line width (1-2px) for fine markup; thicker (5-10px) for emphasis. ### How to annotate a PDF on iPad PDFFlare's [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) works in iPad Safari with full Apple Pencil support. Pen tool detects pressure for variable line width; highlighter snaps to text. The same workflow as desktop, but with handwriting-quality strokes. Or use Markup (built into iPadOS) for one-tap annotation if the PDF is already open in Mail or Files — see our companion post on [signing PDFs on iPad](https://pdfflare.com/blog/sign-pdf-on-ipad-apple-pencil). ## Annotation Workflows by Document Type Different documents call for different annotation patterns: - **Contract review:** highlight the clauses you want to question (yellow), strike-through the ones you want removed (red), add sticky notes explaining why. Send the marked-up copy back to legal as your redline. - **Research paper / academic reading:** highlight key claims (yellow), questions you have (pink), things to follow up (green). Add margin notes with the pen tool for full sentences. Re-read the highlights as a study guide. - **Manuscript proofreading:**circle typos, highlight phrases that need rewording, sticky-note substantive feedback. Send back as the “edits” file alongside the original. - **Form review before signing:** highlight blanks the recipient must fill, add a sticky note at the top with high-level instructions, mark the signature line with a circle. Send to the signer. ## Common Mistakes - **Highlighting the whole page.** Universal highlighting tells the reader nothing. Highlight selectively — 5-15% of the text per page max. - **Mixing tool styles inconsistently.** If yellow = “noted,” stick with yellow for that meaning across the document. Inconsistent color usage confuses the reader. - **Forgetting to flatten before sharing.** By default, PDF annotations are a separate layer that some readers can hide. PDFFlare's Edit PDF flattens annotations into the saved PDF so they can't be turned off — anyone who opens the file sees your markup. - **Annotating a scanned PDF without OCR first.** The highlighter snaps to text regions; on scans (where text is bitmap), it has nothing to snap to. Run [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) first to add a text layer. ## Privacy: Annotate Without Uploading PDFFlare's Edit PDF tool runs entirely in your browser via pdf-lib and Fabric.js. Your PDF, your annotations, and the saved result all stay on your machine — no server is involved. Open DevTools → Network while annotating and you'll see zero requests to PDFFlare. Important when reviewing confidential contracts, legal documents, or internal-only materials. ## Related Tools - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — annotate, highlight, draw, comment. Browser-based, no upload. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — annotation flow ends with a signature; this tool handles the signature step. - [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) — run on scanned PDFs before annotating so the highlighter can snap to text. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine annotated copies from multiple reviewers into one consolidated document. ## Wrapping Up Annotate a PDF online free without installing anything: open PDFFlare's [Edit PDF tool](https://pdfflare.com/tools/pdf/edit-pdf), drop the file, mark it up with highlights, sticky notes, drawings, and text overlays. Save. Share. The whole flow runs in your browser without uploading, which matters for confidential documents and internal review work. --- ## Frequently asked questions **Q: How do I annotate a PDF online for free?** A: Open PDFFlare's Edit PDF tool in any browser, drop your PDF, and use the toolbar to add highlights, sticky notes, freehand drawings, text overlays, and shapes. Each annotation type has its own tool — pick highlighter, pen, text, sticky note, or shape, then drag on the page to place it. Save when done; annotations are flattened into the saved PDF so anyone who opens it sees your markup. Free, browser-based, no install, no signup, no upload. **Q: How do I highlight text in a PDF?** A: Pick the highlighter tool in PDFFlare's Edit PDF, drag across the text you want to highlight, release. The highlight wraps to the text shape automatically. Default color is yellow at 50% opacity; switch colors for category coding (yellow = notable, pink = needs follow-up, green = approved). For column-aware highlighting that skips margins, drag line by line. For full-line highlighting, drag across the whole line at once. **Q: How do I add sticky notes to a PDF?** A: Pick the sticky note tool, click anywhere on the page where you want the note, type your comment in the popup. The note appears on the page as a small icon; clicking it expands to show the comment. Useful for margin observations during contract review or proofreading without cluttering the visible content. PDFFlare flattens the comments into the saved PDF so they appear in any PDF reader, not just PDFFlare's tool. **Q: Can I draw on a PDF with Apple Pencil on iPad?** A: Yes — PDFFlare's Edit PDF tool works in iPad Safari with full Apple Pencil support. The pen tool detects pressure for variable-width strokes (so signatures and handwriting look natural), and the highlighter snaps to text just like on desktop. Or use Markup (built into iPadOS) for one-tap annotation if the PDF is already open in Mail or Files — Markup is faster for quick markup, while Edit PDF gives you more tool variety and finer control. **Q: Will my annotations show up when others open the PDF?** A: Yes — PDFFlare's Edit PDF flattens annotations into the saved PDF by default, so they're baked into the page content stream and appear in every PDF reader (Adobe Acrobat, Preview, Chrome, Edge, mobile readers). Recipients can't toggle annotations off or remove them without specifically editing the PDF. This is different from layered annotations in some tools, which can be hidden or removed by readers. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Extract Images from a PDF (Free, Without Quality Loss) URL: https://pdfflare.com/blog/extract-images-from-pdf Published: May 7, 2026 Reading time: 7 min read > Extract images from a PDF — pull every embedded image as JPG/PNG without quality loss. Free, browser-based, no install, no signup, no upload. --- A client sent you a slide deck as a PDF and you need the photos as separate JPGs for your website. Or you're archiving a research paper and want the figures as standalone files. Or a magazine layout has a chart you need to use elsewhere. The job is the same: extract images from a PDF without losing quality and without re-photographing your screen. In this guide you'll learn how to extract images from a PDF in your browser using [PDFFlare's PDF to JPG tool](https://pdfflare.com/tools/pdf/pdf-to-jpg) — pulling out every embedded photograph at original resolution, no quality loss, no upload to a server. Plus how to handle the resulting images using [Compress Image](https://pdfflare.com/tools/image/compress-image) and [Crop Image](https://pdfflare.com/tools/image/crop-image) for downstream use. ## Two Ways to “Extract Images” The phrase means different things depending on what you actually need: - **Convert each page to an image**— renders the entire page (text + layout + images) as one image. Useful for thumbnails, page-level archives, or visual previews. PDFFlare's [PDF to JPG](https://pdfflare.com/tools/pdf/pdf-to-jpg) handles this directly. - **Extract embedded images** — pull out only the original embedded image objects (the photos and figures inside the PDF, separate from the text). Useful when you need the original photos at original resolution. PDF to JPG covers the first case in one click. For the second case, the workflow is more nuanced — keep reading. ## How to Extract Images from a PDF (Step by Step) 1. **Open PDF to JPG.** Visit [/tools/pdf/pdf-to-jpg](https://pdfflare.com/tools/pdf/pdf-to-jpg) and drop your PDF. 2. **Pick output settings.** Quality (high/medium/low), DPI (72 for screen, 150 for print, 300 for prepress), output format (JPG or PNG). 3. **Pick page range.** Convert all pages or just specific ones (e.g., pages 5-12). 4. **Click Convert.** Each page becomes a separate JPG/PNG file. Download as a zip or individually. ## Use-Case-Specific Tips ### How to extract images from a PDF without losing quality Set DPI to 300 (or higher for prepress). PDF to JPG at 300 DPI captures embedded images at their original resolution if the source PDF embedded them at 300 DPI or higher. Lower DPI settings (72 or 150) downsample for smaller file sizes — fine for web use, lossy for print. ### How to batch extract images from a PDF PDFFlare's PDF to JPG converts every page in one operation — drop the PDF, every page comes out as a separate file in a zip. For a 50-page document with figures on most pages, this is the fastest path from “PDF” to “folder of images.” ### How to extract a specific image from a PDF Once you have all pages as JPGs, use [Crop Image](https://pdfflare.com/tools/image/crop-image) to cut out just the figure or photo from the full-page render. Visual selection is fast — drag a box around the image, save. Repeat for each figure you want to extract. ### How to extract images from a scanned PDF Scanned PDFs are already “just images” — each page is a bitmap. PDF to JPG renders the bitmap back to JPG at the requested DPI. There's no quality loss because there's no separate text layer to handle differently. ## Choosing the Right DPI for Image Extraction DPI (dots per inch) controls the resolution of the rendered output. Pick based on the destination: - **72 DPI** — screen-only use, small thumbnails, web preview. Smallest files; pixelated if zoomed or printed. - **150 DPI** — newsletter print, internal documents. Balance between size and quality. - **300 DPI** — magazine / book print, archival. Embedded images at their original 300 DPI quality. - **600 DPI** — prepress, high-end print production, very large prints. Files get huge. Don't pick a DPI higher than the source — extracting at 600 DPI from a PDF whose embedded images are only 150 DPI just makes the file bigger without adding actual detail. PDFFlare can't synthesize resolution that isn't there. ## Cleaning Up the Extracted Images After extraction, three common follow-ups: - **Crop to just the image region** — [Crop Image](https://pdfflare.com/tools/image/crop-image) handles this. Drag the crop box around the figure, save as a tighter JPG. - **Compress for web use** — page-level JPG renders can be 1-3 MB each. [Compress Image](https://pdfflare.com/tools/image/compress-image) shrinks them to 100-300 KB without visible quality loss. - **Convert to a different format** — [Convert Image](https://pdfflare.com/tools/image/convert-image) handles JPG → WebP / AVIF / PNG / HEIC for the target use case. ## Common Mistakes - **Picking too low a DPI.** 72 DPI is screen-only; printing at 72 DPI looks pixelated. Use 300 for any print-bound extracted image. - **Forgetting to crop the page render.** A full-page JPG includes margins and surrounding text. Crop down to just the figure unless you want the whole page as context. - **Re-converting JPGs.**Each save adds JPG artifacts. Extract once, archive originals, edit copies — don't loop. - **Trying to extract from a password-protected PDF.** Decrypt first using [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf) (requires the owner password). ## Common Image-Extraction Workflows Three real-world patterns: - **Reusing figures from a research paper.** Extract relevant pages at 300 DPI, crop to just the figure, drop into a presentation. Cite the source. - **Pulling product photos from a vendor PDF catalog.**Extract each catalog page, crop down to product images, batch-resize to your e-commerce site's standard dimensions. Done in one Convert Image batch. - **Archiving images from a magazine PDF.** Extract every page at 300 DPI, store as a folder of JPGs. Searchable archive of visual content; the PDF stays as the original record. ## Privacy: Extract Without Uploading PDFFlare's PDF to JPG renders pages locally via PDF.js in your browser — the PDF is parsed, each page rasterized to a canvas, the canvas exported as JPG. No server is involved. Important for extracting figures from confidential documents, internal slide decks, or anything you can't upload to a third party. ## Related Tools - [PDF to JPG](https://pdfflare.com/tools/pdf/pdf-to-jpg) — extract images from a PDF page by page. - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim full-page renders down to just the figure. - [Compress Image](https://pdfflare.com/tools/image/compress-image) — shrink extracted JPGs for web use. - [Convert Image](https://pdfflare.com/tools/image/convert-image) — convert extracted JPGs to PNG, WebP, or AVIF. ## Wrapping Up Extract images from a PDF using PDFFlare's [PDF to JPG tool](https://pdfflare.com/tools/pdf/pdf-to-jpg) — pages render to JPG/PNG at your chosen DPI, all in your browser without uploading. Pair with Crop Image to extract just the figure region, Compress Image to shrink for web, Convert Image to switch format. The whole flow is browser-based and free. --- ## Frequently asked questions **Q: How do I extract images from a PDF without losing quality?** A: Use PDFFlare's PDF to JPG tool with DPI set to 300 (or higher for prepress work). Each page is rendered to JPG at the chosen DPI; embedded images at 300 DPI come out at original resolution. Lower DPI settings (72 or 150) downsample for smaller file sizes — fine for screen use, lossy for print. Set output format to PNG instead of JPG if you want lossless extraction at the cost of larger file sizes. **Q: How do I extract a specific image from a PDF page?** A: Two-step flow. (1) Use PDFFlare's PDF to JPG to render the page containing the image as a full JPG. (2) Drop the resulting JPG into Crop Image and drag a box around just the figure, then save. The result is a clean, tight JPG of just the image without the surrounding text and margins. Repeat for each figure you want to extract. Faster than manually selecting and copying image objects in a PDF reader. **Q: Can I batch extract images from a PDF?** A: Yes — PDFFlare's PDF to JPG converts every page in one operation. Drop the PDF, pick output settings (format, DPI, quality), set page range (or convert all), click Convert. Every page comes out as a separate file in a downloadable zip. For a 50-page document with figures throughout, this is the fastest path from 'PDF' to 'folder of images'. Each page renders independently so the conversion runs in parallel where the browser supports it. **Q: How do I extract images from a scanned PDF?** A: Scanned PDFs are already images at the page level — each page is a bitmap. PDFFlare's PDF to JPG renders the bitmap back to JPG at your chosen DPI. There's no quality loss because there's no separate text layer to handle differently. If the scanned PDF was created at 300 DPI, extract at 300 DPI to get the original resolution; if you don't know the source DPI, try 300 first and reduce if file sizes are excessive. **Q: Why is my extracted image lower quality than the original?** A: Three common causes. (1) DPI set too low — try 300 DPI instead of 72 or 150. (2) JPG quality set too low — bump to 95+ for archival use. (3) The original PDF embedded the image at low resolution — extracting at 300 DPI doesn't add resolution that wasn't there. PDFFlare's PDF to JPG can't extract higher resolution than the source has. For maximum-quality extraction, ensure the source PDF was generated at the right DPI; if not, the original images are the best you can get. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Insert Pages into a PDF (Free, Online, No Install) URL: https://pdfflare.com/blog/insert-pages-into-pdf Published: May 7, 2026 Reading time: 8 min read > Insert pages into a PDF — add blank pages, insert pages from another PDF, or rearrange. Free, browser-based, no Adobe Acrobat. Step-by-step. --- You finalized a 20-page report and realized chapter 3 needs an additional page of context between pages 12 and 13. Or your contract is missing a schedule that should slot in at the back. Or you've scanned a form and forgot to include the cover page. Whatever the reason, you need to insert pages into a PDF — and not by re-printing the whole thing. In this guide you'll learn how to insert pages into a PDF three ways using [PDFFlare's Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) and [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) tools — inserting pages from another PDF at a specific position, adding blank pages, and merging multiple documents in custom order. All browser-based, no install required, no upload to a third-party server. ## What Does “Insert Pages” Actually Mean? - **Insert pages from another PDF** — take pages 1-3 from PDF A and put them between pages 5 and 6 of PDF B. The most common case. - **Insert blank pages** — add empty pages at specific positions. Useful for making room for subsequent additions, page-numbering alignment, or printing prep. - **Merge multiple PDFs in custom order** — combine 5 separate PDFs into one with a chosen page order. Effectively the same as inserting, scaled. ## How to Insert Pages into a PDF from Another File 1. **Split the original PDF** at the insertion point. Use [Split PDF](https://pdfflare.com/tools/pdf/split-pdf): pages 1-12 → file A, pages 13-end → file B. 2. **Open Merge PDF.** Visit [/tools/pdf/merge-pdf](https://pdfflare.com/tools/pdf/merge-pdf). 3. **Drop three files in order:** first half (file A), then your insertion PDF (the new content), then the second half (file B). 4. **Click Merge.** The output is one PDF with the new pages slotted in at exactly your chosen position. Download. ## How to Insert Pages at Specific Positions ### How to insert pages at the start of a PDF Easiest case — drop your “insertion” PDF first into Merge PDF, then drop your main PDF second. Output: insertion-pages followed by the original. Useful for adding cover pages, table of contents, or executive summaries to existing documents. ### How to insert pages at the end of a PDF Reverse: main PDF first, then insertion PDF. Useful for adding appendices, schedules, or supplementary materials to a finalized base document. ### How to insert pages in the middle of a PDF The split-then-merge flow above. Or use [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) if you've already merged everything in the wrong order — drag pages into the right sequence visually, save the result. ## How to Insert Blank Pages PDFFlare doesn't generate blank pages directly, but the workaround is simple: create a blank Word document with the right page size, save as PDF (via [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf)), then merge it into your existing PDF at the right position. Or print a single blank page from any app using your OS's “Save as PDF” virtual printer (see our [Print to PDF guide](https://pdfflare.com/blog/print-to-pdf-mac-windows)). ## Common Insertion Scenarios Real-world examples of when you'd insert pages into a PDF: - **Adding a cover page to a finalized report.** Build the cover in Word with the right page size, export to PDF, drop it in front of the existing report via Merge PDF. Done in 2 minutes. - **Inserting a missed appendix.** The main contract was finalized; the schedules need to be added at the back. Merge the schedule PDFs after the contract. - **Adding a single-page errata between chapters.** Split the original PDF at the chapter boundary, drop in the errata page, merge back. The errata appears at exactly the right reading position. - **Bundling multiple application documents.** Cover letter + resume + work samples + transcript — each as its own PDF, merged into one document for submission. Drop them in the order the receiver should see them; Merge PDF keeps the order. - **Inserting a signature page.**The base contract was sent unsigned; sign a copy of just the signature page using PDFFlare's [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf), then merge it back into the main document. ## Merging vs Rearranging — Pick the Right Tool - **Merge PDF** — combining separate files into one. Use when the new pages are in a different file than the existing content. - **Rearrange PDF Pages**— reordering within a single file. Use when everything's already in one PDF and you just need to shuffle. - **Split PDF + Merge PDF** — the combo when you need to insert into the middle of a single PDF. Split at the insertion point, merge with the new content in between. ## Common Mistakes - **Forgetting to update page numbers.** Inserting a 5-page chapter pushes all subsequent page numbers by 5. If your PDF has explicit page numbers in the body (footer, references), those now mismatch the actual page positions. Either re-paginate using [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers) after merging, or accept the mismatch. - **Mismatched page sizes.** Inserting an A4 page into a Letter document looks awkward. Match page sizes before merging — convert via Word to PDF with the right page size set. - **Inserting in the wrong order.** Always preview the merged file before considering the job done. The order in Merge PDF's file list is the order in the output. ## Privacy: Insert Pages Without Uploading PDFFlare's Merge PDF, Split PDF, and Rearrange PDF Pages all run entirely in your browser via pdf-lib — files are read into memory, processed, and the result is downloaded directly. No server is involved. Important when inserting pages into contracts, HR documents, or other confidential content. ## Related Tools - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multiple PDFs in custom order. - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — split before inserting at a specific position. - [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) — reorder pages within a single PDF visually. - [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers) — re-paginate after inserting new pages. ## Wrapping Up Insert pages into a PDF using the split → merge flow: split at the insertion point, drop in the new pages via [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf), output a clean combined file. Or use [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) when everything's already in one PDF and you just need to shuffle. All free, browser-based, and no upload — works the same on Mac, Windows, iPad, Android. --- ## Frequently asked questions **Q: How do I insert pages into a PDF for free?** A: Use PDFFlare's split-then-merge flow. (1) Drop your main PDF into Split PDF and split at the insertion point — for example, pages 1-12 to file A, pages 13-end to file B. (2) Open Merge PDF and drop three files in order: file A first, then your insertion content (the new pages), then file B. (3) Click Merge. The output is one PDF with the new pages slotted in at exactly your chosen position. Both Split PDF and Merge PDF run entirely in your browser via pdf-lib — no upload, no Acrobat subscription required. **Q: How do I insert blank pages into a PDF?** A: PDFFlare doesn't generate blank pages directly, but the workaround is simple. Create a blank Word document with the right page size (matching your PDF), save it as PDF using PDFFlare's Word to PDF tool. Then merge the blank PDF into your main PDF at the right position via Split PDF + Merge PDF. Or use any OS's built-in 'Print to PDF' to print a single blank page from any app and use that as the blank-page PDF. **Q: How do I insert pages from another PDF at a specific position?** A: The split-then-merge flow handles this exactly. Split your main PDF at the insertion point — everything before goes into one file, everything after into another. Then in PDFFlare's Merge PDF, drop the three files in the correct order: the 'before' part first, your insertion PDF second, the 'after' part third. The merger preserves the order you drop files, so the inserted pages appear at exactly the position you split. Page numbers in the body content won't auto-update; re-paginate via Add Page Numbers if needed. **Q: Can I insert pages without re-printing the entire document?** A: Yes — that's the whole point of PDFFlare's Merge PDF approach. Split + Merge operates on the existing PDF objects directly via pdf-lib, never re-renders the pages. Your existing pages keep their exact original quality, fonts, embedded images, and metadata. Only the table of contents (page count) changes. Re-printing would re-rasterize everything; the merge approach preserves everything bit-for-bit. **Q: What if my page numbers are wrong after inserting pages?** A: Inserting a 5-page chapter pushes all subsequent page numbers by 5. If your PDF has explicit page numbers in the body (footer, references), those now mismatch the actual page positions. Two options: (1) re-paginate the merged PDF using PDFFlare's Add Page Numbers tool — overlays new page numbers on every page, replacing or supplementing the old ones. (2) Accept the mismatch if it's a one-time draft. For final production documents, always re-paginate after insertion. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Sign a PDF on iPad with Apple Pencil (Free, No App) URL: https://pdfflare.com/blog/sign-pdf-on-ipad-apple-pencil Published: May 6, 2026 Reading time: 8 min read > Sign a PDF on iPad with Apple Pencil — use Markup, Files, or PDFFlare's free Sign PDF tool in Safari. Step-by-step guide for one-tap signatures. --- A contract just landed in your inbox at the worst possible moment. You're away from a desk, your laptop's at home, and the sender wants the signed PDF back today. The good news: when you sign a PDF on iPad, the iPad is already the best tool for the job. Apple Pencil gives you a real handwritten signature, the built-in Markup tool works in any document, and you can finish the whole flow without installing a single app. In this guide you'll learn how to sign a PDF on iPad three ways — Apple's built-in Markup with the Pencil, the Files app for documents already saved locally, and [PDFFlare's free Sign PDF tool](https://pdfflare.com/tools/pdf/sign-pdf) right in iPad Safari (no app, no signup). Whether you sign pdf on iPad with the Apple Pencil, your finger, or a typed signature, you'll have a signed copy to email back in under two minutes. ## Why Sign PDFs on iPad Instead of a Laptop? Three reasons the iPad genuinely beats a laptop for signing: - **Apple Pencil** — your real handwritten signature, pressure-sensitive and indistinguishable from ink on paper. Trackpad signatures on a Mac always look wobbly. - **Markup is built in** — every PDF in Mail, Files, Messages, or Safari can be opened in Markup with one tap. No app install, no account. - **Send back from the same screen** — Mail attaches the signed copy directly; no exporting to a different app first. ## How to Sign a PDF on iPad (Step by Step) 1. **Open the PDF.** Tap the PDF in Mail, Files, Messages, or wherever it lives. iPadOS opens it in a full-screen Quick Look preview. 2. **Tap the Markup icon.** Top-right corner — the pen tip with a circle around it. The Markup toolbar appears at the bottom of the screen. 3. **Tap the + button → Signature.**If you've signed something before, your saved signature appears in the list. Tap it to drop it on the page. 4. **Or create a new signature.** Tap _Add or Remove Signature → +_. Sign with your Apple Pencil (or finger) on the line. Tap _Done_ — saved permanently to your iCloud account, available on every Apple device. 5. **Position and resize.** Drag the signature to the right line; pinch to scale; tap and use the color dot to switch between blue and black ink. 6. **Save and send back.** Tap _Done_ (top-left). The Mail message that opened the PDF now shows the signed version as a Reply attachment — tap Reply, and you're done. ## Apple Pencil Signing vs Browser-Based Tools ### How to sign a PDF on iPad with Apple Pencil (Markup) Apple Pencil + Markup is the gold standard for ad-hoc signing. The Pencil's pressure sensitivity captures the natural taper of your strokes, so the resulting signature looks identical to ink on paper. Once you save a signature to Markup, it syncs via iCloud to your Mac, iPhone, and other iPads — sign once, drop anywhere. The downside: Markup can't do anything beyond annotation. You can't rearrange pages, compress the file before emailing, or add form-fillable text fields. ### How to sign a PDF on iPad without installing an app When the file lives in your browser (a download from a web form, a Google Drive share, an email link you opened in Safari), the fastest no-install path is [PDFFlare's Sign PDF tool](https://pdfflare.com/tools/pdf/sign-pdf). Tap the file → Open in Safari → drag into the upload area. Type, draw with Apple Pencil, or upload a saved PNG signature. Place it on the right page, download the signed copy back to Files. Works in iPad Safari without an app, and the file never uploads to PDFFlare's servers — it stays in your browser via the File API. ### How to sign a PDF on iPad with multiple signature fields Some contracts need a signature on every page (initials at the bottom of pages 1-9, full signature on page 10). Markup treats each instance independently — you have to tap → + → Signature → place on every page, which is tedious. PDFFlare's Sign PDF tool remembers a signature for the session, so you can drop it onto every required page with two taps each. After signing, use [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) to shrink large multi-page contracts before email. ## Common Mistakes - **Saving a signature with bad lighting.** iPadOS Markup uses a black-on-white preview — if you picked up the iPad in dim light and the signature scanned wobbly, the saved version looks like a child wrote it. Re-do under decent lighting; signatures save permanently to iCloud, so getting it right once pays back forever. - **Forgetting to flatten the signature.** Markup signatures are technically annotations sitting on top of the PDF — a determined recipient could remove them. For high-stakes contracts where you need the signature _baked in_, use PDFFlare's Sign PDF tool which flattens the signature into the page content stream so it can't be deleted. - **Using your finger when you have a Pencil.** Finger signatures on iPad always look like third-grade handwriting because there's no pressure data and your finger is wider than a pen tip. If you have a Pencil, use it; the difference is dramatic. ## What If My iPad Doesn't Have Markup or the PDF Won't Open? Two common breakdowns: (1) very old iPads (pre-iOS 11) lack Markup — update iPadOS or use Safari + PDFFlare instead. (2) Some PDFs are flagged read-only by the sender, which locks Markup — open the file in Safari, drag it into [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf), and the browser-based flow bypasses the read-only attribute. If a file is genuinely encrypted/password-protected, you'll need the password first; PDFFlare's [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf) tool handles owner-password (not user-password) restrictions. ## Privacy: Your Signature Stays On Your iPad Markup signatures are stored in iCloud Keychain — Apple handles the encryption end-to-end. PDFFlare's Sign PDF tool runs entirely client-side: signatures are drawn into a canvas in iPad Safari, baked into the PDF via pdf-lib in your browser, and the resulting file is downloaded directly. Nothing crosses the network. Open the iPad Settings → Safari → Advanced → Website Data while signing and you'll see zero data sent to PDFFlare's servers. ## Related Tools - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — sign in iPad Safari without an app. Type, draw with Apple Pencil, or upload a signature image. Works on every iPad model running iOS 13+. - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — add text fields, dates, and other form data alongside your signature. Useful for contracts that need both a date field and a signature. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — multi-page signed contracts can balloon in size. Drop the signed copy into Compress PDF before emailing. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — when the contract comes in two files (main agreement + schedules), merge them first, then sign once. ## Wrapping Up Whether you sign with Apple Pencil in Markup, type into PDFFlare's Sign PDF tool from iPad Safari, or use a combination depending on where the file came from, you can sign and send back any PDF on an iPad in under two minutes without installing anything. The fastest path is whichever tool the PDF is already open in — don't move the file if Mail's preview already shows the Markup icon, and don't fire up Mail if your file's already in Safari. --- ## Frequently asked questions **Q: Can I sign a PDF on iPad without an app?** A: Yes — every iPad ships with Markup, Apple's built-in PDF annotation tool. Open any PDF in Mail, Files, or Safari, tap the Markup icon (top-right), tap + → Signature, and sign with Apple Pencil or your finger. The signature is saved permanently to iCloud, available across all your Apple devices. Or use PDFFlare's Sign PDF tool in iPad Safari for files that didn't come through Mail or Files — works without an install. **Q: Is signing a PDF with Apple Pencil legally binding?** A: In most jurisdictions (US ESIGN Act, EU eIDAS, UK Electronic Communications Act), an electronic signature drawn with Apple Pencil counts as a valid simple electronic signature for ordinary contracts. For high-value contracts (real estate, court documents) some regions require a Qualified Electronic Signature with cryptographic identity binding, which Apple Pencil + Markup doesn't provide. For everyday use (NDAs, employment contracts, vendor agreements), Apple Pencil signatures are accepted and enforceable. **Q: How do I sign a PDF on iPad without Apple Pencil?** A: Markup lets you sign with your finger, but the result usually looks like a child's handwriting. The two better alternatives: (1) PDFFlare's Sign PDF tool lets you TYPE a signature in a handwriting-style font, which looks more professional than a finger drawing. (2) Sign once on paper, photograph the signature, upload the image to Sign PDF, and reuse the saved signature on every PDF afterward. **Q: Why does my Markup signature look bad after saving?** A: Two common causes: (1) you signed with a finger instead of an Apple Pencil — fingers can't capture stroke pressure or pen-tip detail, so signatures always look chunky. (2) You signed in dim lighting and Markup's high-contrast scan made wobbly strokes look worse. Re-do the signature under good lighting with the Apple Pencil; signatures save permanently to iCloud, so you only need to get it right once. Use PDFFlare's Sign PDF tool as the alternative when Markup signatures look bad. **Q: Does the iPad upload my signed PDF anywhere?** A: No. Markup runs entirely in iPadOS — your signature is saved in iCloud Keychain (encrypted end-to-end), and signed PDFs are processed locally before being attached to email or saved to Files. PDFFlare's Sign PDF tool runs in iPad Safari client-side: signature canvas, pdf-lib processing, and download all happen in your browser. Open Settings → Safari → Website Data while signing and you'll see zero upload to PDFFlare's servers. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Save a Webpage as PDF (Chrome, Safari, Firefox, 2026) URL: https://pdfflare.com/blog/save-webpage-as-pdf Published: May 6, 2026 Reading time: 9 min read > Save a webpage as PDF in any browser — Chrome, Safari, Firefox, Edge — without ads. Plus how to clean, compress, and merge webpage PDFs after saving. --- You found a recipe, an article, a confirmation page, a documentation snippet — anything you want to keep when the original URL eventually 404s. Bookmarking lasts until the page changes; saving as PDF preserves the exact moment-in-time version you saw. The good news: every desktop browser can save webpage as PDF in two clicks once you know where to look — no extension, no install, no account. In this guide you'll learn how to save webpage as PDF in Chrome, Safari, Firefox, Edge, and on iPhone / Android. After the save, use [PDFFlare's Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) to shrink large captures, the [Edit PDF tool](https://pdfflare.com/tools/pdf/edit-pdf) to highlight key paragraphs, or [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) when you're saving a multi-part article. The save itself uses your browser's built-in Print → Save as PDF — it's the cleanup that often needs help. ## Why Save a Webpage as PDF Instead of Just Bookmarking? Three reasons a saved PDF beats a bookmark for important content: - **Permanent** — the page can be deleted, paywalled, or reorganized; your PDF still has the content you saw. - **Searchable offline** — full-text search inside the PDF works without an internet connection. - **Annotatable**— you can highlight, draw, and add notes to a saved PDF. Bookmarks can't carry margin notes. ## How to Save a Webpage as PDF (Step by Step) 1. **Open the page.**Wait for everything to load — images, lazy-loaded comments, dynamic content. What's on screen is what gets saved. 2. **Press Ctrl+P (or Cmd+P on Mac).** Every major browser uses the same shortcut to open the print dialog. This is where save-as-PDF lives. 3. **Change Destination to “Save as PDF.”** In Chrome and Edge: dropdown labeled _Destination_ → _Save as PDF_. In Safari: bottom-left dropdown → _Save as PDF_. In Firefox: _Save to PDF_. 4. **Optionally tweak settings.** Page size (Letter / A4), margins, layout (portrait / landscape), and a _Background graphics_toggle that controls whether the page's background colors print. 5. **Click Save.** Pick a filename, pick a location. Done. ## Browser-Specific Tips ### How to save a webpage as a PDF in Chrome (and Edge) Chrome's print dialog is the most feature-rich. Look for the _More settings_ dropdown at the bottom — it reveals scale (zoom percent), pages per sheet, and headers / footers. The _Background graphics_ checkbox is critical: most pages with dark themes look terrible with white backgrounds unless you enable it. Edge inherits the same dialog (Chromium-based). Both browsers also let you save just a page range — e.g., pages 2-5 of a long article. ### How to save a webpage as a PDF in Safari (Mac and iPhone) On Mac Safari: File → Export as PDF... is even faster than Cmd+P, and it preserves the page layout more faithfully (Safari renders the whole page rather than chunking by print pagination). On iPhone / iPad Safari: Share button (the up-arrow box) → scroll down → _Markup_ → tap Done → tap Save → save to Files. Or use Share → _Save_ _to Files_ directly without Markup. ### How to save a webpage as a PDF in Firefox Firefox's print preview is uniquely good for long articles — it shows you exactly what each page will look like before you save. Firefox also has a _Simplify Page_ mode in the print preview that strips ads and sidebars before saving (basically reader mode + PDF in one step). ### How to save a webpage as a PDF without ads Reader mode is the trick. Both Safari (the icon that looks like a paragraph in the URL bar) and Firefox (book icon) have built-in reader modes that strip ads, sidebars, and dynamic noise. Activate reader mode FIRST, then Cmd+P / Ctrl+P → Save as PDF. The result is clean text + images only, often half the file size of saving the original page. Chrome doesn't have native reader mode but extensions like Mercury Reader do the same thing. ## Cleaning Up After You Save A saved webpage PDF often needs three follow-ups: - **It's too big.** Web pages with heavy images can save as 5-30 MB PDFs. Drop into [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf); the Balanced preset usually cuts file size 60-80% with no visible quality loss. - **You want to keep just one section.** Use [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) to extract pages 3-7 of a saved article and discard the rest. - **You want to highlight key passages.** Drop into [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) and use the highlighter / pen tools to mark the important paragraphs before re-saving. ## Common Mistakes - **Saving before the page loads.** Lazy-loaded images and comments are still rendering when you hit Cmd+P. Scroll to the bottom of the page first to trigger all the lazy-loads, then save. - **Forgetting Background Graphics.**If the saved PDF looks like white text on white background, the page used a dark theme and you didn't enable_ Background graphics_ in the print dialog. Re-save with that toggle on. - **Losing interactive elements.**Saved PDFs can't carry video, JavaScript-driven menus, or embedded forms. If the page's value is interactive, a screenshot or screen-recording is a better preservation format. ## Privacy: Local Save, Local Cleanup The browser's “Save as PDF” runs entirely on your machine — no third-party server is involved during the print-to-PDF step. PDFFlare's post-save tools (Compress, Edit, Split, Merge) also run client-side: PDFs stay in your browser via the File API. So saving a paywalled article's confirmation page, a private invoice, or internal documentation never crosses anyone else's servers. ## Related Tools - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink heavy webpage PDFs (especially recipe sites and news articles with many images) before archiving. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multi-part articles (page 1, page 2, page 3 of a paginated post) into a single saved document. - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — highlight, annotate, and add margin notes to saved articles before sharing. - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — extract just the section you wanted from a long saved page; discard the rest. ## Wrapping Up Save as PDF is built into every browser and every OS — you don't need a Save-as-PDF browser extension. Activate reader mode for clean output, enable Background Graphics for dark-themed pages, and let the browser do the rest. For the inevitable cleanup afterwards, PDFFlare's [PDF tools](https://pdfflare.com/tools/pdf/compress-pdf) handle compression, editing, splitting, and merging without ever uploading the file. --- ## Frequently asked questions **Q: How do I save a webpage as a PDF in Chrome?** A: Press Ctrl+P (Cmd+P on Mac), change Destination to 'Save as PDF', click Save. That's the entire flow. For better quality on dark-themed pages, expand More settings and enable Background graphics. To strip ads before saving, install a reader-mode extension or right-click → Reader View if available. After saving, drop the PDF into PDFFlare's Compress PDF tool to shrink heavy image-laden web pages. **Q: How do I save a webpage as a PDF in Safari on Mac?** A: Three options: (1) File → Export as PDF... — fastest and gives the cleanest output because Safari renders the whole page rather than chunking by print pagination. (2) Cmd+P → Save as PDF in the bottom-left dropdown. (3) Activate Reader View first (book icon in the URL bar) to strip ads, then export. Reader View is unique to Safari/Firefox and produces dramatically cleaner PDFs for article content. **Q: How do I save a webpage as a PDF on iPhone?** A: Safari iOS: tap the Share button (up-arrow box) → scroll down → Markup → tap Done → tap Save → save to Files. Or Share → Save to Files directly without Markup. The PDF lands in your Files app where you can email it, AirDrop it, or upload it to a portal. For long articles, consider activating Reader View first (the paragraph icon in the URL bar) to strip ads and produce a cleaner PDF. **Q: Why is my saved webpage PDF so large?** A: Webpages with many images (recipe sites, news articles, photo galleries) often save as 5-30 MB PDFs because the browser embeds the full-resolution images. Three fixes: (1) activate reader mode before saving — strips images and ads. (2) Save then run through PDFFlare's Compress PDF — Balanced preset cuts file size 70%+ with no visible quality loss. (3) Disable Background graphics in the print dialog if you don't need page background colors. **Q: Can I save a paywalled article as a PDF?** A: If you can read the article in your browser (you have an active subscription, the article's outside the paywall, or you reached it via a referrer link), Save as PDF works normally. The PDF is generated from your browser's rendered DOM, so anything visible to you can be saved. Note this is for personal archival — distributing paywalled content via PDF would violate most publishers' terms of service even if technically possible. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Reduce PDF Size on Mac (5 Free Methods, No Quality Loss) URL: https://pdfflare.com/blog/reduce-pdf-size-on-mac Published: May 6, 2026 Reading time: 10 min read > Reduce PDF size on Mac with 5 free methods — Preview, PDFFlare's Compress PDF, ColorSync, Acrobat, Ghostscript. Pick the right one for your use case. --- You attached a 35 MB PDF to an email and Gmail rejected it. Or you tried to upload an application to a portal with a 5 MB limit. Or you're trying to fit a year of invoices on a USB drive that's nearly full. Whatever the trigger, the fix is the same: reduce PDF size on Mac without ruining quality. macOS has more tools for this than most people know — five separate paths, each suited to a different use case. In this guide you'll learn how to reduce PDF size on Mac five different ways, from Preview's built-in Quartz filter to [PDFFlare's Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf) (the cleanest browser-based option) to Ghostscript on the command line. Use this guide as a compress pdf mac decision tree: pick the right method based on file contents, quality tolerance, and how often you do this. ## Why PDFs Get Big in the First Place Three culprits account for almost every oversized PDF: - **Embedded high-res images**— phone cameras shoot at 12 MP; that's 4-8 MB per image. A 10-page PDF with one full-page photo per page is 40-80 MB before any text. - **Embedded fonts** — fully embedded font files can add 200-500 KB per font. A document with 8 fonts (which Microsoft Word does by default) carries 2-4 MB of font data. - **Uncompressed scanned content** — scans at 300+ DPI are huge. A 20-page scanned contract can easily hit 50-100 MB if the scanner saved each page as a full-resolution TIFF. Compression works by reducing image resolution, switching to JPEG/JPEG 2000 from raw bitmap, subsetting fonts (only embedding glyphs actually used), and dropping unnecessary metadata. The trick is balancing how aggressive you go against how the result looks at normal viewing zoom. ## Method 1: Preview's Quartz Filter (Built In, Free) Every Mac ships with this and most users don't know about it. 1. Open the PDF in Preview. 2. File → Export → Quartz Filter dropdown → _Reduce File Size_. 3. Save with a new filename. Quick and free — usually shrinks files 50-80%. The downside: the default filter is aggressive and can blur images noticeably. A 10 MB PDF often comes out as 1-2 MB but with visibly soft images. Best for documents where file size matters more than image quality (drafts, internal forms, attachments under tight email limits). ## Method 2: PDFFlare's Compress PDF (Browser, No Install) The cleanest option when you don't want to install anything and you want quality control. 1. Open [PDFFlare's Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) in any browser. 2. Drag your PDF into the upload area. 3. Pick a quality preset: **Smallest** (max compression, screen-only quality), **Balanced** (default; usually cuts size 60-80% with imperceptible quality loss), or **High Quality** (mild compression for print-bound files). 4. Download the compressed copy. The PDF is processed in PDFFlare's sandboxed Cloud Run worker (Ghostscript backend) — same engine the professional command-line tools use, with three explicit quality tiers so you don't get surprise blurs. Files up to 100 MB process in 5-15 seconds. The output is byte-identical to running Ghostscript locally with the same settings. ## Method 3: Compress in Adobe Acrobat (Paid) Acrobat Pro's File → Save As Other → Reduced Size PDF gives you the most fine-grained control: target version (which determines what compression algorithms are valid), per-image-type quality tiers, font subsetting rules. Best when you have a recurring archival workflow and need to certify exact compression behavior. The cost (~$25/month) makes it overkill for one-off compression; most users get the same practical result from Method 2. ## Method 4: ColorSync Utility Quartz Filters (Advanced) The hidden power-user option. The default “Reduce File Size” Quartz filter from Method 1 is aggressive; you can build a custom filter that's gentler. 1. Open _ColorSync Utility_ (Spotlight: ColorSync) → Filters tab. 2. Duplicate the “Reduce File Size” filter, then edit the copy: bump _Image Sampling_ Maximum to 150-200 ppi (default is 100), and bump _Image Compression_ Quality from Low to Medium. 3. Save the new filter; it now appears in Preview's Quartz Filter dropdown alongside the default. Result: less aggressive compression, better-looking output, but smaller savings (typically 30-50% reduction instead of 70-80%). Best for documents going to print where you want some compression without visible quality drops. ## Method 5: Ghostscript on the Command Line The maximum-control path for engineers who already have Homebrew. Install with `brew install ghostscript`, then: ``` `gs -sDEVICE=pdfwrite \ -dCompatibilityLevel=1.4 \ -dPDFSETTINGS=/ebook \ -dNOPAUSE -dQUIET -dBATCH \ -sOutputFile=output.pdf input.pdf` ``` The `PDFSETTINGS` flag is the killer: pick `/screen` (smallest, 72 DPI), `/ebook` (balanced, 150 DPI), `/printer` (300 DPI), or `/prepress` (lossless-ish). PDFFlare's Compress PDF tool is literally a wrapper around this command — same engine, but in a browser, with explicit quality presets and no install required. ## How to Reduce PDF Size on Mac for Different Use Cases ### How to reduce PDF size on Mac without losing image quality The single biggest quality lever is the image-resampling DPI. Preview's default Quartz filter drops images to 72 DPI (screen-only); a custom Quartz filter at 150-200 DPI keeps images sharp at normal viewing zoom. PDFFlare's High Quality preset and Ghostscript's `/printer` setting both target 300 DPI for print-bound files. Pick by destination: screen-only is fine for email-bound copies; 300 DPI for documents that might be printed. ### How to compress a PDF on Mac for email attachment limits Gmail caps attachments at 25 MB; iCloud Mail at 20 MB; Outlook at 20 MB. If your PDF is over the cap, drop into [PDFFlare's Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) with the Smallest preset (typically 70-90% reduction). For chunky scans where Smallest still doesn't fit, run [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) to break into two emails — sometimes that's the right answer. ### How to compress a scanned PDF on Mac (OCR first) Scanned PDFs are usually big because each page is a high-res bitmap. Compressing aggressively makes text blocky and unreadable. The two-step fix: (1) run [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) first to add a real text layer (often re-renders pages at lower DPI in the process); (2) then compress with Balanced or High Quality preset. Result: smaller AND searchable, instead of smaller but unreadable. ## Which Method Should You Use? - **One-off, urgent (need to send NOW):** Method 2 — PDFFlare's Compress PDF. Browser, 5-second turnaround. - **One-off, draft quality is fine:** Method 1 — Preview's default filter. Free, built-in. - **Print-bound, want quality control:** Method 4 — custom Quartz filter, or Method 2's High Quality preset. - **Doing this 10x a day:**Method 5 — Ghostscript with a shell alias. Once it's set up, it's the fastest. - **Already pay for Acrobat anyway:** Method 3. ## Common Mistakes - **Compressing twice.** Each pass through a lossy compressor degrades quality. If your file is already compressed (under 5 MB and looks fine), compressing again rarely helps and often hurts. - **Compressing scanned text.** Scanned documents hit aggressive image compression hardest — text becomes blocky and OCR fails. For scanned PDFs, run [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) FIRST (creates a searchable text layer, often shrinks file via re-rendering), THEN compress lightly. - **Aggressive presets on photographic content.** Photo-heavy PDFs (event programs, photo albums) compress poorly with Smallest preset. Use Balanced for visible quality preservation. ## Privacy: Files Don't Have to Leave Your Mac Methods 1, 4, and 5 run entirely on your Mac — no upload. Method 2 (PDFFlare's Compress PDF) is the only one that uploads to a server (PDFFlare's sandboxed Cloud Run worker), but the file is processed in memory, never written to disk, and deleted from the worker's ephemeral filesystem the moment the response returns. For maximum privacy with sensitive documents, use Method 1 or Method 4. ## Related Tools - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — Method 2 above. Three quality presets, browser-based, no Mac-specific install. - [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) — run before compression on scanned documents to avoid blocky text. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine then compress is sometimes more efficient than compress-each-file individually. - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — sometimes the right answer to a too-large PDF is splitting into smaller files instead of compressing. ## Wrapping Up Reduce PDF size mac is a solved problem with five tools built into every Mac (Preview, ColorSync, Ghostscript) plus PDFFlare's browser-based [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) for the no-install path. Pick by use case, not by habit: one-off urgent → PDFFlare; recurring batch → Ghostscript; quality-critical print → custom Quartz filter. --- ## Frequently asked questions **Q: What's the easiest way to reduce PDF size on Mac for free?** A: Two options tied for easiest: (1) macOS Preview's built-in Quartz filter — File → Export → Quartz Filter dropdown → Reduce File Size. Free, zero install, but the default filter is aggressive and can blur images noticeably. (2) PDFFlare's Compress PDF — drag the file into the browser, pick the Balanced preset, get the compressed copy back in 5 seconds. Browser-based, no install, three explicit quality tiers so no surprise blurs. Both work without an Adobe subscription. **Q: How can I reduce PDF size on Mac without losing quality?** A: Two paths. (1) Build a custom Quartz filter in ColorSync Utility — duplicate the 'Reduce File Size' filter, bump Image Sampling to 150-200 ppi and Image Compression Quality to Medium. The new filter shows up in Preview's export dialog and gives gentler compression than the default. (2) Use PDFFlare's Compress PDF with the High Quality preset — mild compression suitable for print-bound files, typically 30-40% reduction with imperceptible quality loss. For photo-heavy PDFs, High Quality is the right choice over Smallest. **Q: Why is my compressed PDF still huge?** A: Three common causes: (1) the original PDF is mostly scanned images (each page is a high-res bitmap) — running OCR PDF first creates a text layer and often reduces file size dramatically. (2) Embedded fonts that can't be subsetted because the PDF includes glyphs from many writing systems. (3) Already-compressed content — compressing twice rarely helps and often hurts. If a PDF is already under 5 MB, additional compression usually isn't worth the quality cost. **Q: Is there a way to compress a PDF on Mac via Terminal?** A: Yes — install Ghostscript via Homebrew (brew install ghostscript), then run: gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf. The PDFSETTINGS flag picks the quality tier: /screen (smallest, 72 DPI), /ebook (balanced, 150 DPI), /printer (300 DPI), /prepress (lossless-ish). PDFFlare's Compress PDF is literally a wrapper around this command — same engine, but in a browser with explicit quality presets. **Q: Does compressing a PDF on Mac upload my file anywhere?** A: Preview's Quartz filter, custom ColorSync filters, and Ghostscript run entirely on your Mac — no upload. PDFFlare's Compress PDF uploads to a sandboxed Cloud Run worker that processes the file in memory, never writes it to disk, and deletes the file the moment the response returns. For maximum-privacy compression of sensitive documents, stick with the on-device methods (Preview, custom Quartz filter, or Ghostscript). --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Make a Fillable PDF Form (Free, No Acrobat Required) URL: https://pdfflare.com/blog/make-fillable-pdf-form-free Published: May 6, 2026 Reading time: 9 min read > Make a fillable PDF form free without Adobe Acrobat. Add text fields, checkboxes, signatures using PDFFlare's Edit PDF + Sign PDF tools, all in your browser. --- Acrobat Pro charges $25/month for one feature most users actually need: turning a blank PDF into a fillable form with text fields, checkboxes, and a signature line. The good news — you can make a fillable PDF form free, in your browser, without installing Acrobat or anything else. The trick is matching the “type of fillable” you actually need to the right free tool. In this guide you'll learn how to make a fillable PDF form free using [PDFFlare's Edit PDF tool](https://pdfflare.com/tools/pdf/edit-pdf) for text fields and the [Sign PDF tool](https://pdfflare.com/tools/pdf/sign-pdf) for signatures and dates. We'll cover the “flat fillable” approach (recipient types directly into the PDF using their PDF reader's annotation tools, which works for 95% of practical use cases) and call out when you genuinely need Acrobat's true form fields (rare). ## Two Kinds of “Fillable PDF” You can build a fillable PDF without Acrobat for almost every practical use case. The first decision: do you need true Acroform fields, or flat-fillable will do? - **Acroform fields (true PDF forms)**— embedded form fields that the recipient's PDF reader treats as real form inputs. They tab, validate, calculate, and submit to a URL. Need Acrobat Pro, LibreOffice Draw, or PDF.js form designer to create. Use case: tax forms, gov't paperwork that requires a specific schema, internal apps that round-trip data. - **Flat fillable (annotation-based)**— the PDF has labeled blank lines; the recipient uses their PDF reader's annotation tools (Preview on Mac, Edge / Chrome PDF viewer on Windows, Markup on iPad) to type into them. Looks identical, works in every PDF reader, requires zero special software to create. Use case: contracts, NDAs, intake forms, sign-up sheets, permission slips, invoices. Flat fillable covers the vast majority of practical use cases. The rest of this guide focuses on it — Acroform fields are documented at the end. ## How to Make a Fillable PDF Form Online Free (Step by Step) 1. **Start with your base document.** A Word doc, Google Doc, or scanned form. Convert it to PDF using [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) (or Print → Save as PDF from any app). 2. **Open in Edit PDF.** Drag the file into [PDFFlare's Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf). The PDF appears as scrollable pages with editing tools above each. 3. **Add empty text-field placeholders.**Use the Text tool to draw labeled empty boxes where the user should write — e.g., “Name: ___”, “Date: __/__/__”, “Address: ___”. Use a thin underline shape (or rectangle with a transparent fill) to mark the fillable region visually. 4. **Add checkboxes as drawn squares.**Use the Rectangle tool to draw small empty squares next to options. Recipients tick them with their PDF reader's checkmark annotation. 5. **Add a signature line.**Draw a horizontal line with the label “Signature” or “Sign here”. The recipient will use their PDF reader's signature tool (or PDFFlare's Sign PDF) to drop a real signature on it. 6. **Save the form template.**Download the edited PDF. It's now a fillable PDF form ready to send. ## How Recipients Fill Out the Form Modern PDF readers all support typing-into-PDF as a standard annotation feature: - **Mac Preview** — Tools → Annotate → Text, then click anywhere on the page to type. - **Windows Edge / Chrome** — open the PDF in browser, click the Text annotation icon at the top, click on the page to type. - **iPad / iPhone** — open in Files or Preview, tap Markup, tap + → Text. - **Adobe Acrobat Reader (free)**— Tools → Fill & Sign → click anywhere to type. For signatures, recipients use the Signature option in their reader, OR they can drop the file into [PDFFlare's Sign PDF tool](https://pdfflare.com/tools/pdf/sign-pdf) — type, draw, or upload an image signature, place it on the line you drew, save. ## Pro Tips for Form Design ### How to add text fields to a PDF (no Acrobat) Don't try to recreate Acroform fields with Edit PDF — instead, use _visual_placeholders that communicate “type here” to the recipient: a gray rectangle, an underline, or text like “[Click to type]”. Recipients understand visual cues better than fields they can't tab between. ### How to create a signature line on a fillable PDF Draw a horizontal line, add the label “Signature (sign above)” below it. Add a smaller line next to it with the label “Date”. Recipients then use [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) (or their PDF reader's signature tool) to drop a signature image directly on the line. Date can be typed via annotation. ### How to make a fillable PDF form for multiple recipients Save the empty fillable PDF as your template, send the same template to N people, collect filled-in copies back. When you receive the filled PDFs, use [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) to combine them into one document for archiving or review. ## When You Actually Need Acrobat (Real Acroform Fields) Three scenarios where flat fillable isn't enough: - **The recipient can't use a modern PDF reader.** Some legacy enterprise PDF readers (or government portal uploads) require true Acroform fields. - **You need form data extracted programmatically.** If you're collecting data from 1000 filled forms and want to script-extract the field values, you need Acroform fields with named keys. Annotation-based text won't round-trip. - **Calculations on the form (totals, dates).** Flat fillable PDFs can't compute. Acroform supports JavaScript-driven calculation between fields. For these cases, Acrobat Pro, LibreOffice Draw (free!), or specialized form builders are the right tool. For everything else (contracts, NDAs, intake forms, permission slips), flat fillable + PDFFlare's tools is genuinely fine. ## Common Mistakes - **Making the lines too short.**If a field expects 30+ characters but the line is 60 pixels wide, recipients run out of space and start typing outside the line. Make lines generous; users won't type into a tight space. - **Forgetting to add a date field.** Almost every signed document needs a date. Add a labeled date line next to the signature line by default. - **Locking the PDF before sending.** Password-protecting the form for “security” often blocks the recipient's annotation tool. If the PDF needs to be filled, it can't be locked against editing — only against printing or copying. ## Privacy: Forms Stay In Your Browser Both PDFFlare's Edit PDF and Sign PDF run entirely client-side via the File API and pdf-lib. The blank form template you create, the signed copies you process, even sensitive intake-form responses — none of it uploads. Open DevTools → Network while building the form and you'll see zero requests to PDFFlare during the editing flow. ## Related Tools - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — the form-building workhorse. Add text, lines, rectangles, checkboxes, and labels to any PDF. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — for the signature step. Type, draw, or upload an image signature; place anywhere on the form. - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) — start your form as a Word doc, convert to PDF, then add fillable fields. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine returned filled-in copies into one archive document. ## Wrapping Up Make a fillable PDF form free is a solved problem if you're willing to use flat-fillable instead of Acroform fields — which 95% of contracts, intake forms, and signature requests don't actually need. PDFFlare's [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) builds the empty form, recipients fill via standard PDF reader annotations, and [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) handles the signature step. Total cost: zero. Time saved vs. an Acrobat subscription: $300/year. --- ## Frequently asked questions **Q: Can I make a fillable PDF form free without Adobe Acrobat?** A: Yes — for 95% of practical use cases (contracts, NDAs, intake forms, permission slips), a 'flat fillable' PDF works perfectly. Build the empty form with PDFFlare's Edit PDF tool by adding labeled blank lines and rectangle outlines for fields. Recipients fill it using their PDF reader's annotation tools (Mac Preview, Edge / Chrome PDF viewer, iPad Markup) — every modern PDF reader supports typing into PDFs as a standard feature. Total cost: zero. Acrobat is only needed if you require true Acroform fields (rare). **Q: How do I add text fields to a PDF without Acrobat?** A: Open the PDF in PDFFlare's Edit PDF tool. Use the Text tool to add field labels ('Name:', 'Date:', 'Address:'), then use a thin underline shape or rectangle with transparent fill to mark the fillable region visually. Recipients see clear visual cues — they tap the line and type using their PDF reader's annotation feature. This produces a flat fillable PDF that works in every reader without requiring Acroform fields. **Q: How do I create a signature field on a fillable PDF?** A: Draw a horizontal line where the signature goes, label it 'Signature' below or to the side. Add a smaller line next to it labeled 'Date'. The recipient uses their PDF reader's signature feature (or PDFFlare's Sign PDF tool) to drop a real handwritten or typed signature on the line. The line itself is just a visual cue — no special PDF metadata needed. **Q: When do I actually need Acrobat's true Acroform fields?** A: Three scenarios: (1) the recipient uses a legacy enterprise PDF reader that requires Acroform metadata; (2) you need to extract form data programmatically from many filled copies (Acroform fields have named keys, annotation-based text doesn't); (3) the form needs computed fields like date stamps, totals, or conditional logic. For 95% of practical cases (contracts, NDAs, simple intake forms), flat fillable + PDFFlare is enough. **Q: Can recipients fill out my fillable PDF on mobile?** A: Yes — every modern mobile PDF reader supports typing-into-PDF. iPad / iPhone: open in Files or Preview, tap Markup, tap + → Text, tap on the line and type. Android: open in Drive or Adobe Acrobat Reader (free), tap the annotation tool, type. Or recipients can drop the form into PDFFlare's Edit PDF in their mobile browser to fill it via the same workflow. No special mobile app needed. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Save a Google Doc as PDF (Desktop, iPhone, iPad) URL: https://pdfflare.com/blog/save-google-doc-as-pdf Published: May 6, 2026 Reading time: 8 min read > Save a Google Doc as PDF on desktop, iPhone, iPad — with comments, without comments, in any layout. Plus how to compress, sign, or merge after export. --- Google Docs is great for collaborative editing, but the moment you need to send a final version to someone outside Google's ecosystem — a client, a job application, a government portal — they want a PDF, not an editable link. Knowing how to save a Google Doc as PDF is one of those quick skills that pays off every week. The good news: Google Docs has PDF export built in on every platform. The slightly annoying news: the export button's in a different place on each one. In this guide you'll learn how to save a google doc as pdf from desktop (Chrome, Safari, Firefox, Edge), iPhone, and iPad — with optional comment inclusion, page range, and standard PDF cleanup using PDFFlare's [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) and [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) tools afterward. The whole flow takes 30 seconds once you know where the button lives. ## Why Save a Google Doc as PDF (vs. Sharing the Link)? PDF is the right export format when: - **The recipient isn't in your Google org** — sharing the link prompts a sign-in flow which most external recipients won't bother with. - **The version needs to be frozen**— once you export, the PDF is the final artifact; the live doc can change but the PDF won't. - **You need to sign or annotate it**— Google Docs doesn't support flat handwritten signatures; export to PDF then use [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf). - **You're uploading to a portal that takes PDFs** — job applications, gov forms, court filings. ## How to Save a Google Doc as PDF (Step by Step) 1. **Open the doc** at docs.google.com or via your Drive folder. 2. **File menu → Download → PDF Document (.pdf).** That's the entire flow on desktop. The download starts immediately. 3. **Or use Print (Ctrl+P / Cmd+P)** → change destination to _Save as PDF_. This route gives you more control: page range, scale, custom margins. 4. **Pick a filename + location.** Google Docs defaults to the doc title; rename if you want. ## Mobile + Tablet: Different Flow ### How to save a Google Doc as a PDF on iPhone Open the doc in the Google Docs iOS app. Tap the three-dot menu (top right) → _Share & export_ → _Send a copy_ → _PDF_ → tap the iOS Share sheet → _Save to Files_. This produces a PDF in your Files app you can email or upload anywhere. ### How to save a Google Doc as a PDF on iPad Same flow as iPhone if you're using the Google Docs app. If you're in iPad Safari at docs.google.com, you can also use the desktop flow: File → Download → PDF (the menus appear identical because the iPad uses the desktop-class web app). After download, drop into [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) if you need a signature on it. ### How to save a Google Doc as a PDF on Android Open in the Google Docs Android app. Three-dot menu →_Share & export_ → _Save as_ → _PDF document_ → save to Drive or Downloads. From Downloads, the file can be uploaded anywhere. ## Common Pitfalls (and Fixes) - **Comments don't appear in the PDF.** By default, Google Docs strips comments on export. Workaround: in the doc, click _View → Print preview → Show comments_ (the comment-bubble icon in print preview), then export. Or use Print → Save as PDF, which respects whatever you have visible. - **Page breaks are different from what you see on screen.** The doc viewer uses continuous scroll; the PDF paginates by paper size. Switch to _View → Print layout_ before exporting to see page breaks accurately. - **Header / footer images are missing.** Some image types don't round-trip through PDF export. Re-add as standard images in the body and re-export. - **Tables overflow.** Wide tables get cropped at the right edge. Switch the doc to _landscape_ orientation (File → Page setup) before exporting. ## Differences Between Google Docs Export and a Native PDF A PDF that started life as a Google Doc has a few fingerprints that distinguish it from a PDF created in Word or Acrobat: - **Font substitution.** Google Docs uses a limited set of web fonts; the PDF embeds them, but they may render slightly differently than the same nominal font from Microsoft or Apple. For final-version consistency, stick to standard fonts (Arial, Times New Roman, Calibri) before exporting. - **Suggesting + comment artifacts.** Even with comments hidden, the PDF metadata can carry suggestion-mode trace data. For a clean shareable PDF, accept or reject all suggestions BEFORE exporting. - **Form-input fields don't round-trip.** If your Google Doc had checkboxes or smart chips, those flatten to plain text or images on PDF export. Re-add interactive elements with [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) after export if you need them. - **File size is bigger than expected.** Google embeds full-resolution images even when the doc displays them small. A 5-image doc that looks like 500 KB on screen often exports as 8-12 MB. Compress after. ## What to Do With the Exported PDF Three follow-up tasks PDFFlare handles cleanly: - **Compress the PDF** — Google Docs PDFs with embedded images can be 5-15 MB. Drop into [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) for a 70%+ size reduction with no visible quality loss. - **Sign the PDF** — for a contract, NDA, or offer letter you exported from Docs to PDF, drop into [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) and add a signature in 3 clicks. - **Merge with attachments** — exported a cover letter from Docs, downloaded a resume from another source? Combine with [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf). ## Privacy: Google Handles Export, PDFFlare Handles Cleanup Locally The PDF export step happens on Google's servers (the doc has to round-trip through their renderer). PDFFlare's tools — Compress PDF, Sign PDF, Merge PDF, Edit PDF — all run client-side: the file you exported never re-uploads anywhere except for Compress PDF, which uses a sandboxed Cloud Run worker that processes in memory and deletes the file immediately. For maximum privacy on sensitive Google Docs exports (offer letters, internal memos), use Sign / Merge / Edit which are fully browser-based. ## Related Tools - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink heavy Google Docs exports for email attachment. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — add a real signature to the exported PDF; Docs doesn't do handwritten signatures. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine the Doc export with attachments (resume, schedule, supporting documents). - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — annotate, add date stamps, or fill blank lines in the exported PDF. ## Wrapping Up Save google doc as pdf is a 3-click flow on every platform — File → Download → PDF on desktop, three-dot menu → Share & export on mobile. The PDF you get out is functional, but it often needs a quick cleanup step (compress, sign, merge with attachments) before sending. PDFFlare's [PDF tools](https://pdfflare.com/tools/pdf/compress-pdf) handle every common cleanup task without uploading the file or requiring an account. --- ## Frequently asked questions **Q: How do I save a Google Doc as a PDF on desktop?** A: Open the doc at docs.google.com. Click File → Download → PDF Document (.pdf). The PDF downloads immediately with the doc's title as the filename. Or press Ctrl+P (Cmd+P on Mac) → change destination to 'Save as PDF' for more control: page range, scale, custom margins, header/footer customization. After saving, use PDFFlare's Compress PDF to shrink heavy exports before emailing. **Q: How do I save a Google Doc as a PDF on iPhone?** A: Open the doc in the Google Docs iOS app. Tap the three-dot menu (top right) → Share & export → Send a copy → PDF → tap the iOS Share sheet → Save to Files. The PDF lands in your Files app, ready to email, AirDrop, or upload. The same flow works on iPad in the Google Docs app, or use the desktop flow in iPad Safari at docs.google.com. **Q: Why don't my comments appear in the exported PDF?** A: Google Docs strips comments by default on PDF export. To include them: in the doc, click View → Print preview → toggle the comments-visible icon, then export from print preview. Or use Print → Save as PDF (Ctrl+P / Cmd+P) which respects whatever's currently visible on screen — show comments first, then print to PDF. The exported PDF will then include each comment as a margin note. **Q: How do I sign a Google Doc PDF after exporting?** A: Google Docs doesn't support handwritten signatures natively. Export the doc to PDF first (File → Download → PDF Document), then drop the PDF into PDFFlare's Sign PDF tool. Type, draw with a mouse/Apple Pencil, or upload an image of your signature. Place it on the signature line, save, and you have a signed PDF — total flow takes about a minute, and the file never uploads anywhere outside your browser. **Q: Why does my exported Google Docs PDF look different from the document?** A: Two common causes: (1) the doc viewer shows continuous scroll while the PDF paginates by paper size, so page breaks appear in different places. Fix: switch to View → Print layout in the doc before exporting. (2) Some image types or third-party fonts don't round-trip through Google's PDF export. Fix: replace problematic images, or use Google's standard fonts. For wide tables that get cropped, switch the doc to landscape orientation (File → Page setup) before exporting. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Print to PDF on Mac and Windows (Free, Built In) URL: https://pdfflare.com/blog/print-to-pdf-mac-windows Published: May 6, 2026 Reading time: 8 min read > Print to PDF on Mac, Windows 11, Linux — using the built-in Save as PDF dialog. Plus how to compress, merge, or sign the PDF you printed afterward. --- Print to PDF Mac and Print to PDF Windows are two of the most useful features built into every modern operating system — and two of the most poorly named, since you're not actually printing anything. You're using the print dialog as a universal export hatch, because every app supports printing, which means every app supports saving any document as PDF. The trick is knowing where the “Save as PDF” option hides on each OS. In this guide you'll learn how to print to PDF on Mac (every macOS version still in support), Windows 10 and 11, and Linux — plus how to handle the inevitable follow-ups using PDFFlare's [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf), [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf), and [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) tools when you need to clean up, combine, or sign the printed PDF afterward. ## Why Print to PDF Instead of Exporting? App-specific export menus (File → Export, File → Save As) often only support a handful of formats. Print is universal. Anything that can render to a screen can print, which means anything can be saved as PDF — emails, web pages, recipes, invoices, calendar events, spreadsheets, source code, terminal output. If the print preview shows it correctly, the PDF will too. ## How to Print to PDF on Mac 1. **Open the document.** Email, web page, Pages doc, anything. 2. **Press Cmd+P** to open the print dialog. 3. **Click the PDF dropdown (bottom-left)** → _Save as PDF..._ 4. **Pick filename + location** → Save. That's the whole flow. The PDF dropdown also offers_ Save as PostScript_ (rare), _Mail PDF_ (composes a new email with the PDF attached), and_ Save to iCloud Drive_. For 99% of uses, plain Save as PDF is what you want. ## How to Print to PDF on Windows 11 (and Windows 10) 1. **Open the document.** 2. **Press Ctrl+P** to open the print dialog. 3. **Change Printer to “Microsoft Print to PDF.”** Built into Windows 10/11; nothing to install. 4. **Click Print, pick filename + location.** Microsoft Print to PDF is good but minimal — it lacks some features competing virtual printers offer (text OCR, password protection on save). For those, install a free PDF24 or CutePDF Writer. Or print plain → use PDFFlare for the post-processing. ## How to Print to PDF on Linux Most modern Linux distros ship with a PDF printer built in. In the print dialog (Ctrl+P), change the Printer to “Print to File” or “Save as PDF” (the wording depends on the desktop environment). On GNOME, the option is labeled _Print to File_and the output format defaults to PDF. KDE's print dialog has a similar option in the dropdown. If the Print to File option is missing, install `cups-pdf` via your package manager — it adds a virtual PDF printer that all apps can use. The generated PDFs typically land in `~/PDF/` or your home directory. ## Browser-Specific Notes ### How to print to PDF in Chrome on any OS Chrome has its own built-in print-to-PDF that works on every OS — change Destination to _Save as PDF_ in the print dialog. This is more reliable than the OS PDF printer for web pages because it uses Chrome's own renderer (consistent across machines) rather than handing off to the OS rendering layer. ### How to print to PDF without losing background colors By default, browser print dialogs strip background colors to save ink. For dark-themed pages this means white text on white background — useless. In Chrome / Edge: enable_ More settings → Background graphics_. In Safari:_ Show Details → Print backgrounds_. In Firefox:_ Print backgrounds_ in More Settings. ### How to print to PDF specific page ranges The print dialog's _Pages_ field accepts ranges like _2-5_ or comma-separated lists like_ 1, 3-5, 8_. Useful for printing just one chapter of a long PDF or just the receipt portion of a checkout confirmation. If the source app doesn't support page ranges, print the whole thing then use [PDFFlare's Split PDF](https://pdfflare.com/tools/pdf/split-pdf) to extract pages afterward. ## Print to PDF Windows-Specific Tips The Microsoft Print to PDF Windows experience has a few quirks worth knowing: - **Default location is awkward.** Microsoft Print to PDF defaults to the Documents folder rather than asking each time. Pin a more useful location (Desktop, a Downloads subfolder) by always typing the full path on first save. - **Filename auto-suggestion.**Microsoft Print to PDF suggests the document title as the filename — useful for browser tabs but often awkward for app-printed docs (e.g., “Untitled Document” from Notepad). Rename before saving. - **A4 vs Letter mismatch.**US Windows installs default to Letter; international installs to A4. If you're sending to someone abroad, change page size in the print dialog before saving. - **No password protection.**Microsoft Print to PDF doesn't support passwords. Print to plain PDF, then add a password using [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) afterward. - **Doesn't handle very wide content.** Wide tables or design canvases get cropped to page width. Switch the Print dialog to Landscape orientation or scale-to-fit, or print to PDF then use [Rotate PDF](https://pdfflare.com/tools/pdf/rotate-pdf) on the saved file if you missed it the first time. ## What to Do With the Printed PDF Three common follow-ups: - **It's too big.** Web-page PDFs with images often save as 5-30 MB. Drop into [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf); Balanced preset cuts size 70%+ with no visible quality loss. - **You printed multiple pages and want to combine them.** Use [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) to combine receipts, multi-part articles, or multi-tab confirmation flows. - **You need to sign the printed PDF.** Drop into [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) for a typed, drawn, or uploaded image signature. ## Common Mistakes - **Choosing the wrong page size.** Many apps default to A4; many users (especially in the US) want Letter. Mismatch causes off-screen content. Pick page size before saving. - **Saving with margins set to zero.** Browsers default to non-zero margins to keep text readable; setting margins to zero crams text to the edge of the page. Default margins look better. - **Forgetting to wait for content to load.** Lazy-loaded images on web pages render after initial paint. Scroll to the bottom of the page first to trigger all lazy-loads, then print. ## Privacy: Print-to-PDF Stays Local The OS-level PDF printers (Save as PDF on Mac, Microsoft Print to PDF on Windows, cups-pdf on Linux) run entirely on your machine — no server is involved. Browser-level Save as PDF (Chrome, Safari, Firefox) likewise runs locally. PDFFlare's post-processing tools (Compress, Merge, Sign, Edit, Split) all run client-side except Compress PDF, which uses a sandboxed Cloud Run worker that processes in memory and never writes to disk. ## Related Tools - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink heavy printed PDFs before email or upload. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multiple printed pages into one document. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — sign the PDF you printed without re-printing it. - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — extract specific pages from the printed PDF if you only need part of it. ## Wrapping Up Print to PDF mac, Windows, and Linux all use the same paradigm: open the print dialog, change the destination/printer to “Save as PDF” (or “Microsoft Print to PDF” on Windows), pick a filename, save. The output is universal — every PDF reader on every device can open it. For the cleanup afterward, PDFFlare's [tool suite](https://pdfflare.com/tools/pdf/compress-pdf) handles compression, merging, splitting, and signing without uploading the file or requiring an account. --- ## Frequently asked questions **Q: How do I print to PDF on Mac for free?** A: Every Mac has Save as PDF built in — you don't need to install anything or pay for Acrobat. Open any document (email, web page, Pages doc, anything), press Cmd+P, click the PDF dropdown in the bottom-left of the print dialog, and choose Save as PDF. Pick a filename and location. The PDF generates locally on your Mac without any upload or server involved. After saving, use PDFFlare's Compress PDF or Sign PDF for cleanup. **Q: How do I print to PDF on Windows 11?** A: Windows 10 and 11 ship with a virtual printer called 'Microsoft Print to PDF'. Open any document, press Ctrl+P, change the Printer dropdown to 'Microsoft Print to PDF', click Print, and pick a filename and location. The output is a standard PDF that any reader can open. If 'Microsoft Print to PDF' is missing from the Printer dropdown, enable it via Windows Features → 'Microsoft Print to PDF' checkbox. **Q: How do I print to PDF without losing the page's background colors?** A: Browser print dialogs strip background colors by default to save ink. For dark-themed pages this means white text on white background. The fix is one toggle: in Chrome / Edge expand 'More settings' and enable Background graphics; in Safari click 'Show Details' and enable Print backgrounds; in Firefox find 'Print backgrounds' under More Settings. Re-print to PDF after enabling and the colors come through correctly. **Q: Can I print to PDF specific page ranges?** A: Yes — every print dialog has a Pages field that accepts ranges like '2-5' or comma-separated lists like '1, 3-5, 8'. Useful for printing just one chapter of a long PDF or just the receipt portion of a confirmation. If the source app doesn't support page ranges, print the whole thing then use PDFFlare's Split PDF tool to extract specific pages from the saved PDF afterward — works the same way without re-printing. **Q: Does printing to PDF upload my document anywhere?** A: No. macOS Save as PDF, Windows Microsoft Print to PDF, and Linux cups-pdf all run entirely on your machine — the print is captured locally and written to a PDF file on your disk. Browser-level Save as PDF (Chrome, Safari, Firefox, Edge) likewise runs locally. PDFFlare's post-print tools (Sign, Edit, Merge, Split) also run client-side; only Compress PDF uses a sandboxed Cloud Run worker that processes in memory and immediately deletes the file. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Generate a JWT Secret + API Key (Cryptographically Secure) URL: https://pdfflare.com/blog/how-to-generate-jwt-secret-api-key Published: May 6, 2026 Reading time: 10 min read > Generate a JWT secret or API key in your browser using the Web Crypto API. Hex, base64, base64url, prefix presets, bulk. Free, no signup, never transmitted. --- You're standing up a new service, the README says `JWT_SECRET=`, and the internet's top results suggest you run `openssl rand -base64 32`or paste 32 random keyboard mashes. The first works but requires a terminal; the second is dangerously low-entropy. There's a middle ground: a one-click random secret generator that uses the same browser CSPRNG that backs WebAuthn and TLS, with presets for the formats your stack expects. In this guide you'll learn how to generate a JWT secret, an API key, a webhook signing secret, and an AES-256 encryption key online using [PDFFlare's Random Secret Generator](https://pdfflare.com/tools/dev/random-secret-generator). The tool works as a jwt secret generator (HS256 / HS384 / HS512), an api key generator online with custom prefixes, a random hex string generator for encryption keys, a webhook signing secret generator (Stripe-style whsec_ format included), a random base64 string generator for libsodium / KMS imports, an encryption key generator online for AES-256 keys, and a general-purpose secure random string generator for any other token need. Generation runs entirely in your browser via `crypto.getRandomValues()`; nothing is transmitted, logged, or stored. ## Why You Need a Cryptographically Secure Random Source A JWT secret signs every token your auth service issues. If an attacker can guess the secret, they can forge tokens for any user. So “random” isn't a casual property — it's the entire security posture of your authentication system. Two ways people get this wrong: - **Using `Math.random()`** (or any non-cryptographic PRNG) — these are seeded from system clocks or Mersenne Twister state and produce predictable output. Acceptable for shuffling cards in a game, never for secrets. - **Using human-typed passwords**— “mySecret123!” has maybe 30 bits of entropy because it's drawn from the small set of memorable patterns humans pick. A 256-bit random secret has 256 bits, an unimaginably larger search space. The right source is a CSPRNG (Cryptographically Secure Pseudo-Random Number Generator) seeded from the OS's entropy pool. In a browser that's `crypto.getRandomValues()`, which delegates to` /dev/urandom` on Linux/Mac and `BCryptGenRandom` on Windows. Same standard the browser uses internally for TLS handshakes and WebAuthn key generation. ## How to Generate a JWT Secret (Step by Step) 1. **Open the random secret generator.** Visit [/tools/dev/random-secret-generator](https://pdfflare.com/tools/dev/random-secret-generator). 2. **Click the JWT HS256 secret preset.** This sets length to 256-bit and format to base64 — exactly what JOSE-compliant JWT libraries (jsonwebtoken, jose, PyJWT, etc.) expect for HS256. For HS512, click JWT HS512 instead (512-bit base64). 3. **Copy the result.** Click the Copy button on the secret output row. The clipboard now holds your production JWT signing secret. 4. **Paste into your secrets manager.** For local dev, paste into `JWT_SECRET=...` in your` .env` file. For production, drop it into AWS Secrets Manager, GCP Secret Manager, Vercel/Railway env vars, or whatever your platform uses. Never commit the secret to git. ## API Key, Webhook Secret, and Encryption Key Workflows ### How to generate a secure API key online with a custom prefix API keys benefit from a recognizable prefix — when a user accidentally pastes one into a chat or commits one to git, a prefix like `api_` or `sk_live_` makes it scannable. The API key preset produces a 256-bit base64url string with `api_` prepended: URL-safe (no +/= chars to escape), prefix-tagged for log scanning, and 256 bits of entropy. Or pick a custom prefix from the Prefix dropdown — Stripe live, Stripe test, GitHub PAT, webhook signing, or roll your own. ### How to generate a Stripe webhook signing secret format Stripe webhook secrets look like `whsec_AbCdEfGhIjKl...` — a 256-bit value with a `whsec_`prefix. The Stripe webhook secret preset mirrors this exactly. Pair the result with PDFFlare's [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator) to test that your signing logic produces the same signature Stripe's SDK would. Use the same secret on both ends — your server signs, your receiver verifies, byte-perfect. ### How to generate an AES-256 encryption key in hex format AES-256 needs a 256-bit key (32 bytes). The AES-256 encryption key preset produces 64 hex characters — paste straight into your encryption library, an HSM, KMS import, or a config file expecting hex. If you'd rather have base64 (libsodium prefers it), switch the format to Base64 and the same 32 random bytes encode as ~44 base64 characters with identical entropy. ### How to generate multiple API keys in bulk Beta launches and key rotations need batches. Pick 10, 25, or 50 from the quantity selector and hit Generate — each secret is independently produced from a fresh `crypto.getRandomValues()` call. Click Copy all to put them all on the clipboard newline-separated; paste into a config file, a database seed, or a CSV ready for import. ## Choosing a Format: Hex vs Base64 vs Base64url vs Alphanumeric Same entropy, different shape — pick the one your downstream tool expects: - **Hex (lowercase / UPPERCASE)** — the most universal format. 2 chars per byte. Used by every CLI (`openssl rand -hex`, `xxd`, PowerShell's `Get-FileHash`) and most crypto libraries when you need a literal hex secret. - **Base64** — denser (4 chars per 3 bytes). What most JWT libraries expect for HMAC secrets. The `+` and `/` chars sometimes need escaping in URLs. - **Base64url (no padding)** — drops `=` padding and replaces `+/` with `-_`. Safe for URL params, JWT signature segments, and anywhere a regular base64 secret would need escaping. - **Alphanumeric** — A-Z, a-z, 0-9 only. Useful when the secret will pass through systems that mangle symbols. Slightly less entropy per character than base64, but generated with rejection sampling so every char is uniformly distributed (no modulo bias). ## Common Mistakes - **Reusing the same secret across environments.** Dev, staging, and prod each need their own JWT secret. If dev leaks, prod stays safe. Different secrets also mean a token signed in dev won't accidentally validate in prod. - **Committing the secret to git.** Even in a private repo, secrets in git history are findable forever. Use `.env.local`(git-ignored) for dev and a secrets manager for prod. If you accidentally commit one, rotate immediately — assume it's public. - **Picking a length below the algorithm requirement.** HS256 demands 256-bit minimum, HS512 demands 512-bit. The JWT library may not error on a short secret but JOSE validators will, and your security guarantee silently degrades. - **Mixing up signing and encryption keys.** HMAC keys and AES keys are both “random 32 bytes” in shape but should never be reused — the security analysis assumes they're independent. Generate each fresh. ## Privacy: Secrets Stay in Your Browser The whole point of generating secrets in a tool is that the tool can't know what you generated. PDFFlare's random secret generator runs `crypto.getRandomValues()`in your browser, fills a typed array with cryptographically random bytes, and formats them locally. There's no network call during generation — open DevTools → Network and watch the tab stay empty as you click Generate. The only persisted state is your format / length / prefix preferences in localStorage; generated secrets are NEVER stored. This is what makes the tool safe to use for production secrets, not just dev experiments. ## Related Tools - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator) — test that the secret you just generated produces the right webhook / JWT signature. Same algorithms (SHA-256 / 384 / 512), same key, byte-perfect output verified against RFC 4231 reference vectors. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — paste a token signed with your new secret to verify the header.payload structure decodes cleanly and standard claims (iss, sub, exp, iat) are what you expect. - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — for IDs (request IDs, idempotency keys, primary keys), not for secrets. UUIDs are unique-not-unguessable; secrets are unguessable-not-unique. Different tools. - [Password Generator](https://pdfflare.com/tools/dev/password-generator) — for HUMAN passwords (account login, master passwords). The Random Secret Generator is for SYSTEM secrets that humans never type. Use whichever matches who reads the output. ## Wrapping Up Generating a secure random secret is a 30-second task that decides whether your authentication system can be forged tomorrow. Use a CSPRNG (which PDFFlare's [Random Secret Generator](https://pdfflare.com/tools/dev/random-secret-generator) uses), pick the format your stack expects, store the secret somewhere your code can reach but a git commit can't, and rotate when in doubt. --- ## Frequently asked questions **Q: How long should a JWT secret be in 2026?** A: RFC 7518 (JOSE) requires HS256 secrets to be at least 256 bits (32 bytes), HS384 needs 384-bit minimum, and HS512 needs 512-bit minimum. PDFFlare's JWT HS256 preset produces exactly 256 bits of base64; the JWT HS512 preset produces 512 bits. Going larger than the algorithm output size doesn't add meaningful security; going smaller reduces brute-force resistance and is flagged by JOSE-compliant libraries. **Q: Is crypto.getRandomValues() safe for production secrets?** A: Yes — it's the W3C Web Cryptography API CSPRNG, seeded from the operating system entropy pool (/dev/urandom on Linux/Mac, BCryptGenRandom on Windows). It's the same source the browser uses internally for TLS handshakes and WebAuthn key generation. Don't confuse it with Math.random(), which is a non-cryptographic PRNG and should never be used for secrets. **Q: Why does an alphanumeric API key have less entropy than hex?** A: Hex uses a 16-char alphabet (4 bits per char), so a 32-char hex string carries 128 bits of entropy. Alphanumeric uses a 62-char alphabet (~5.95 bits per char), so a 32-char alphanumeric string carries ~190 bits. Both are plenty for an API key. PDFFlare's tool shows the resulting bit count next to the format selector so you can pick consciously. **Q: What's the difference between a JWT secret and an API key?** A: A JWT secret signs and verifies tokens — it's shared between the issuer and verifier of JWTs and never sent to clients. An API key is sent BY clients to authenticate themselves to your API — clients hold it, your server checks it. Both should be cryptographically random, but they live in different parts of your system. Use the JWT HS256 preset for the former, the API key preset for the latter. **Q: Can I generate a Stripe-compatible webhook signing secret?** A: PDFFlare's Stripe webhook secret preset produces a `whsec_` prefix plus 256 bits of hex — the same shape as Stripe's published webhook secrets. It's NOT a real Stripe-issued secret (only Stripe's dashboard can issue those for actual webhook endpoints), but it's the right format for testing your signing/verification pipeline locally, building mock servers, or replicating the format in your own webhook system. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Verify a Checksum on Mac, Windows, Linux (Free, Online) URL: https://pdfflare.com/blog/how-to-verify-a-checksum-mac-windows-linux Published: May 6, 2026 Reading time: 9 min read > Verify a checksum online without installing anything — paste a SHA-256, MD5, or SHA-512 hash, drop the file, get an instant ✓ Match. Free, browser-only. --- You opened a download page, copied a long string of hex characters labeled “SHA-256,” and now you have to figure out whether the file you just downloaded matches it. The official docs point you at `shasum -a 256` on Mac, `Get-FileHash` in PowerShell on Windows, and `sha256sum`on Linux — three different commands, three different output formats, and you still have to eyeball two 64-character strings to decide if they match. There's a faster way that works the same on every OS. In this guide you'll learn how to verify a checksum online using [PDFFlare's Verify Checksum tool](https://pdfflare.com/tools/dev/verify-checksum) — paste the publisher's hash, drop the file, get a big green ✓ Match or red ✗ Mismatch in seconds. Use it as a sha256 hash verifier when downloading Linux ISOs, to verify md5 hash digests on legacy archives, as a checksum verifier online for Windows installers, or as a verify file integrity online tool for backups. Auto-detects the algorithm by hex length so a single field handles SHA-256, MD5, SHA-1, SHA-384, and SHA-512. ## What Is a Checksum and Why Verify It? A checksum is a deterministic fingerprint of a file. Run any modern hash function (SHA-256 is the de-facto standard in 2026) over the raw bytes and you get a fixed-size digest — 64 hex characters for SHA-256, 32 for MD5, 128 for SHA-512. Change a single byte anywhere in the file and the digest changes completely. So when you compute the hash on YOUR copy of the file and compare it to the hash the publisher posted, a match means byte-for-byte identical. A mismatch means something happened: a corrupted download, a wrong file, or tampering somewhere in the chain. - **SHA-256** — modern default. 64 hex chars. Used by Linux distros (Ubuntu, Fedora, Debian), GitHub releases, most package managers, container registries. - **MD5** — legacy. 32 hex chars. Cryptographically broken since 2004 but still useful for non-security integrity checks against trusted sources, especially older Linux mirrors and archive formats. - **SHA-1** — legacy. 40 hex chars. Broken for collision resistance since 2017 but still seen on older release pages. - **SHA-512** — bigger SHA-2 sibling. 128 hex chars. Common on Apache projects and some Linux distros that publish both SHA-256 and SHA-512. ## How to Verify a Checksum Online (Step by Step) 1. **Find the publisher's hash.**On the download page, look for “SHA-256”, “Checksum”, or a link to a `SHA256SUMS` file. Copy the hex string. PDFFlare also accepts the entire SHA256SUMS-style line (`abc… filename.iso`) — the tool keeps just the hash portion. 2. **Open the verify checksum online tool.** Visit [/tools/dev/verify-checksum](https://pdfflare.com/tools/dev/verify-checksum) and paste the hash into the Expected hash field. The tool auto-detects the algorithm by counting hex characters — no need to choose SHA-256 vs MD5 manually. 3. **Drop the file you downloaded.** Drag the .iso / .zip / .exe / .dmg into the upload area, or click to browse. The file is hashed locally in your browser using` crypto.subtle.digest()`; nothing uploads. 4. **Read the verdict.** Green ✓ Match means the file is byte-perfect — install with confidence. Red ✗ Mismatch shows both the expected and actual hashes side by side so you can see exactly where they diverge. ## Verify SHA-256 Checksums Across Operating Systems ### How to verify a SHA-256 checksum on Mac (shasum vs the web) macOS ships with `shasum -a 256 ~/Downloads/ubuntu-24.04-desktop-amd64.iso`— runs SHA-256 on the file and prints the digest. To verify, you copy the publisher's expected hash and compare two long hex strings by eye. PDFFlare's verify sha256 checksum flow does the same comparison constant-time and shows a single green / red verdict instead. No Terminal needed; the comparison is unambiguous. ### How to verify a SHA-256 checksum on Windows (Get-FileHash) PowerShell's `Get-FileHash -Algorithm SHA256 .\ubuntu.iso` outputs the hash in UPPERCASE hex — annoying because almost every publisher publishes lowercase. PDFFlare normalizes case automatically, so pasting an uppercase hash and verifying against a lowercase published value (or vice versa) just works. Acts as a checksum verifier online whether you're on Windows 10, 11, or Server. ### How to verify a SHA-256 checksum on Linux (sha256sum) Linux gives you the cleanest CLI experience: `sha256sum -c SHA256SUMS` reads every line of a SHA256SUMS file and verifies every listed file in one shot — ideal for big batches. For a single file though, the verify checksum online tool is faster: drop the SHA256SUMS file itself into the companion drop zone, drop the actual file at the top, and PDFFlare picks the matching hash from the SHA256SUMS contents and verifies it. ## Common Checksum Verification Scenarios ### Verifying an Ubuntu / Fedora / Debian ISO before flashing Before `dd` or Rufus writes the image to a USB stick, run the verify iso checksum step. Linux distros are a common target for compromised mirrors because everyone downloads them. The 30 seconds the verification takes is cheap insurance against installing a tampered image. Do this BEFORE writing to disk, not after. ### Verifying a GitHub release artifact Many open-source projects publish a checksums file alongside their release tarballs. Drop the released artifact into PDFFlare's sha256 hash verifier, paste the matching line from `checksums.txt` or `SHA256SUMS`, and confirm in one click. If a release page only publishes a GPG signature instead of a SHA-256, you'll need a GPG client — but most projects publish both, and SHA-256 alone is enough to catch corruption and most tampering. ### Verifying a Windows installer or macOS .dmg Software vendors sometimes publish a SHA-256 fingerprint alongside .exe / .msi / .dmg downloads. PowerShell can compute the local hash, but pasting two long hex strings into a small terminal window and trying to compare them by eye is error-prone. The verify checksum online tool gives you a clear green / red answer — no eyeballing required. ### Comparing file hashes after a backup or transfer When you copy a 50 GB backup to a new drive, hash the source using PDFFlare's [File Checksum tool](https://pdfflare.com/tools/dev/file-checksum), record the SHA-256, then later use this Verify tool to compare file hash values against the destination. Match means byte-perfect. Mismatch means silent disk corruption or partial copy — re-do the transfer before you trust the backup. ## Common Mistakes The two most common “why doesn't my hash match?” situations have nothing to do with the file being bad: - **Pasting the GPG signature instead of the hash.** Some download pages have a `.asc` signature file and a `SHA256SUMS` file. The signature signs the SHA256SUMS file, not your download. You need the hash from INSIDE the SHA256SUMS file, not the signature itself. - **Hashing the wrong file.**Common when a project publishes multiple architectures (x86_64, arm64) or multiple flavors (full, minimal). Make sure the hash you pasted corresponds to the exact filename you downloaded. PDFFlare's SHA256SUMS-line parsing helps because the full line includes the filename you can spot-check. - **Stale download from a CDN cache.**Some mirrors lag behind the canonical hash. If you mismatch against the official hash but match against an older one, re-download from the project's primary mirror. ## Privacy: Files Stay in Your Browser Verifying download integrity should never require uploading the download. PDFFlare's verify checksum tool reads the file via the browser's File API and hashes it in` crypto.subtle.digest()`(a small client-side MD5 module fills the gap for that one algorithm). Nothing crosses the network during the hash computation. You can confirm by opening DevTools → Network and watching the tab stay empty while the hash runs. This is what makes the tool safe for sensitive backups, internal builds, encrypted archives, and proprietary downloads — anything you can't send to a third-party hash service. ## Related Tools - [File Checksum](https://pdfflare.com/tools/dev/file-checksum) — compute MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512 of any file in one pass. The companion to Verify Checksum: this one shows you the hashes; Verify takes a hash and tells you yes-or-no whether the file matches. - [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) — same algorithms, but for strings. Useful for cache keys, JWT payload digests, and anywhere you need to hash text rather than bytes. - [HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator) — for keyed hashes (webhook signatures, JWT HS256). Not for download verification, but adjacent enough that people who verify checksums also sign payloads. - [Base64 Encode / Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — convert between base64 and hex when a publisher provides one but you need the other to compare. ## Wrapping Up A 30-second verify checksum step prevents installing a corrupted or tampered file on your machine. Whether the publisher gave you a SHA-256, MD5, or SHA-512 hash, whether you're on Mac, Windows, or Linux, and whether the hash is hex or base64, PDFFlare's [Verify Checksum tool](https://pdfflare.com/tools/dev/verify-checksum) handles the math and gives you a clear green / red answer without any install. --- ## Frequently asked questions **Q: How do I verify a SHA-256 checksum without installing anything?** A: Open PDFFlare's verify checksum online tool, paste the SHA-256 hash from the publisher's download page (a 64-character hex string), then drag the file you downloaded into the upload area. The tool auto-detects that the hash is SHA-256, computes the file's SHA-256 in your browser, and shows a green ✓ Match or red ✗ Mismatch. Identical experience on Mac, Windows, and Linux because everything runs in the browser — no shasum, Get-FileHash, or sha256sum needed. **Q: Does PowerShell's Get-FileHash work the same way as shasum on Mac?** A: The underlying SHA-256 is identical, but the output format differs. PowerShell prints UPPERCASE hex; shasum and sha256sum on Mac/Linux print lowercase. Almost every publisher publishes lowercase. If you ran Get-FileHash and want to verify against a lowercase published hash, either lowercase the result yourself or paste both into PDFFlare — the tool normalizes case automatically and compares constant-time. **Q: What if I copy a SHA256SUMS line that includes the filename?** A: PDFFlare's verify checksum tool understands SHA256SUMS-style lines — paste `abc123... ubuntu-24.04-desktop-amd64.iso` and it keeps just the hash portion. You can also drop the SHA256SUMS or .sha256 file itself into the companion drop zone (expand the disclosure below the verdict) and the tool extracts the contents automatically. This is the fastest workflow for verifying Linux distro ISOs because the SHA256SUMS file is what they ship. **Q: Why does an MD5 checksum still appear on some download pages?** A: Backwards compatibility. MD5 has been cryptographically broken since 2004, but it's still useful as a non-security integrity check against a publisher you already trust — corruption from a flaky network or bad disk will change the MD5 just as much as it changes a SHA-256. PDFFlare's verify md5 hash flow handles MD5 (32-character hex), SHA-1 (40), SHA-256 (64), SHA-384 (96), and SHA-512 (128) the same way. Auto-detect picks whichever the publisher used. **Q: If the verdict is mismatch, is the file dangerous?** A: Mismatch means the file you have is NOT byte-identical to what the publisher signed. Three causes: (1) corrupted download — incomplete bytes, common with large files over a flaky connection; (2) wrong file — you may have grabbed an older release or a different architecture; (3) tampering — a compromised mirror or MITM swapped the file. The safe response is the same in all three cases: re-download from the original source over HTTPS and verify again. If multiple downloads from different mirrors all mismatch, contact the publisher. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Verify a File Checksum Online (SHA-256, MD5, Free) URL: https://pdfflare.com/blog/how-to-verify-file-checksum-online Published: May 6, 2026 Reading time: 9 min read > Verify a file checksum online — drop the file, paste the publisher's SHA-256 or MD5 hash, get an instant ✓ Match. Browser-based, no upload, free. --- You downloaded a 4 GB Linux ISO over a sketchy connection. The publisher posted a SHA-256 checksum next to the download link. The download finished, but did it land intact? Did some byte flip on the way? Did a man-in-the-middle swap the file for a tampered version? The answer is one hash check away — and you don't need to install anything to do it. In this guide you'll learn how to verify file checksum values online using [PDFFlare's File Checksum tool](https://pdfflare.com/tools/dev/file-checksum) — drop the file, paste the publisher's expected hash, get an instant ✓ Match or ✗ Mismatch. Works as a sha256 file checksum verifier for ISO downloads, an md5 file hash online tool for legacy archives, a file hash calculator for any binary, and a file integrity checker for backups. Use it whenever you need to verify download checksum integrity in one click. Runs entirely in your browser; the file never uploads anywhere. ## What Is a File Checksum and Why Verify It? A checksum is a cryptographic fingerprint of a file. Run any modern hash function (SHA-256 is the standard in 2026) over the file's raw bytes and you get a fixed-size digest — 64 hex characters for SHA-256, 32 for MD5. Change a single byte anywhere in the file and the digest changes completely. Reproducible, deterministic, sensitive to even one-bit tampering. When a publisher releases software, they compute the SHA-256 once on their build server and post the result alongside the download. When you download the file, you compute SHA-256 on YOUR copy. If the digests match, the bytes you have are byte-for-byte the bytes the publisher signed. Mismatch means corruption (network glitch, disk error) or, worse, tampering (compromised CDN, MITM attack, swapped binary). This is why every reputable Linux distro, every major package manager, and every security-conscious open-source project ships checksums alongside binaries. Skipping the check is fine 99% of the time. The 1% is when an automatic security tool would have saved you hours of triage. ## How to Verify a File Checksum Step by Step 1. **Open the file checksum tool.** Visit [/tools/dev/file-checksum](https://pdfflare.com/tools/dev/file-checksum). No login, no signup, no install. Loads in under a second. 2. **Drop the file in.** Drag your downloaded file into the upload area, or click to pick. The tool accepts any file type — ISO, .deb, .dmg, .exe, .tar.gz, anything. The bytes are read locally; nothing uploads. 3. **Wait for the hash (a few seconds).** For files under 200 MB, all five hashes (MD5, SHA-1, SHA-256, SHA-384, SHA-512) compute in seconds. Larger files show a progress bar so you know how far the read is. 4. **Locate the publisher's expected hash.** On the project's download page, look for a SHA-256SUMS, CHECKSUMS, or RELEASE_HASHES file — or the hash printed inline next to the download link. Copy just the hex digest. 5. **Paste into the Verify section.**Scroll to the “Verify against a published hash” block, paste the expected hash, and confirm the algorithm matches what the publisher posted (almost always SHA-256). 6. **Read the result.**Green ✓ Match means your file is byte-identical to the publisher's. Red ✗ Mismatch means re-download. The tool uses constant-time comparison so timing attacks aren't possible. ## Common Checksum Verification Workflows ### How to verify a Linux ISO checksum (Ubuntu, Fedora, Debian) Every major distro publishes a SHA-256SUMS file alongside ISO downloads. For Ubuntu, it's at `releases.ubuntu.com//SHA256SUMS`. Open that file in a browser, copy the 64-character hex hash on the line matching your ISO filename, then paste into PDFFlare's verify field. The publisher also signs the SHA256SUMS file with their GPG key — that's a separate trust step, but the hash comparison itself is what catches corruption + most tampering. ### How to verify a software release on GitHub or GitLab GitHub releases often include a checksums.txt or .sha256 file in the assets. Download it, copy the hex hash for your platform's binary, drop the binary into PDFFlare, paste the hash, verify. If the project signs releases with cosign or GPG, follow up with the signature check via the publisher's recommended tooling — that part requires a CLI client. ### How to verify a sha256 file checksum on a corporate download Internal vendor releases (custom packages, enterprise software) frequently ship a hash via a separate channel — email, ticket, intranet. The point of the secondary channel is integrity assurance: an attacker who tampered with the package would also have to tamper with the email. PDFFlare reads the file locally, so even files that legally can't be uploaded to a third-party service can still be verified here. ### How to verify a backup against its original When you copy a backup or archive to a new drive, hash both the source and the destination separately. If the digests match byte-for-byte, the copy is intact. Even better — keep the source hash in your backup metadata so you can verify months or years later that the archived file hasn't bit-rotted on disk. ## Common Mistakes When Verifying a Checksum ### Comparing the wrong algorithm's digest The publisher's page shows both an MD5 and a SHA-256. You paste the SHA-256 but leave the algorithm select on MD5. Result: guaranteed mismatch. Always confirm the algorithm matches what was published — PDFFlare's select makes this explicit, but it's an easy fat-finger error. ### Verifying the wrong file The publisher releases a Linux ARM64 ISO and an x86 ISO with different hashes. You download x86 and try to match the ARM64 hash. Mismatch is correct — but it looks like corruption. Always line up the filename in the SHA256SUMS file with the file you actually downloaded. ### Hashing a partial download The download stalled at 87%, you click Verify, the tool dutifully hashes whatever bytes are present, and you get a mismatch. Check the file size against the publisher's posted size before hashing. If you're short, the file is incomplete; redownload. ### Trusting only the hash without checking the source A SHA-256 confirms your file matches the SHA-256 you compared against. But where did that SHA-256 come from? If both the download and the hash were served from the same compromised CDN, an attacker could have replaced both. Real defense: get the hash from a separate trusted channel (the project's GitHub, a signed release announcement) or verify the publisher's GPG signature on the SHA-256SUMS file itself. The hash check is necessary but not always sufficient. ### Re-downloading without identifying the cause of mismatch A mismatch sometimes resolves on re-download (transient network corruption). But if it persists, the issue isn't random — it's either consistent network interference, a compromised mirror, or the publisher's posted hash is stale. Don't loop on re-downloads forever; pivot to checking the source. ## Privacy and Security Notes Reading happens via the browser's File API, hashing happens in `crypto.subtle.digest()`for SHA + a local MD5 module. PDFFlare's file integrity checker never sends your file to any server, never logs filenames, never caches anything. You can verify by watching the Network tab in your browser dev tools while the tool runs — there will be zero requests to pdfflare.com during the hash computation. That said, the file is in your browser's memory while the read is in progress. If you're hashing genuinely sensitive material (encrypted backups whose contents matter, internal builds under NDA), close the tab when you're done. The browser frees the memory, the file is gone from the page. No residual storage. ## Related Tools - [Hash Generator (text input)](https://pdfflare.com/tools/dev/hash-generator) — for hashing strings, JWT payloads, webhook bodies, cache keys. Same algorithms as File Checksum but different input mode. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — paste a JSON Web Token, see header + payload + signature broken out. Useful when a hash you computed is part of a JWT signing chain. - [Base64 Encode / Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — convert hex digests to base64 (some publishers post their hashes in base64 instead of hex). - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — generate UUIDs for backup filenames, archive IDs, content-addressed storage keys. ## Wrapping Up Verifying a file checksum is a thirty-second insurance policy against half a day of debugging a mysteriously broken install. Drop the file, paste the publisher's SHA-256, get a green ✓ — and ship with confidence. The 1% of the time the check catches actual corruption is the 1% you really want to catch before flashing your install media or trusting a binary's output. Bookmark [the File Checksum tool](https://pdfflare.com/tools/dev/file-checksum) for the next time you download anything that matters. Free, browser-only, no signup — and now the sha256sum online utility that actually keeps your file in your browser. --- ## Frequently asked questions **Q: Where do I get the official SHA-256 hash to compare against?** A: Check the publisher's download page first — most projects post checksums (SHA-256SUMS, CHECKSUMS, or .sha256 files) alongside the binary. For Linux distros it's typically `releases..com//SHA256SUMS`. For GitHub releases, look in the release's assets. For npm/pypi, the package registry computes a hash automatically — `npm pack` and `pip download` both verify against this. If a project doesn't publish a hash, that's a real warning sign. **Q: Why does my hash not match even though I downloaded the right file?** A: Three usual suspects. (1) Wrong file — the publisher posts hashes for several variants (Linux x86, Linux ARM, macOS, Windows); make sure you grabbed the hash for YOUR platform's binary. (2) Partial download — check the file size against the publisher's posted size; if you're short, the download failed silently. (3) Wrong algorithm — you compared MD5 against SHA-256 by accident. PDFFlare shows all five algorithms simultaneously so you can match against whichever the publisher posted. **Q: Is verifying a checksum the same as verifying a digital signature?** A: No. A checksum proves bytes match a hash you compared against. A digital signature (GPG, cosign, Sigstore) proves the BYTES were signed by the publisher's private key — even if the hash AND the file were both served from a compromised CDN, the signature would catch the tampering. Most projects use both: SHA-256SUMS catches corruption, the GPG-signed SHA-256SUMS file catches the harder case where someone tampered with both. PDFFlare handles the hash side; signature verification needs a CLI tool like gpg or cosign. **Q: Does the file get uploaded to PDFFlare's servers when I verify?** A: No. The file is read via the browser's File API and hashed locally in `crypto.subtle.digest()` (and the small MD5 module). Nothing crosses the network. You can verify this by opening your browser's Network tab while the tool runs — zero requests to pdfflare.com during the hash computation. This is why corporate downloads under NDA and encrypted backups are safe to verify here; the bytes never leave your machine. **Q: Can I verify large files like multi-GB ISOs in the browser?** A: Yes — files of several GB work. The file is read in 4 MB chunks (with a progress bar so you can see how far it is) and hashed in your browser. Web Crypto handles the SHA digests at near-native speed. The practical limit is your machine's RAM during the read; on a typical 16 GB laptop you can hash files up to several GB without issue. For multi-tens-of-GB files, command-line `sha256sum` (Linux/macOS) or `Get-FileHash` (PowerShell) is more efficient because they stream rather than loading into memory. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Generate HMAC-SHA256 Online (Webhook Signatures, JWT HS256) URL: https://pdfflare.com/blog/how-to-generate-hmac-sha256-online Published: May 6, 2026 Reading time: 10 min read > Generate HMAC-SHA256 online for Stripe, GitHub, Slack webhook signatures, JWT HS256 tokens, and AWS Signature v4 chains. Browser-based, no signup. --- Your webhook receiver is rejecting Stripe's payloads as invalid. The signature header doesn't match what your code computes. Somewhere between the raw HTTP body, your endpoint secret, and the HMAC-SHA256 digest, something is off — and you have about ten minutes before someone notices customers aren't getting their receipts. The fastest way out is to compute the HMAC manually, side by side with what your code produces, and find which one drifted. In this guide you'll learn how to generate HMAC-SHA256 online using [PDFFlare's HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator) — paste your message, paste your secret, pick the algorithm, get the digest live as you type. Use it as an hmac generator online, an hmac sha256 generator for webhook signatures, an hmac calculator for AWS Signature v4 chains, or a webhook signature generator when you're building a receiver from scratch. Runs entirely in your browser; your secret never leaves the page. The same page swaps cleanly between algorithms — flip the selector once and it becomes an **hmac sha512 generator** for JWT HS512 tokens, an HMAC-SHA-384 calculator for HS384, or an HMAC-SHA-1 tool for legacy Twilio and AWS v2 chains. Switch the output encoding to base64 and you have an **hmac base64 generator** for the legacy webhooks that still expect that format, or to base64url for **jwt hs256 signer** use where the digest is appended after the dot. All four algorithms × four output formats are one click apart, so the same page is the **hmac calculator online**you reach for whether you're debugging Stripe in hex, signing a JWT in base64url, or pasting an old Mailgun digest in base64. ## What Is HMAC and Why Do Webhooks Use It? HMAC stands for Hash-based Message Authentication Code, defined in RFC 2104 with explicit test vectors in RFC 4231. Unlike a plain hash (where anyone with the same input gets the same output), HMAC takes _two_inputs: a secret key and a message. Without the secret, you can't reproduce the digest. That's exactly the property a webhook receiver needs. When Stripe sends you a webhook, the body contains data anyone could fake. The signature header, `Stripe-Signature`, contains an HMAC-SHA256 of the body computed with _your endpoint secret_. If your server can recompute the same HMAC from the body it received, the message is authentic. If a forger sends a fake body, they can't produce a matching HMAC because they don't have your secret. The same construction appears everywhere modern systems sign things: GitHub webhooks (`X-Hub-Signature-256`), Slack (`X-Slack-Signature`), Shopify, Discord, Twilio. JWT alg `HS256` is HMAC-SHA-256 over base64url-encoded `header.payload`. AWS Signature v4 chains four HMAC-SHA-256 calls together to derive a signing key. Mastering one HMAC-SHA-256 calculation lets you debug all of these. ## How to Generate HMAC-SHA256 Step by Step 1. **Open the hash generator.** Visit [/tools/dev/hmac-generator](https://pdfflare.com/tools/dev/hmac-generator) — the dedicated HMAC page on PDFFlare. The tool remembers your last-used algorithm and output format in localStorage, so the next visit lands you exactly where you left off. 2. **Paste the message.** For a webhook this is the _raw_ HTTP request body — exactly the bytes the sender hashed. If you parse the JSON first and re-stringify, spaces and key order can change and your HMAC will diverge. For Stripe, prefix the body with the timestamp from `Stripe-Signature` joined by a dot: `{timestamp}.{body}`. 3. **Paste the secret key.** Your endpoint secret (Stripe), webhook secret (GitHub), signing secret (Slack), or JWT signing key. The Show / Hide toggle lets you visually verify you pasted the right one without leaving the secret in plaintext on your screen. 4. **Pick the algorithm.** HMAC-SHA-256 is the modern default — Stripe, GitHub, Slack, JWT HS256, AWS Signature v4 all use it. Use HMAC-SHA-512 for JWT HS512, HMAC-SHA-384 for HS384, and HMAC-SHA-1 only for legacy integrations like Twilio or AWS Signature v2. 5. **Read the digest.** The hex digest appears in the output card. For a webhook you compare it against the value in the signature header. For a JWT you base64url-encode the digest bytes and append after the dot. 6. **Copy and paste it.** One-click copy puts the digest on your clipboard. Paste into your terminal, your test fixture, or your stack-trace comparison. ## Webhook Signature Recipes (Stripe, GitHub, Slack) The exact construction varies per provider. The core is always the same — HMAC-SHA-256 over some message with your secret — but the message format and the comparison details differ. Knowing one provider doesn't automatically mean you know the next. ### How to verify a Stripe webhook signature Stripe sends a header like `Stripe-Signature: t=1492774577,v1=,...`. Construct the message as `{t}.{raw-body}` (the timestamp from `t=`, a dot, then the raw HTTP body string). Compute HMAC-SHA-256 of that with your endpoint secret. Compare the resulting hex digest against the `v1=` value. Stripe also wants you to reject any request older than five minutes (compare `t` against current time) — that's the timestamp tolerance check that prevents replay attacks. ### How to verify a GitHub webhook signature GitHub sends `X-Hub-Signature-256: sha256=`. The message is just the raw body — no timestamp prefix. Compute HMAC-SHA-256 of the body with your webhook secret, prepend `sha256=` to the hex digest, and compare against the header. GitHub also sends an older `X-Hub-Signature` using HMAC-SHA-1 — ignore it; the SHA-256 variant is the canonical one for new code. ### How to verify a Slack request signature Slack sends `X-Slack-Signature: v0=` alongside `X-Slack-Request-Timestamp`. The message is `v0::` (note the `v0:` prefix, the colons, NOT dots). Compute HMAC-SHA-256 with your signing secret. Reject any request older than five minutes for replay protection. ### How to verify an AWS Signature v4 derived key AWS Signature v4 derives a signing key by chaining four HMAC-SHA-256 calls: `HMAC("AWS4" + secret, date)` → use that result as the key for `HMAC(_, region)` → that result as the key for `HMAC(_, service)` → that result as the key for `HMAC(_, "aws4_request")`. To debug a failing AWS request, compute each stage here and paste the result into the secret field for the next stage. Whichever stage produces a different digest from your code is where the bug is. ## Common Mistakes When Generating HMAC-SHA256 ### Hashing parsed JSON instead of the raw body The most common bug. Your HTTP framework parsed the JSON for you, you stringified it back, and now spaces, key order, or number precision differ from what the sender hashed. Result: your HMAC never matches. Fix: capture the raw body string before any framework touches it. In Node + Express, use `express.raw()` for the webhook route. In Next.js, read `request.text()` not `request.json()`. ### Forgetting the timestamp prefix on Stripe / Slack Stripe's message is `timestamp.body`. Slack's is `v0:timestamp:body`. If you forget the prefix your HMAC always diverges. The fix is mechanical — re-read the provider's spec and verify your concatenation matches exactly, dot or colon, character by character. ### Using a string-equals comparison instead of constant-time In production code, comparing your computed HMAC against the header value with `===` exposes you to timing attacks — an attacker can learn the correct signature byte by byte from response-time differences. Use `crypto.timingSafeEqual` in Node, `hmac.compare_digest`in Python, or your framework's constant-time equality helper. This tool is for debugging — your production code needs the constant-time comparison. ### Pasting hex when the spec wants base64 PDFFlare's hash generator outputs HMAC digests as lowercase hex (the most common format). Some providers want base64 (Slack actually accepts hex; some Asian providers want base64). Convert hex → bytes → base64 with [PDFFlare's Base64 Encode & Decode](https://pdfflare.com/tools/dev/base64-encode-decode) if you need the alternate encoding. ### Treating HMAC like encryption HMAC is a one-way function. You can't “decrypt” an HMAC to recover the original message. If you need to actually hide the contents of a payload, use real encryption (AES-GCM, libsodium secretbox, JWE) — HMAC only proves the payload wasn't tampered with, not that it's confidential. ## Privacy and Security Notes Computation happens entirely in your browser via the Web Crypto API's `crypto.subtle.importKey` and `crypto.subtle.sign`. PDFFlare's hmac generator online never sends your secret to any server, never logs it, never caches it. It's safe to use for development webhook secrets and short-lived signing keys. That said, an active production webhook secret grants real ability to forge signatures while it's valid. Treat any secret you paste into any tool — including this one — the way you'd treat a password. Close the tab when you're done. Rotate the secret if it might have been exposed (logged, screenshot, copy-pasted somewhere persistent). The Show / Hide toggle exists specifically so you can paste in incognito and never have the plain secret on screen. ## Related Tools - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — once you've generated a JWT HS256 signature here, paste the full token (header.payload.signature) into the decoder to verify the header alg, the payload claims, and the expiration banner all line up. - [Base64 Encode / Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — convert HMAC hex digests to base64 (or base64url for JWT signatures), encode webhook bodies, decode incoming base64-wrapped tokens. - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — mint `jti`values for the JWTs you're signing, request IDs for webhook deliveries, and idempotency keys for the API calls you're making with those signatures. - [URL Encode / Decode](https://pdfflare.com/tools/dev/url-encode-decode) — AWS Signature v4 percent-encodes path components and query params before signing; this tool helps you verify the canonical request matches what AWS expects. ## Wrapping Up HMAC-SHA-256 is the unsung backbone of modern API security — every webhook, every JWT HS256, every AWS request you make touches it. Knowing how to compute one manually turns a mysterious signature mismatch into a five-minute debug session: paste body, paste secret, pick algorithm, compare hex. The mismatch always points at the construction (timestamp prefix? raw body? wrong secret?) — your code didn't break out of the laws of cryptography. Bookmark [the HMAC Generator](https://pdfflare.com/tools/dev/hmac-generator) for the next time a webhook integration breaks at 2 AM. Free, browser-only, no signup — and now the hmac sha256 generator online your team can paste into without thinking twice. --- ## Frequently asked questions **Q: What's the difference between HMAC and SHA-256?** A: SHA-256 is a one-input hash — paste a string, get a 256-bit digest. HMAC-SHA-256 is a two-input function — paste a message AND a secret key, get a 256-bit digest only someone with the same secret can reproduce. Webhooks and JWTs use HMAC because the secret proves the message wasn't forged. SHA-256 alone can't do that — anyone can compute it. **Q: Why does my Stripe webhook signature not match?** A: Three usual suspects. (1) You parsed the JSON body before hashing — Stripe hashes the raw bytes including their exact whitespace and key order; if your framework re-serialised, the digest diverges. Capture the raw body before parsing. (2) You forgot the timestamp prefix — Stripe's signed payload is `{timestamp}.{body}`, not just the body. (3) Wrong secret — endpoint secrets and webhook signing secrets aren't the same thing in Stripe; use the one for the specific endpoint that received the request. **Q: Can I use this tool to sign a JWT?** A: Partly. JWT alg HS256 = HMAC-SHA-256 over base64url-encoded `header.payload`. You can compute the HMAC here, but you'll need to base64url-encode the resulting bytes (this tool returns hex; convert via the Base64 Encode/Decode tool). For full token construction it's usually easier to use a JWT library. This tool shines for verifying that your library produces the same HMAC you compute manually — the cross-check that catches subtle alg or encoding bugs. **Q: Is HMAC-SHA-1 still safe in 2026?** A: For HMAC purposes, HMAC-SHA-1 is still considered secure — collision attacks against SHA-1 don't trivially translate to HMAC attacks. But there's no good reason to choose it for new code; HMAC-SHA-256 is faster on most modern hardware and avoids the optics of using SHA-1 for anything. Use HMAC-SHA-1 only for legacy compatibility (older Twilio, AWS Signature v2). For everything else, default to HMAC-SHA-256. **Q: Does this tool support HMAC-MD5?** A: No. The browser's Web Crypto API exposes HMAC for SHA-1, SHA-256, SHA-384, and SHA-512 only. HMAC-MD5 is deprecated for security use and any system that still requires it can be implemented from MD5 plus the standard HMAC construction (key xor opad || H(key xor ipad || message)). For new code, use HMAC-SHA-256 — it's better-supported, faster on modern CPUs, and not subject to MD5's collision weaknesses. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Decode a JWT Online (Free JWT Decoder, Browser-Only) URL: https://pdfflare.com/blog/how-to-decode-jwt-online Published: May 5, 2026 Reading time: 9 min read > Decode JWT online — paste a JSON Web Token, get header, payload, and standard claims (iss, sub, aud, exp, iat, nbf, jti). Free, no signup, browser-only. --- You captured a JWT from your browser's Network tab. It looks like three blobs of gibberish separated by dots. You need to know what claims it carries — who issued it, who it's for, when it expires, what scopes it grants — and you need to know in the next five minutes because something in production isn't working. That's the moment a good JWT decoder online earns its keep. In this guide you'll learn how to decode JWT online using [PDFFlare's JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — paste a JSON Web Token and get the header, payload, signature, and standard claims surfaced in seconds. Use it as a JWT parser, a JWT debugger free of signups and rate limits, or a JSON Web Token decoder for incident response. It runs entirely in your browser — your token never reaches a server, never lands in a log, never gets cached on a CDN. ## What Is a JWT and Why Does It Look Like Gibberish? A JWT (JSON Web Token, RFC 7519) is three base64url-encoded strings joined by dots: `header.payload.signature`. The header declares the signing algorithm. The payload is a JSON object of claims. The signature is a cryptographic check over the first two parts. The dots and the funny-looking characters (`-` and `_` instead of `+` and `/`) are the only thing standing between you and a regular JSON object. Decode the header and payload from base64url, parse the JSON, and you have a fully readable token. The signature stays opaque — you can't verify it without the issuer's key, but you don't need to verify to read. Most people use a JWT token decoder online for one of three reasons: debugging an auth flow that's failing, integrating with a new identity provider whose claim names you don't know yet, or responding to a security incident where you have a captured token and minutes to figure out who issued it. All three are reading problems, not verification problems — which is why a decode-only tool like PDFFlare's view JWT claims interface is enough. ## How to Decode a JWT Step by Step 1. **Open the JWT decoder.** Visit [/tools/dev/jwt-decoder](https://pdfflare.com/tools/dev/jwt-decoder) in any modern browser. No login, no signup, no install. The page loads in under a second on a typical connection. 2. **Paste the full token.** Copy the whole JWT — all three dot-separated parts — and paste it into the input box. If you pasted only the payload by accident, the decoder will tell you the token is missing parts; re-copy from the source. 3. **Read the decoded header.** The header card shows the JSON header along with an Algorithm subtitle (HS256, RS256, ES256, EdDSA, etc.). If you see `alg: none`, stop — see the security section below. 4. **Read the decoded payload.** The payload card shows the full JSON, plus a Standard Claims block that highlights the seven RFC 7519 registered claims (`iss`, `sub`, `aud`, `exp`, `nbf`, `iat`, `jti`) with plain-English descriptions and a human-readable timestamp for each time-based claim. 5. **Check the expiration banner.**A coloured banner at the top tells you whether the token is Active, Expires within an hour, or Expired. Pair this with your backend's clock to spot clock-skew bugs in seconds. 6. **Copy what you need.** Each card has a Copy button — grab the header JSON, payload JSON, or raw signature for sharing in a Slack thread or pasting into your debugger. ## Common JWT Claims Explained (RFC 7519) The seven registered claims from RFC 7519 are the same across every JWT-issuing platform — Auth0, Okta, Cognito, Firebase, Supabase, Keycloak, your homegrown auth service. Knowing them cold pays back every time you pop a token open. ### What is the iss (issuer) claim? The `iss` claim names who minted the token. In OpenID Connect this is usually a URL like `https://accounts.google.com`. Your verifier should assert that `iss` matches an issuer you trust before accepting the token — a token from an unexpected issuer is the first sign of a token-substitution attack. ### What is the sub (subject) claim? The `sub`claim names the principal the token is about — usually a stable user identifier the issuer assigns to each user. It should be unique within the issuer's namespace, and the pair (`iss`, `sub`) should uniquely identify a user across your whole system. ### What is the aud (audience) claim? The `aud` claim names the intended recipient(s). Your verifier must reject tokens whose `aud`doesn't include your service — that's how you stop a legitimate token issued for a different API from being replayed against yours. `aud`can be a string or a JSON array of strings; PDFFlare's JWT decoder displays both correctly. ### What is exp, iat, nbf? All three are Unix timestamps in seconds. `exp` (expiration time) bounds when the token stops being valid; `nbf` (not before) bounds when it starts; `iat` (issued at) records when it was minted. Most token bugs hide here — wrong server clock, missing leeway in the verifier, or a refresh-token loop that never lets `iat` advance. ### What is the jti claim? The `jti` claim is a unique token identifier — useful when you need to track or revoke individual tokens. UUIDs are the conventional choice for `jti`; you can mint them at issuance time with [PDFFlare's UUID Generator](https://pdfflare.com/tools/dev/uuid-generator). ## JWT Decoder vs JWT Verifier — What This Tool Cannot Do A decoder shows you what's in the token. A verifier proves the token is authentic — that the signature matches the header and payload, and that the issuer minted it with their key. PDFFlare is a decoder, not a verifier, by design: verifying requires the signing key (HMAC secret for HS256/HS384/HS512, or the issuer's public key for RS256/ES256/EdDSA), and a third-party tool should never see those. For verified decoding, run a real auth library on a backend you control — `jose` on the modern Node ecosystem, `jsonwebtoken` on legacy Node, `PyJWT` on Python, `github.com/golang-jwt/jwt`on Go, or your identity provider's SDK. Use PDFFlare's JWT debugger free of charge for the read step, then verify in a trusted environment before granting access. ## Common Mistakes When Reading JWTs ### Trusting alg: none The `none` algorithm tells a verifier _don't check the signature_. It exists in the spec for unsigned tokens but it has been the source of catastrophic auth bypasses — every modern JWT library rejects it by default, and PDFFlare's decoder shows a red warning whenever it appears so you spot the issue during code review or incident response. ### Confusing clock skew with an expired token PDFFlare's decoder uses your browser's clock when marking a token Expired. If the token still works in your backend, the most likely cause is that your auth server, your API server, and your laptop have slightly different clocks — most JWT libraries allow a leeway window of 30-60 seconds, and a 15-minute time drift on a CI runner can mark a fresh token as expired in your tool. ### Confusing JWS with JWE A signed JWT (a JWS) has three dot-separated parts. An encrypted JWT (a JWE, RFC 7516) has five. If your token has five parts, it's encrypted — no client-side tool can decode it without the key, and you should reach for your backend's decryption library instead. PDFFlare's JWT decoder will tell you the part count is wrong rather than silently misparsing. ### Skipping the aud check on the verifier Reading the `aud`claim during debugging is half the battle; the other half is making sure your verifier actually checks it. A token issued for service A, replayed against service B that doesn't check `aud`, is a real attack class — and it's easy to spot once you have a decoder open showing the claim front and centre. ## Privacy and Security Notes Decoding happens entirely in your browser via `atob()`, `TextDecoder`, and `JSON.parse()`. PDFFlare's JSON Web Token decoder never sends your token to any server, never logs it, never caches it. It's safe to use for production access tokens, internal admin sessions, and anything you wouldn't paste into a third-party debugger. That said, an active token still grants real access while it's valid. Treat any JWT in your clipboard the way you'd treat a password — close the tab when you're done, don't leave it in a Slack DM history, and rotate the underlying credential if a sensitive token may have leaked. ## Related Tools - [Base64 Encode / Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — JWTs use base64url for the header and payload; this tool handles arbitrary base64 and base64url payloads when you need to dig deeper than the JSON. - [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) — compute MD5, SHA-1, SHA-256 hashes of arbitrary text. Useful when you're comparing token fingerprints across log lines or building your own minimal HS256 verifier in a scratchpad. - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — mint new `jti` values, request IDs, and correlation IDs. v4 for opaque tokens, v7 for time-ordered primary keys. - [URL Encode / Decode](https://pdfflare.com/tools/dev/url-encode-decode) — encode JWT-bearing query parameters or decode the redirect-URI claims you'll often see in OpenID Connect tokens. ## Wrapping Up A JWT looks opaque, but it's really just three pieces of base64url and a JSON object you already know how to read. Drop a token into PDFFlare's JWT decoder when you need to debug an auth flow, integrate with a new identity provider, or read a captured token during an incident. Header, payload, and the standard claims appear in seconds — in your browser, never on a server, with the security warnings (alg: none, expired, malformed) you actually want to see. Bookmark [the JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) for the next time auth breaks at 2 AM. Free, browser-only, no signup — and now the JWT token decoder online your team can paste into without thinking twice. --- ## Frequently asked questions **Q: Can I decode a JWT without the secret?** A: Yes — and you don't need the secret to decode. A JWT's header and payload are just base64url-encoded JSON; any decoder, including PDFFlare's, can read them in milliseconds. The secret (or public key) is only required to verify the signature, which is a separate step. Decoding tells you what claims the token carries; verification tells you the issuer actually minted it. Read first, verify on a backend you trust. **Q: Why does my JWT show as Expired even though it works?** A: PDFFlare's JWT decoder uses your browser's clock to compare against the exp claim. If the token still works in your backend, the most likely cause is clock skew — your laptop, your auth server, and your API server have slightly different times. Most JWT libraries allow a 30-60 second leeway window for this exact reason. A larger drift (CI runners, virtualized environments) can show a fresh token as expired in the decoder while the verifier accepts it. **Q: Is alg: none safe to accept?** A: No — alg: none means the verifier should not check the signature. It's a known attack pattern: an attacker who can craft a token with alg: none can impersonate anyone if a verifier accepts that algorithm. Every modern JWT library (jose, jsonwebtoken, PyJWT, golang-jwt) rejects alg: none by default. PDFFlare's JWT decoder flags it loudly so you spot it in code review or during incident response. **Q: How do I verify a JWT signature after decoding?** A: Decoding shows you what's in the token; verification proves the issuer minted it. Use a real auth library on a backend you control: jose for modern Node, jsonwebtoken for legacy Node, PyJWT for Python, golang-jwt for Go, or your identity provider's SDK. You'll need either the shared HMAC secret (for HS256/HS384/HS512) or the issuer's public key (for RS256, ES256, EdDSA, etc.). PDFFlare never asks for either — verification belongs in trusted code, not a web tool. **Q: What's the difference between a JWS and a JWE?** A: JWS (JSON Web Signature, RFC 7515) is signed but not encrypted — the payload is base64url-encoded JSON anyone can read. JWE (JSON Web Encryption, RFC 7516) wraps the payload in real ciphertext that requires a key to decrypt. JWS tokens have three dot-separated parts; JWE tokens have five. Almost every JWT you encounter in practice is a JWS. PDFFlare's JWT decoder handles JWS; if your token has five parts, it's a JWE and needs your backend's decryption library. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Generate Strong Password or Passphrase Online (Free) URL: https://pdfflare.com/blog/generate-strong-password-passphrase Published: May 4, 2026 Reading time: 9 min read > Generate strong password or passphrase online — random characters, diceware-style, pronounceable, or PINs. Cryptographically secure, free, no signup. --- You need a new password. Maybe a dozen new passwords. The easiest path is to generate strong password values from a random tool, copy each one into your password manager, and move on. Most generators do exactly that — and most of them either silently use `Math.random()` (predictable), phone home with telemetry on the values they produced, or give you weak defaults that look strong on the meter and fall apart against a real attacker. The version of password generation you use matters more than most people realize. In this guide you'll learn how to generate strong password and passphrase values using [PDFFlare's Password Generator](https://pdfflare.com/tools/dev/password-generator) — four modes (random, passphrase, pronounceable, PIN), 100% browser-based, cryptographically secure via the Web Crypto API. We'll cover what makes a password actually strong (entropy, not character variety), why diceware passphrases are the modern recommendation for memorable passwords, and the small mistakes that turn “random” passwords into trivially-cracked ones. ## What Makes a Password Strong? One concept: **entropy**. Measured in bits. Entropy is the logarithm-base-2 of the number of possible values your password could have been. A 4-digit PIN has 10⁴ = 10,000 possibilities, which is log₂(10,000) ≈ 13 bits of entropy. A 6-digit PIN has ~20 bits. A 16-character random password from the full ASCII printable set (~94 chars) has ~105 bits. Bits matter because they directly map to how long it takes an attacker to brute-force the password. At 10 billion guesses per second (modest for modern GPU clusters), a password with N bits takes 2ᴺ⁻¹ / 10¹⁰ seconds on average: - **40 bits:** ~55 seconds — instant. - **60 bits:** ~16 hours — survives casual attacks. - **80 bits:** ~1900 years — strong enough for personal accounts. - **100 bits:** ~2 billion years — comfortable for high-value accounts. - **128 bits:** heat death of the universe. The lesson: aim for 60-80 bits for accounts, 80+ bits for anything important, 100+ for cryptographic seeds. ## Random Passwords vs Passphrases Two different ways to reach the same entropy target: - **Random password:** 16 chars from the 94-character ASCII set = 16 × log₂(94) = ~105 bits. Compact, hard to type, impossible to memorize. Best stored in a password manager. - **Passphrase:** 6 random words from a ~2000-word list = 6 × log₂(2000) = ~66 bits. Drastically easier to type and memorize — at the cost of length (longer string, more typing). For accounts you log into through a password manager, random wins on convenience (autofill handles the typing). For accounts you log into manually — your password manager master, your laptop, your encrypted disk — passphrases dominate. They're the answer to the famous XKCD comic's closing line: “Through 20 years of effort, we've successfully trained everyone to use passwords that are hard for humans to remember, but easy for computers to guess.” ## How Much Entropy Do You Actually Need? Real-world threat models vary: - **40-50 bits:**Resists script-kiddie password-spray attacks. OK for genuinely throwaway accounts (a forum you'll never visit again). - **50-70 bits:** Resists targeted online brute-force (where the attacker has to ask the server, and rate-limiting kicks in). OK for typical web accounts. - **70-100 bits:**Resists offline brute-force of leaked password hashes. Required for anything that might end up in a database breach (every account, really, since you don't know which sites store hashes properly). - **100+ bits:**Future-proof against quantum-era attacks (Grover's algorithm halves the effective bit count). Required for cryptographic seeds, recovery codes, master encryption keys. Practical defaults: [PDFFlare's Password Generator](https://pdfflare.com/tools/dev/password-generator) ships with a 20-character random password (~131 bits) and a 6-word passphrase (~65 bits) as defaults — both comfortably past the “survives a leaked-hash brute-force” threshold. ## How to Generate Strong Password with PDFFlare Step-by-step using [PDFFlare's Password Generator](https://pdfflare.com/tools/dev/password-generator): 1. **Pick a mode** from the four-button selector. Random is the safe default. Passphrase is for memorable credentials. Pronounceable is a halfway house. PIN is numeric only. 2. **Configure options** in the left panel. Random has length + character-set toggles + exclude similar/ambiguous. Passphrase has word count + separator + word case. Pronounceable has length + capitalization + digit/symbol suffix. PIN has length only. 3. **Set bulk count**from 1 to 100. Useful when you're seeding a password manager with unique passwords for many accounts at once. 4. **Watch the strength meter** update live. It shows entropy in bits, a qualitative label (Weak / Fair / Strong / Very Strong), and an estimated brute-force time at 10 billion guesses per second. 5. **Show, copy, regenerate** from the output panel. Show toggles between hidden dots and revealed text (privacy in shoulder-surfing situations). Copy grabs one row; Copy all grabs the entire batch as newline-separated text. Settings persist across visits via localStorage — the next time you need passwords, your last config is already loaded. ### Using a strong password generator for new accounts The right strong password generator workflow for a new account: open your password manager, click “Add item,” paste a 20-character random password from the generator into the password field, save. The password manager autofills future logins, so you never have to type or remember the value. PDFFlare's tool defaults match the standard advice — 20 characters, all four character sets enabled, exclude-similar off (since the manager handles typing). This is the pattern that scales: every account gets a unique 100+ bit password, and you only have to remember one master password. ### Random password generator vs password manager built-ins 1Password, Bitwarden, LastPass, Dashlane, and the browser-built-in managers all include random password generators. They're fine. The reason a standalone random password generator like PDFFlare's still matters: bulk generation (your password manager probably tops out at one-at-a-time), passphrase mode with custom word counts and separators, configurable similar-character exclusion, and inspection of the generator's actual source — you can read PDFFlare's tool code, you cannot easily inspect a closed-source manager's RNG. ## Diceware Passphrases (Memorable + Strong) Diceware is a technique invented by Arnold Reinhold in 1995: roll five dice, look up the resulting 5-digit number in a 7776-entry wordlist, repeat for each word in your passphrase. The math: 6⁵ = 7776 outcomes per word = 12.92 bits per word. Six words gives 77 bits — solid for any account. Modern diceware passphrase generators replace the physical dice with the platform CSPRNG (`crypto.getRandomValues`in browsers). The math doesn't change — the entropy is in the wordlist size, not the source of randomness. PDFFlare's passphrase mode uses a 1944-word curated list (~10.9 bits per word). A 6-word passphrase = ~65 bits; an 8-word passphrase = ~87 bits. ### Diceware passphrase generator: math, not magic The diceware passphrase generator's strength comes from one specific property: every word is independently uniform-random from the full wordlist. If your generator biases word selection (favors common words, avoids two-word combinations that make grammatical sense, anything), the actual entropy is lower than the theoretical maximum. PDFFlare uses rejection sampling on top of `crypto.getRandomValues()` to guarantee unbiased uniform selection — every word in the wordlist is exactly 1/1944 likely on every draw. ## PIN Mode: Numeric-Only Codes For things that need a numeric-only credential — phone unlock codes, banking transaction PINs, voicemail access codes, two- factor recovery PINs — the PIN mode produces uniformly-random digit strings of configurable length. A pin code generator isn't glamorous, but it solves a real problem: when an interface restricts you to digits only, the standard random-password output won't fit. Defaults: 6 digits, configurable from 4 to 12. Entropy math for PINs: each digit contributes log₂(10) ≈ 3.32 bits, so a 4-digit PIN is ~13 bits (10,000 possibilities), a 6-digit PIN is ~20 bits (1,000,000 possibilities), and a 12-digit PIN is ~40 bits. PINs alone aren't strong credentials for online accounts — they're acceptable only when paired with rate-limiting (banking apps lock out after 3-5 wrong attempts) or a second factor (your phone unlock PIN protects a device that already requires physical access). Don't use a PIN as a standalone password for anything online. ## Pronounceable Passwords (Halfway House) Sometimes you need a password you can read aloud or type quickly without it being completely random gibberish. Pronounceable mode generates passwords with alternating consonant-vowel syllables (CVCVCV). Examples: `Bofidu47`, `Mukatare`, `Tiparemo!`. Easier to type, easier to dictate over the phone, easier to glance-and-remember during a short login session. The trade-off: pronounceable patterns have lower entropy per character than fully random. A 14-character pronounceable password is ~46 bits — fine for low-stakes accounts, weak for anything that might be brute-forced offline. Append 2 random digits and a symbol and you're back to ~55-60 bits. Best used for short-lived service accounts, internal tools, or anywhere a human will need to type the password and a password manager isn't available. ## Common Password Mistakes 1. **Treating “complex” as “strong.”** `Tr0ub4dor&3`looks complex; it's about 28 bits — crackable in seconds. Length and randomness beat character-class variety every time. 2. **Using personal patterns.**Birthdays, pet names, sports teams, song lyrics — attackers maintain massive dictionaries of these and try them first. A password “you made up” is almost always weaker than a 6-word random passphrase. 3. **Reusing passwords.** One breached site exposes every account that shares the same password. Credential-stuffing attacks try leaked username+password pairs against every other major service. Unique passwords per account, generated by a real RNG, with a password manager remembering them. 4. **Trusting tools that use `Math.random()`.** `Math.random()` is predictable — given a few outputs, the next can be calculated. PDFFlare uses` crypto.getRandomValues()` with rejection sampling. Always verify your generator advertises a CSPRNG. 5. **Generating passwords on a server you don't control.** Many online password generators send your generated values back to the server (for “analytics,” ostensibly). The server now has your password. PDFFlare's password generator is 100% client-side — every byte stays in your browser. 6. **Truncating to fit a length cap.**Some sites impose a max length (12, 16, sometimes 8 chars). Generate a strong password that fits the cap rather than truncating a longer one — truncation removes entropy in a non-uniform way that's harder to reason about. ## Privacy: Are Online Password Generators Safe? The fundamental concern with any online password generator is whether the tool sees your generated values. PDFFlare's password generator runs entirely in your browser — every random byte comes from your machine's `crypto.getRandomValues()`, the wordlist is embedded in the page bundle, and the strength estimation is a pure function. Nothing uploads, nothing logs. That matters specifically for: - **Production credentials** (root passwords, database superusers, API keys). The fewer parties that ever see these, the better. - **Recovery codes and master passwords** (your password manager vault, your encrypted disk, recovery seeds). These cannot be rotated cheaply if leaked. - **Bulk-generated passwords**for password- manager seeding. You don't want a third-party log of fifty passwords for fifty different accounts you own. Pair the password generator with [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) when you also need unique identifiers for the accounts you're seeding, or with [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) when you need to derive a deterministic value from a generated password (e.g., a fingerprint hash for an internal audit log). ## Related Tools - [UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — generate v4 random UUIDs for account IDs, request IDs, or anywhere you'd want a globally unique identifier alongside a password. - [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) — compute MD5, SHA-1, SHA-256, or SHA-512 hashes of any text. Useful for verifying password rotation, deriving fingerprints, or testing hash-based auth flows. - [Base64 Encode / Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — encode generated passwords for use in HTTP Basic Auth headers, environment variable values, or any context that requires ASCII-safe encoding. - [URL Encode / Decode](https://pdfflare.com/tools/dev/url-encode-decode) — escape generated passwords that need to live in a URL query string (database connection strings, OAuth redirect URIs). ## Wrapping Up Strong passwords are an entropy problem, not a complexity problem. 60+ bits resists casual attacks; 80+ bits resists offline brute-force of leaked hashes; 100+ bits is future- proof. Whether you reach those numbers via random characters or random words is up to you and the account's login workflow. Generate your next batch with [PDFFlare's Password Generator](https://pdfflare.com/tools/dev/password-generator) — four modes, live strength meter, bulk up to 100 at a time, all in your browser with cryptographic randomness. No signup, no watermarks, no telemetry. Just passwords. --- ## Frequently asked questions **Q: How long should my password be?** A: For random passwords, 16-20 characters with all four character sets enabled gives 100+ bits of entropy — strong enough for any account, including ones whose hashes might leak in a breach. PDFFlare's Password Generator defaults to 20 characters which lands at ~131 bits. For passphrases, 6 words from a large wordlist gives ~65 bits — plenty for personal accounts, easy to remember. **Q: Is a passphrase stronger than a password?** A: It depends on length. A 6-word passphrase from PDFFlare's 1944-word list is ~65 bits — comparable to a 10-character random password from the full ASCII set. The advantage of a passphrase is memorability: you can actually remember it. For accounts behind a password manager, prefer random passwords (autofill handles typing); for accounts you log into manually, prefer passphrases. **Q: Can two random passwords ever be identical?** A: Mathematically yes, practically no. PDFFlare's Password Generator uses crypto.getRandomValues() with rejection sampling — every password is independently uniform-random. For a 16-character password from the 94-char ASCII set, the chance of any two passwords colliding in a single-day batch of 1000 is roughly 1 in 10^25. Treat collision as impossible for any reasonable use. **Q: Does PDFFlare see my generated passwords?** A: No. PDFFlare's Password Generator runs 100% client-side. The wordlist, the random number generation, the strength meter — everything happens in your browser. Nothing uploads, nothing logs. Safe for production credentials, root passwords, recovery codes, and any other sensitive value you'd rather not paste into a third-party tool. **Q: What's diceware?** A: Diceware is a passphrase technique invented by Arnold Reinhold in 1995: roll dice to randomly select words from a wordlist, repeat for each word. The math is what makes it strong — 7776 words on the standard EFF list = 12.92 bits per word; PDFFlare's 1944-word list gives ~10.9 bits per word. Modern diceware passphrase generators replace physical dice with the platform CSPRNG (crypto.getRandomValues in browsers) — the entropy math doesn't change. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert Text Case Between camelCase, snake_case, and 14 More URL: https://pdfflare.com/blog/convert-text-case-camelcase-snake-case Published: May 4, 2026 Reading time: 8 min read > Convert text case between camelCase, snake_case, kebab-case, Title Case, and 12 more formats. Free, browser-based, smart word splitting. --- You're wiring a JavaScript front-end to a Python back-end and half your fields are camelCase, half are snake_case, and the database column is CONSTANT_CASE because someone in 2014 thought that was a good idea. You need to convert text case across forty identifiers, twice, without breaking anything. Find-and-replace gets you eighty percent there and quietly mangles the other twenty — XMLHttpRequest becomes xmlhttp_request instead of xml_http_request, file2name becomes filename, and your URL slug tool drops the accent on Café. In this guide you'll learn how to convert text case between every common format using [PDFFlare's Case Converter](https://pdfflare.com/tools/text/case-converter). Sixteen formats — lowercase, UPPERCASE, Title Case, Sentence case, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Train-Case, dot.case, path/case, Header-Case, Alternating, Inverse, and URL Slug — with smart word-splitting that handles tricky inputs correctly the first time, plus a live stats panel that catches length-budget issues before they ship. ## What Is Text Case Conversion? “Case” is the choice of capitalization and word separator for a string. lowercase keeps everything small. UPPERCASE shouts. camelCase drops separators and capitalizes subsequent words. snake_case uses underscores. kebab-case uses hyphens. Each convention exists because some downstream system requires it: GraphQL likes camelCase, SQL columns are commonly snake_case, URL paths want kebab-case, and HTTP headers want Train-Case (or Header-Case, same thing). Converting between cases looks trivial — until you realize the same string can have ambiguous word boundaries. “XMLHttpRequest” is three words: XML, Http, Request. A naive lower-case-on-uppercase splitter will give you four words (xmlhttp, request) or worse. “file2name” splits as [file, 2, name], not [filename]. Doing this right requires a tokenizer that understands case transitions, acronym boundaries, and letter-digit splits. ## The 16 Case Formats Explained PDFFlare's tool exposes every common case format. Here's the practical guide: - **lowercase**— “hello world.” Editorial copy, code identifiers in Go and Python. - **UPPERCASE**— “HELLO WORLD.” Display emphasis, legal disclaimers, environment variables. - **Title Case**— “Hello World.” Every word capitalized. Headings and CTAs. - **Sentence case**— “Hello world.” Only the first letter and post-period letters capitalized. - **camelCase**— “helloWorld.” JavaScript variables, Java methods, JSON field names. - **PascalCase**— “HelloWorld.” Class names, type names, React components. - **snake_case**— “hello_world.” Python and Ruby identifiers, SQL columns, REST API fields. - **CONSTANT_CASE**— “HELLO_WORLD.” Environment variables, compile-time constants. - **kebab-case**— “hello-world.” URL paths, CSS class names, command-line flag names. - **Train-Case**— “Hello-World.” Legacy Lisp/Scheme convention. - **dot.case**— “hello.world.” Java package names, hierarchical config keys. - **path/case**— “hello/world.” URL and filesystem paths. - **Header-Case**— “Hello-World.” HTTP headers (Content-Type, X-Forwarded-For). - **Alternating Case**— “hElLo WoRlD.” Mocking memes; rarely useful in production. - **Inverse Case**— “hELLO wORLD.” Each character flipped. Useful for testing case-sensitivity bugs. - **URL Slug** — accent-folded, lowercased, non-alphanumeric becomes hyphens. CMS slugs and SEO-friendly URLs. ## When to Use camelCase vs snake_case vs kebab-case The choice is rarely about preference — it's dictated by the language or system. The practical rules: - **camelCase**: JavaScript/TypeScript variables and methods, Java instance methods, JSON field names by convention, GraphQL fields. Whenever you're working in the JavaScript ecosystem, camelCase is the default. - **PascalCase**: classes, types, interfaces, React components, C# everything-public. Capitalize the first letter when the identifier names a type or component, leave it lowercase when it names a value. - **snake_case**: Python identifiers, Ruby identifiers, Rust functions and modules, SQL columns and tables, traditional REST API fields, file names on Unix. - **CONSTANT_CASE**: environment variables (always), compile-time constants in many languages, config keys when shouted-readability matters. - **kebab-case**: URL paths, CSS class names and custom properties, HTML attributes, command-line flags (--my-flag), filenames on the web. Mixing cases inside a single project is fine — different contexts use different conventions and that's the point. The mistake is mixing cases inside a single context (some JSON fields camelCase, some snake_case in the same response). Pair [PDFFlare's Case Converter](https://pdfflare.com/tools/text/case-converter) with [Text Diff](https://pdfflare.com/tools/text/text-diff) to spot accidentally-mixed casing in a list of identifiers. ### Using a camelCase converter in JavaScript projects Most JavaScript and TypeScript style guides default to camelCase for variables and methods (Airbnb, Google, the standard ESLint defaults), and camelCase for JSON field names when the API is consumed by a JS front-end. A camelCase converter shines whenever you're translating from another source: Python snake_case responses, Rails JSON, SQL column listings. PDFFlare's tool reads any of those formats and emits the camelCase equivalent without you having to remember the regex rules each time. ### When you need a snake case converter (Python, Ruby, SQL) The flip side: the moment a JavaScript front-end talks to a Python or Ruby backend, you need to translate camelCase into snake_case for database columns, REST endpoints, or ORM attribute names. A purpose-built snake case converter preserves acronym boundaries (so XMLHttpRequest becomes xml_http_request, not xmlhttp_request) and treats numbers as their own tokens (file2name → file_2_name). Both are deal-breakers for naive find-and-replace approaches. ### Kebab case generator for URLs and CSS Web platform conventions are kebab-case all the way down: URL paths (/user-profile-page), CSS class names (.primary-button), HTML data attributes (data-user-id), and command-line flags (--max-old-space-size). A kebab case generator paired with the URL Slug option covers both the developer use case (CSS class names from PascalCase React components) and the editorial use case (slugifying a blog headline). PDFFlare's tool does both with the same input, just by switching the target format pill. ## How to Convert Text Case with PDFFlare Step-by-step with [PDFFlare's Case Converter](https://pdfflare.com/tools/text/case-converter): 1. **Paste your text** — anything from a single identifier to a full paragraph. The tool reads the entire input. 2. **Pick a target format**from the 16-button grid. Each pill shows the format's name and a live example so you don't have to remember which is which. 3. **Watch the live result** — output updates as you type or switch formats. No Convert button, no waiting. 4. **Copy or chain**— “Copy result” grabs the converted text. “Swap ↔” pushes the result back as input, useful for chained conversions (camelCase → snake_case → kebab-case). 5. **Check the stats panel**at the bottom for characters, words, lines, paragraphs, sentences, reading time, and longest word — handy when you're also keeping an eye on a length budget. ### Change text case in one click without keyboard shortcuts Word and Google Docs both have built-in change-text-case shortcuts (Shift+F3 and Format → Text → Capitalization), but they're limited to UPPERCASE, lowercase, Title Case, and Sentence case — four formats out of the sixteen you'll actually need across a year of work. A standalone text case converter tool unlocks the rest: camelCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, URL Slug, and the niche formats. One pill, one click, no menu hunting. ## Smart Word Splitting (XMLHttpRequest and Friends) The hard part of case conversion is not the formatting — it's the tokenizer. PDFFlare's splits on: - **Whitespace and common separators** (space, tab, newline, hyphen, underscore, period, slash, backslash). - **lowercase → uppercase boundaries**: “helloWorld” becomes [hello, World]. - **Acronym boundaries**: “XMLHttpRequest” becomes [XML, Http, Request] — a run of capitals followed by a capital-plus-lowercase splits between the second-to-last and last capital. This is how IOError becomes [IO, Error] and APIv2Endpoint becomes [API, v2, Endpoint]. - **Letter → digit boundaries**: “file2name” becomes [file, 2, name]. Numbers always become their own token, never silently merged. The result: convert “XMLHttpRequest” to snake_case and you get xml_http_request, not xmlhttp_request. Convert “file2name” to kebab-case and you get file-2-name, not filename. These small details are the difference between a conversion you can trust on a forty-field schema and one you have to spot-check by hand. A few more inputs worth highlighting: “parseURL” becomes [parse, URL], not [parseUR, L]. “getHTTPResponse” becomes [get, HTTP, Response]. “ID2Name” becomes [ID, 2, Name]. “userId42” becomes [user, Id, 42]. The same tokenizer powers all 16 output formats, so the round-trip property holds for these well-formed inputs: any case format can be converted to any other, then back, without losing tokens. What the tokenizer does _not_do: split based on a dictionary or natural language. “serverid” (no casing) is treated as one token. If you need it split, paste it as “serverId,” “server_id,” or “server-id” — the input has to encode the word boundaries somehow. This is by design: silent dictionary-based splitting would produce different results for different locales and become a debugging nightmare. ## URL Slugs and Accented Characters The URL Slug format does more than lowercase-and-hyphenate. It runs Unicode NFKD normalization on the input — which decomposes composed characters into base-character-plus-combining-mark sequences — then strips the combining marks. So: - “Café” (with é) → “cafe” - “Résumé” → “resume” - “Naïve São Paulo” → “naive-sao-paulo” - “The 10 Best Cafés!” → “the-10-best-cafes” Punctuation is replaced by hyphens, multiple hyphens collapse into one, and leading/trailing hyphens are trimmed. The resulting slug is safe for URLs, file paths, and CMS identifiers without any further escaping. Need to double-check length? Open [Word Counter](https://pdfflare.com/tools/text/word-counter) alongside this tool — slugs over 60 characters get truncated in some search-result snippets. ## Common Case Conversion Mistakes 1. **Mangling acronyms.**“XMLHttpRequest” → “x_m_l_http_request” if your splitter treats every uppercase letter as a boundary. Or “xmlhttp_request” if it doesn't recognize acronym→capitalized-word transitions. The right answer is “xml_http_request.” 2. **Dropping numbers.**Some tokenizers strip non-letter characters, turning “v2Endpoint” into “Endpoint” or “v Endpoint.” Numbers should always become their own token. 3. **Not folding accents in slugs.**Naive lowercase-and-hyphenate gives you “café-résumé” — which works in modern URLs but breaks in plenty of legacy CMSes. Always NFKD-fold for slugs. 4. **Round-trip data loss.**camelCase → snake_case should round-trip cleanly: helloWorld → hello_world → helloWorld. If your tool can't round-trip, the tokenizer is wrong. 5. **Sentence case for headlines.**Sentence case decides word boundaries from punctuation, not human meaning. For headlines with abbreviations (“e.g.”) or proper nouns, prefer Title Case and edit by hand. 6. **Confusing Train-Case and Header-Case.**They produce the same output (Hello-World) but the names belong to different communities. “Train-Case” is the Lisp/Lodash convention; “Header-Case” is what HTTP-header authors call it. Pick whichever your team uses so code reviewers don't pause to retranslate. 7. **Forgetting to trim before slugifying.**“ Hello World ” with leading/trailing spaces becomes “-hello-world-” if your slugifier doesn't trim. PDFFlare's URL Slug option strips leading and trailing hyphens after the conversion, so input whitespace is harmless — but if you're rolling your own slugifier, the trim step is easy to miss. ## Privacy: Are Online Case Converters Safe? Most aren't actively malicious, but every server-side converter logs your input — sometimes for debugging, sometimes for ad personalization, sometimes both. PDFFlare's case converter runs entirely in your browser. Pure JavaScript functions transform the input on your machine. Nothing uploads, nothing logs. That matters for a few specific cases: identifiers from a codebase under NDA, customer copy under embargo, internal API field names you'd rather not paste into a third-party tool. For everything else (refactoring your own side project, slugifying blog headlines), it probably doesn't matter — but defaults that respect privacy mean you don't have to think about it. ## Related Tools - [Word Counter](https://pdfflare.com/tools/text/word-counter) — count words, characters, sentences, and reading time. Pair with the case converter when you're also checking headline or meta-description length budgets. - [Text Diff](https://pdfflare.com/tools/text/text-diff) — compare two strings or files line-by-line. Useful for spotting accidentally-mixed casing across a list of identifiers before/after conversion. - [Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator) — generate placeholder copy when you need to test how converted strings look at production length. - [URL Encode / Decode](https://pdfflare.com/tools/dev/url-encode-decode) — for URL slug conversions where the result still needs additional percent-encoding for reserved characters. ## Wrapping Up Case conversion looks trivial until you realize the tokenizer is doing all the work. camelCase ↔ snake_case is a one-line regex if you control the input — and a forty-bug long-tail reality if you don't. Smart word-splitting that handles acronyms, letter-digit boundaries, and accented characters is the difference between “works” and “works on every input you can throw at it.” Convert your next batch with [PDFFlare's Case Converter](https://pdfflare.com/tools/text/case-converter) — sixteen formats, smart word-splitting, live stats, all in your browser. No signup, no watermarks, no API quota. Just clean conversions. --- ## Frequently asked questions **Q: What's the difference between camelCase and PascalCase?** A: Both squeeze multiple words together and capitalize each subsequent word. The only difference is the first letter: camelCase keeps the first word lowercase (helloWorld); PascalCase capitalizes it (HelloWorld). JavaScript and Java use camelCase for variables and methods, PascalCase for classes and types. PDFFlare's Case Converter outputs both correctly with smart word splitting. **Q: Why does converting XMLHttpRequest split into XML, Http, Request?** A: Because that's the actual word structure. XMLHttpRequest is three concepts: the XML acronym, the HTTP protocol (camelCased to Http), and the Request type. PDFFlare's tokenizer recognizes acronym boundaries — a run of capitals followed by a Capital-plus-lowercase splits between the two. So XMLHttpRequest in snake_case becomes xml_http_request, not xmlhttp_request or x_m_l_http_request. **Q: Will the URL Slug option strip Unicode like Á or é?** A: Yes — but as a fold, not a deletion. PDFFlare's URL Slug runs Unicode NFKD normalization to decompose composed characters into base-letter-plus-combining-mark sequences, then strips the combining marks. So Café becomes cafe, Résumé becomes resume, and São Paulo becomes sao-paulo. Punctuation collapses to hyphens, and leading/trailing hyphens are trimmed. **Q: Does it preserve numbers in identifiers like file2name?** A: Yes. Letter-to-digit and digit-to-letter boundaries become token splits. PDFFlare's Case Converter tokenizes file2name as [file, 2, name], so snake_case yields file_2_name and camelCase yields file2Name. Numbers are never dropped or merged silently — they always round-trip cleanly between cases. **Q: Does the tool send my text to a server?** A: No. PDFFlare's Case Converter runs 100% in your browser. Every transform is a pure JavaScript function on your machine. Nothing uploads, nothing logs. Safe for code under NDA, customer copy under embargo, and any other text you'd rather not paste into a third-party tool. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Generate UUID Online (v4, v7, and Bulk Guide) URL: https://pdfflare.com/blog/how-to-generate-uuid-v4-v7-online Published: May 3, 2026 Reading time: 8 min read > Generate UUID online — pick v4 (random), v7 (time-ordered), or v5 (namespace) and produce 1-1000 IDs in seconds. Free, browser-based, no signup. --- You need a UUID. Or twenty. Or a thousand. Most engineers generate UUID online by hitting any random tool, copying a stream of v4 values, and moving on with the day. That works for ninety percent of cases — but the remaining ten percent are exactly where engineers waste time fighting their database, debugging a deterministic ID mismatch, or chasing a perfectly avoidable index-locality performance problem. The version of UUID you generate matters more than most people realize. In this guide you'll learn how to generate UUIDs online using [PDFFlare's UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — every standards-compliant version (v1, v3, v4, v5, v7, plus the Nil and Max sentinels from RFC 9562), bulk-generation up to 1000 at a time, and five output formats. We'll cover which version to use when, why v7 is the modern recommendation for database primary keys, and how to avoid the small mistakes that turn UUIDs from a useful primitive into a debugging headache. ## What Is a UUID, Really? A UUID — Universally Unique Identifier — is a 128-bit number used to label things in distributed systems without coordination. The format you see (`xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`) is just a hexadecimal rendering of those 128 bits broken into five groups for readability. The whole point of the format is that two systems can independently generate UUIDs and statistically never collide — no central counter, no sequence service, no coordination overhead. Where it gets interesting: those 128 bits aren't all random. The format reserves 4 bits for a version number and 2 bits for a variant flag — leaving 122 bits for the actual identifying content. What goes in those 122 bits depends on the version, and the version is what determines whether the UUID is random, time-ordered, derived from a name, or just a time-based legacy artifact. The two relevant standards are RFC 4122 (which defined v1, v3, v4, and v5 in 2005) and RFC 9562 (which added v6, v7, and v8 in 2024). Most production code today uses v4 (random); modern systems are increasingly adopting v7 (time-ordered) for database primary keys. ## UUID Versions Explained (v1 vs v4 vs v5 vs v7) Each UUID version solves a different problem. Pick wrong and you pay for it later in performance, security, or determinism. Here's the practical guide: - **v1 — time-based.** 60-bit timestamp + 14-bit clock sequence + 48-bit node ID (originally a MAC address, now usually a random number). Sortable by creation time, but leaks timing information and historically leaked MAC addresses. Mostly legacy. - **v3 — namespace + MD5.**Deterministic from a (namespace UUID, name string) pair, hashed with MD5. Same inputs always produce the same output. MD5 is broken cryptographically but UUID generation doesn't need cryptographic strength — v3 still works fine for non-security use. - **v4 — random.** 122 bits of cryptographic randomness. The default for almost everything. No metadata leakage, no coordination needed. Collision probability is astronomically low. - **v5 — namespace + SHA-1.**Same idea as v3 but with SHA-1. Modern alternative to v3 — prefer v5 unless you're matching a legacy schema that uses v3. - **v7 — time-ordered.** 48-bit Unix-millisecond timestamp + 74 bits random. Recent (RFC 9562, 2024). Sorts chronologically, gives B-tree indexes much better locality. The modern recommendation for database primary keys. - **Nil and Max.**Sentinel values (00000000-... and ffffffff-...). Not real UUIDs — used as placeholders, “unset” markers, or range bounds. ## When to Use UUID v7 Over v4 The reason v7 exists is to fix a real performance problem with v4 in databases: random insert order. When your primary key is v4, every new row lands at a random position in the B-tree index. The page that needs to absorb the insert may not be in the cache, forcing a disk read. The page may need to split if it's full, slowing writes. Multiple inserts to the same page invalidate the cache for everyone reading that page. v7 fixes all of this. Because the timestamp prefix means newer rows always sort after older ones, sequential inserts land near each other in the B-tree. The same handful of pages stays hot in cache, page splits are rare, write throughput goes way up. Postgres and MySQL benchmarks consistently show 5-10× write performance improvement when switching from v4 to v7 PKs at high insert rates. The trade-off: v7 leaks creation time. If creation time is sensitive (medical records, security tokens), use v4 anyway — the performance hit is real but it's the right call. For everything else (orders, events, log records), v7 is now the right default. ### Using a v4 UUID generator for tokens and request IDs Even with v7 taking over for primary keys, a v4 UUID generator stays the right tool for any identifier where you'd rather _not_embed creation time: API keys, password reset tokens, session IDs, magic-link tokens, request IDs that end up in third-party logs. v4's 122 bits of pure randomness mean an attacker who sees one of your IDs cannot predict the next, the previous, or anything about when it was minted. That's the security property you're paying for. ### UUID v5 namespace UUIDs for deterministic IDs v5 is the right answer when two systems need to compute the same UUID for the same logical input without coordinating. A uuid v5 namespace pair (one of DNS, URL, OID, X.500, or a custom namespace UUID) plus a name string deterministically produces a UUID via SHA-1 hashing. Every system with the same namespace + name gets the same UUID — which makes v5 ideal for content-addressed IDs, idempotency keys, and any situation where “the same input must always produce the same identifier” is a hard requirement. ## How to Generate UUID Online with PDFFlare Step-by-step using [PDFFlare's UUID Generator](https://pdfflare.com/tools/dev/uuid-generator): 1. **Pick a version** from the dropdown. Default is v4. Pick v7 for database keys, v5 for deterministic IDs, v1 for legacy compatibility. 2. **For v3 or v5**, also pick a namespace (DNS, URL, OID, X.500, or a custom UUID) and enter the name string. The same (namespace, name) pair always produces the same UUID. 3. **Set the count** from 1 to 1000. The slider and numeric input both work — pick whichever feels natural. 4. **Pick output format**: hyphenated (default), no-hyphens, UPPERCASE, brace-wrapped (Microsoft style), or URL-safe base64. UUIDs regenerate live as you change settings. 5. **Copy**any individual UUID with the per-row Copy button, or use “Copy all” to grab the entire list as newline-separated text. Settings persist across sessions, so the next visit defaults to your last configuration. ## Bulk-Generating UUIDs for Seed Data The bulk mode is where the tool earns its keep for developers. A few common workflows: - **Database fixtures:** seed your dev/staging DB with 100-1000 records, each needing a stable UUID. Set count to 1000, copy all, paste into a SQL INSERT statement (or pipe through [JSON to SQL](https://pdfflare.com/tools/json/json-to-sql) after combining with your other fixture data). - **Load testing:** generate 1000 v7 UUIDs to simulate a realistic write workload that respects insert ordering. - **Mock API responses:** when stubbing out a service, you need a batch of plausible-looking IDs. Bulk v4 generation gives you a copy-paste-able list. - **Unit tests:**deterministic v5 UUIDs make assertions easy — test “does this function produce the expected UUID for input X” without flakiness. ### Bulk UUID generator: 1, 100, or 1000 at a time A good bulk uuid generator removes friction at exactly the point developers feel it: fixture creation, load-test data, and one-off scripts where you need a hundred valid IDs and you do _not_ want to write a loop, install a CLI, or paste a python -c into your shell. Set the count, pick the version, hit copy-all. Settings persist across visits, so the next time you need 250 v7 UUIDs the tool already remembers you wanted v7 and the URL-safe base64 format. ## Common UUID Mistakes (And How to Avoid Them) 1. **Storing UUIDs as VARCHAR(36).** A UUID is 16 bytes. VARCHAR(36) is 36+ bytes. Postgres has a native `uuid` type; MySQL has `BINARY(16)`; both are 2-3× faster for indexing and use less memory. Always use the binary type. 2. **Using Math.random() to generate UUIDs.** Math.random() is predictable — anyone who sees a few of your UUIDs can predict the next one. Always use the platform CSPRNG: `crypto.getRandomValues` in browsers, `crypto.randomUUID` in Node 14.17+,`os.urandom` in Python. 3. **Treating v4 collision as “possible”.** 122 bits of randomness gives you ~5.3×10^36 possible v4 UUIDs. Even at one billion UUIDs generated per second forever, the expected time to a single collision is on the order of 85 years. You don't need to handle the collision case — but you DO need to use the CSPRNG. 4. **Mixing UUID versions in the same table.** Generally fine, but if you mix v4 and v7 as primary keys, you lose v7's index-locality benefit. Pick one version per identifier role and stick with it. 5. **Trying to use the Nil UUID as a real ID.** 00000000-... is reserved as a sentinel. Many libraries treat it as “unset.” If you accidentally persist Nil as a real entity ID, downstream code may treat those rows as missing. 6. **Generating UUIDs in a tight loop without seeding.**Some legacy libraries used a per-process seed that got fixed at startup; if your process forks before generating IDs, every child can produce identical UUID sequences. Modern CSPRNG-based generation (including PDFFlare's) reads fresh entropy on every call, so this is no longer a concern — but if you're on an older runtime, verify the library you use. 7. **Confusing UUID with GUID.**They're the same thing — “GUID” is Microsoft's name for “UUID.” If a Windows-flavored doc tells you to generate a GUID, paste a UUID. The brace-wrapped output format ({xxx-xxx-...}) is the only place the distinction shows up — that's a Microsoft display convention, not a different value. ### UUID generator vs GUID generator: same tool, different name Searching for a guid generator and a uuid generator returns the same kind of tool because the underlying value is identical: 128 random bits formatted as a hyphenated hex string. Microsoft's GUID format wraps the value in curly braces ({xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}) for Registry, COM, and .NET interop; everywhere else the same value is unwrapped. PDFFlare's tool exposes a brace-wrapped output format precisely so the same generator serves both audiences without translation. Pick brace-wrapped if you're pasting into a Windows config; pick hyphenated for everything else. ## Privacy: Are Online UUID Generators Safe? The fundamental concern with any online generator is whether the tool sees your generated values. PDFFlare's UUID generator runs entirely in your browser — your machine's` crypto.getRandomValues()` provides every random byte for v4 and v7, and `crypto.subtle.digest()` handles SHA-1 for v5. Nothing uploads, nothing logs, nothing analytics. That matters for a few specific use cases: - **Generating IDs that become secret tokens** (API keys, password reset tokens, magic-link IDs). Any third-party that sees these values can use them. Local generation keeps them local. - **Generating IDs for an internal system**that you don't want correlated with your IP via a third-party log. - **Generating large batches** where round-trip latency would dominate the time. Local generation is instant. For everyday use cases (test data, mock IDs, debugging), it probably doesn't matter — but defaults that respect privacy mean you don't have to think about it. Pair this generator with [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) when you need to derive deterministic hashes from your UUIDs, or with [Base64 Encode/Decode](https://pdfflare.com/tools/dev/base64-encode-decode) when downstream systems need the URL-safe base64 form. ## Related Tools - [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) — compute MD5, SHA-1, SHA-256, and SHA-512 hashes of any text. Useful when you need a deterministic fingerprint of a UUID payload, or to verify v3/v5 outputs against an independent reference. - [Base64 Encode / Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — encode UUIDs to URL-safe base64 for compact tokens, or decode back to canonical form. Pairs with the URL-safe base64 output format in the UUID generator. - [JWT Decoder](https://pdfflare.com/tools/dev/jwt-decoder) — inspect JSON Web Tokens, including the `jti`(JWT ID) claim that's almost always a UUID. Verify your generated UUIDs survive a round-trip through your auth layer. - [URL Encode / Decode](https://pdfflare.com/tools/dev/url-encode-decode) — escape UUID-shaped path segments and query parameters for safe inclusion in URLs without ambiguity over reserved characters. ## Wrapping Up UUID generation looks trivial until you realize the version you pick has direct downstream consequences for performance, determinism, and security. v4 is the safe default for most uses. v7 is the modern recommendation for database primary keys. v5 is the right call for deterministic IDs. v1 should stay in legacy systems. Pick deliberately and the rest of your stack runs better — pick by accident and you'll revisit it as a performance regression six months later. Generate your next batch with [PDFFlare's UUID Generator](https://pdfflare.com/tools/dev/uuid-generator) — every version, five output formats, 1-1000 at a time, all in your browser with cryptographic randomness. No signup, no watermarks, no API quota. Just UUIDs. --- ## Frequently asked questions **Q: Is UUID v7 better than v4 for databases?** A: Yes for most use cases. v7's time-ordered prefix gives B-tree indexes much better locality than v4's pure randomness — sequential inserts land on neighboring pages instead of scattered across the index. Postgres and MySQL benchmarks routinely show 5-10x write throughput improvement at high insert rates. PDFFlare's UUID Generator emits v7 per RFC 9562, so the IDs work as drop-in primary keys. The trade-off: v7 leaks creation time, so don't use it for IDs where timing reveals sensitive information. **Q: Can two UUIDs collide?** A: Mathematically yes, practically no. v4 has 122 bits of randomness — about 5.3×10^36 possible values. Even generating one billion UUIDs per second forever, the expected time to a collision is around 85 years. You don't need to handle collisions in code; you just need to use a real CSPRNG (PDFFlare's tool uses crypto.getRandomValues) instead of Math.random(). **Q: What namespace should I use for v5?** A: Use the namespace that matches your input domain: DNS for hostnames (foo.example.com), URL for full URLs, OID for OIDs in directory schemas, X.500 for X.500 names. Use a custom namespace UUID when none of those fit — generate one v4 UUID once and treat it as your application's namespace constant. PDFFlare's UUID Generator supports all four standard namespaces plus custom UUIDs. **Q: Are these UUIDs RFC 4122 compliant?** A: Yes. PDFFlare's UUID generator emits standards-compliant UUIDs per RFC 4122 (v1, v3, v4, v5) and RFC 9562 (v7, Nil, Max). The version nibble in byte 6 and the variant bits in byte 8 are set correctly for every version, so any compliant parser will recognize and validate the output. **Q: Does the tool send my UUIDs to a server?** A: No. PDFFlare's UUID generator runs 100% client-side. Every random byte comes from your browser's crypto.getRandomValues(); v5 namespace UUIDs use crypto.subtle.digest() locally. Nothing uploads, nothing logs. Safe for production secrets, internal IDs, and anything else you'd rather not paste into a third-party service. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert PowerPoint to PDF With Notes and Handouts (Free) URL: https://pdfflare.com/blog/convert-powerpoint-to-pdf-with-notes Published: May 3, 2026 Reading time: 9 min read > Convert PowerPoint to PDF with speaker notes, 4-up handouts, slide ranges, and grayscale — free, no signup. PPTX, PPT, ODP supported. --- You finish a deck for tomorrow's training, and now you need three different versions of it: a clean PDF for the lead trainer, a 4-slides-per-page handout for the audience, and a notes-only script you can rehearse from on the train. Most online PowerPoint to PDF converters give you exactly one option — “1 slide per page, no notes, full color” — and you end up doing three round trips through PowerPoint's print dialog instead. In this guide you'll learn how to convert PowerPoint to PDF with speaker notes, multi-up handouts, and grayscale output using [PDFFlare's PowerPoint to PDF tool](https://pdfflare.com/tools/pdf/powerpoint-to-pdf). The tool does all three formats from a single upload — and works on PPTX, PPT, and ODP files up to 50 MB. No PowerPoint install needed, no signup, no watermark on the output. ## Why Convert PowerPoint to PDF in the First Place? A .pptx file works great when you control the audience's machine — it doesn't when you're emailing decks to clients, sharing with a procurement team, or printing handouts. PDF wins for a few specific reasons: - **Fonts and layout stay locked.** Open a .pptx on a machine without your custom fonts and the layout shifts unpredictably. PDF embeds everything. - **No PowerPoint required.**Recipients on Linux, old iPads, or locked-down corporate machines can still open a PDF. PowerPoint Online works but doesn't render every feature. - **Static and tamper-evident.**Once exported, the PDF is the version you sent. No accidental edits, no “wait which version did I share?” - **Print-ready handouts.** Multi-up handouts (2, 4, 6, 9 slides per page) are a printing format, not a viewing format. PDF is the only sensible way to ship them. - **Smaller file size.**Once animations, transitions, and embedded video are flattened to static images, a PDF can be a fraction of the .pptx's size. ## The Three PowerPoint-to-PDF Use Cases Most Tools Miss Generic online converters all do “1 slide per page, full color, slides only.” The interesting requests are everything else — and they're exactly where PowerPoint to PDF goes wrong: 1. **Multi-up handouts (2, 4, 6, 9 slides per page).** For training sessions, conferences, and lectures. Audiences want a printed handout to scribble notes on, not a 60-page full-screen deck. PowerPoint's desktop print dialog can do this; most online converters can't. 2. **Speaker notes export.** When you want a rehearsal script, or to send notes to a teaching assistant. Three modes that matter: slides-only (default), slides + notes-pages interleaved, or notes-only. 3. **Slide range / discrete picks.**Need just slides 10–14 for the QA team? A short demo subset for a sales call? Don't edit the original deck — let the converter handle it. ## How to Convert PowerPoint to PDF (The Right Way) Step-by-step using PDFFlare. The whole flow takes under a minute, no signup, no software install: 1. **Open the tool.** Go to [pdfflare.com/tools/pdf/powerpoint-to-pdf](https://pdfflare.com/tools/pdf/powerpoint-to-pdf). No account needed. 2. **Drop your file.**Drag your .pptx, .ppt, or .odp into the upload area, or click to browse. Files up to 50 MB work on the free tier. The tool reads the slide count from your file so you know what range you're working with. 3. **Pick a slide range (optional).**Leave it blank for all slides, or enter ranges (“1-5”), discrete picks (“1,3,5”), or combine them (“1-3,5,8-10”). 4. **Choose handout layout.**“1 (one slide per page)” is the default. For audience handouts, switch to “4 (handout)” — the output becomes A4 landscape with 4 slides arranged on each page. 6-up and 9-up are great for summary takeaways. 5. **Pick speaker-notes mode.**“No notes” for the public deck, “Notes pages after slides” for the version you send to your TA, or “Notes only” for a rehearsal script. 6. **Convert and download.**Click “Convert to PDF” — the server uses LibreOffice Impress to render with your settings. PDF appears in seconds. ## Five More PowerPoint-to-PDF Tricks 1. **Use grayscale to save ink on handouts.** Switch “Color mode” to grayscale before printing audience handouts — it's identical in readability and uses 30%–60% less toner. The “black & white (photocopy)” mode disables anti-aliasing for crisp text on cheap printers. 2. **Hide your “backup” slides before exporting.**Right-click → Hide Slide on internal-only slides in PowerPoint. PDFFlare excludes hidden slides by default, so they won't leak into the client deliverable. 3. **Use slide ranges instead of duplicating decks.** Need a 5-slide intro for an email and the full 30-slide deck for the meeting? Don't maintain two .pptx files — keep one, and use the slide range field for the shorter export. 4. **Set quality to “Low” for email.** High-res image-heavy decks can hit 50+ MB. The Low quality setting compresses embedded images to JPEG q=60, typically shrinking the PDF by 60-80% with minimal visible difference. Run it through [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) for an even smaller second pass. 5. **Add a signature for client deliverables.** After converting, run the PDF through [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) to add your name and date. Procurement and legal both love a signed cover deck. ## Common Mistakes When Saving PowerPoint as PDF - **Animations and transitions don't carry over.** PDF is static. Each slide is captured at its final state. If your deck relies on builds (text appearing one bullet at a time), the PDF shows everything at once. Restructure complex builds into multiple slides for clearer PDF output. - **Embedded video disappears.** A video placeholder shows the poster frame in the PDF. If the video is critical, include a backup screenshot of the key moment. - **Forgetting print-ready bleed.**If you're sending the PDF to a print shop for high-volume printing, don't use this tool — print shops want PDF/X-1a output with bleeds. PDFFlare produces standard PDF, perfect for sharing and desktop printing but not professional offset. - **Custom fonts going missing.**If you used a font your machine has but isn't embedded in the .pptx, the server may substitute it. Embed fonts in PowerPoint (File → Options → Save → “Embed fonts in the file”) before converting. - **Using handouts when you actually want notes.** Handout layouts (2/4/6/9 per page) are for audience takeaways. For a speaker version with notes per slide, use the “Speaker notes” option set to “Notes pages after slides” instead. ## Use Cases We See Every Day - **Conference speaker prep.** Notes-only mode + grayscale to print a script you can read from at the lectern without bothering the projector. - **Training session handouts.**4-slides-per-page + grayscale + a slide range that skips the “Internal Notes” section. - **Sales follow-up emails.** 1 slide per page + full color + Low quality + Compress PDF post-process. Email-friendly, visually clean. - **Board meeting summary.** 9-slides-per-page summary of a 30-slide quarterly review, on one A4 landscape sheet. - **Workshop preparation.** Notes pages after slides so the workshop facilitator can flip between slide content and their talking points. - **University lecture archives.**Many professors convert end-of-semester decks to 6-up handouts, then archive a second 1-up full-color version with notes pages. The same upload produces both versions in under a minute, which beats sitting through PowerPoint's print dialog twice for every week of material. - **Investor decks for due-diligence rooms.** Final decks often need to be locked, watermark-free, and accessible from any device. PDF + grayscale + a slide range covering only the public-facing material is the canonical export, and takes one click instead of three different exports. ## Privacy and File Handling PDFFlare uploads your presentation over HTTPS to an isolated server container, runs LibreOffice Impress to render the PDF, and streams the result back. Files are **automatically deleted within minutes** after the conversion finishes. No analytics on file contents, no storage, no third-party sharing. If your deck contains regulated data (PII, medical, legal privileged), check your organization's policy on third-party tools before uploading. PDFFlare is suitable for most business workflows but defer to your security team for high-sensitivity content. ## Related Tools A few PDFFlare tools that pair well with the PowerPoint to PDF workflow: - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the output for email if a high-res image-heavy deck still pushes past your inbox limit. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine your converted deck with a Word cover memo or other attachments into a single deliverable. - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) — convert the cover letter or training agenda that goes alongside the deck. - [Excel to PDF](https://pdfflare.com/tools/pdf/excel-to-pdf) — for the budget table or roster spreadsheet that completes the package. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — add a signature to the converted PDF before sending it to a client. ## Workflow Notes Beyond the Basics PowerPoint to PDF with notes opens up workflows that simple slide-by-slide PDFs cannot handle, and getting the export right matters for handouts, archive copies, and accessibility. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Most online PowerPoint-to-PDF tools give you exactly one output format and call it a day. PDFFlare gives you the three formats you actually need: a clean 1-slide-per-page deliverable, a multi-up handout for the audience, and a notes-only script for rehearsal. Set the options once and the tool produces all three versions from the same upload. Convert your first deck now — [PDFFlare's PowerPoint to PDF tool](https://pdfflare.com/tools/pdf/powerpoint-to-pdf) is free, browser-based, and handles PPTX, PPT, and ODP files up to 50 MB. No signup, no watermark, no surprises. --- ## Frequently asked questions **Q: Can I export a PowerPoint deck to PDF with speaker notes?** A: Yes. PDFFlare's PowerPoint to PDF tool offers three notes modes: ‘No notes’ (default — slides only), ‘Notes pages after slides’ (slide content followed by speaker notes for each slide), and ‘Notes only’ (export the speaker notes as a printable rehearsal script with no slides). **Q: How do I make a 4-slides-per-page handout PDF from PowerPoint?** A: Pick 4 in the ‘Slides per page’ dropdown of PDFFlare's PowerPoint to PDF tool. The output is automatically formatted as A4 landscape with a 2x2 grid of slides on each page. 2-up, 6-up, and 9-up handouts are also supported in one click — no fighting with PowerPoint's print dialog. **Q: Can I convert just specific slides, not the whole deck?** A: Yes. Use the ‘Slide range’ field. Enter ranges (‘1-5’), discrete picks (‘1,3,5’), or both combined (‘1-3,5,8-10’). Leave blank for all slides. This is faster than deleting slides from the source .pptx just to share a subset. **Q: Will animations, transitions, or embedded videos appear in the PDF?** A: No. PDF is a static format. Animations and transitions don't translate, and embedded videos appear as their poster frame. Each slide is captured at its final state. If your deck relies on builds (one bullet appearing at a time), the PDF will show all bullets at once — restructure complex builds into multiple slides if you need the build steps preserved. **Q: Is it safe to upload PowerPoint files with internal data to PDFFlare?** A: PDFFlare uploads files over HTTPS, processes them in an isolated server container, and automatically deletes them within minutes. Hidden slides are excluded from the PDF by default — so if you mark internal-only slides as hidden in PowerPoint before uploading, they stay out of the deliverable. For highly regulated content (PII, medical, legal), check your organization's third-party tool policy before uploading. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert Excel to PDF Without Cutting Off Columns URL: https://pdfflare.com/blog/convert-excel-to-pdf-keep-formatting Published: May 3, 2026 Reading time: 8 min read > Convert Excel to PDF without cutting off columns. Use fit-to-width + landscape on PDFFlare to keep every column on one page. XLSX, XLS, ODS — free, no signup. --- You finish a quarterly report in Excel, hit File → Save As → PDF, email it to your client, and ten minutes later you get the reply everyone dreads: “The right side of the page is cut off — can you resend?” You open the PDF and sure enough, the last three columns vanished off the edge. Or worse, they spilled onto a phantom page 2 with nothing else on it. This is the single most common pain point people hit when they try to convert Excel to PDF, and most online converters do nothing to help. In this guide you'll learn how to convert Excel to PDF without cutting off columns using [PDFFlare's Excel to PDF tool](https://pdfflare.com/tools/pdf/excel-to-pdf). The fix is two clicks: orientation and fit mode. Set them once and your XLSX, XLS, or ODS file exports cleanly the first time, every column visible, no spillover pages. We'll also cover sheet selection (so private “Internal” tabs don't leak into client deliverables), gridlines, and a few common gotchas that catch even experienced spreadsheet users. ## Why Convert Excel to PDF in the First Place? Sharing the .xlsx file directly seems easier — but PDF wins for almost every external-facing use case: - **Locked formatting.** Column widths, fonts, and page breaks all stay where you put them. Open the same .xlsx in a different version of Excel or in Numbers and the layout often shifts. - **Read-only by default.**Recipients can't accidentally (or deliberately) edit your numbers. The exported figures match what you sent. - **Universal compatibility.** Every device on earth can open a PDF. Excel files require Excel, LibreOffice, Numbers, or Google Sheets — all with subtly different rendering. - **Smaller file size.** A PDF of a 12-tab workbook is usually smaller than the workbook itself once charts and formulas are flattened to rendered output. - **Required by clients.**Most procurement, legal, and finance workflows simply won't accept .xlsx. PDF is the de facto archival format. ## The “Cut-Off Columns” Problem, Explained Excel and Calc both default to a portrait page in the printer's paper size (A4 or US Letter), with no scaling. That means a spreadsheet with 25 columns of financial data will render something like seven or eight columns on page 1, the next eight on page 2, and the last few on page 3. The sequence repeats for every horizontal print band. From a reader's perspective, half their data is “missing” — it's actually there, just buried in the next print band. Worse, if your sheet is just barely wider than the page width, you'll get one column orphaned onto a tiny page 2. Hitting print produces a stack of mostly-blank pages. The fix is to tell the renderer: “take whatever width my spreadsheet is, and squeeze it to fit one page wide.” In Excel desktop this lives in Page Layout → Width → 1 page. Most online converters never expose this control. PDFFlare does. ## How to Convert Excel to PDF (The Right Way) Step-by-step using PDFFlare. The whole flow takes under a minute, no signup, no software install: 1. **Open the tool.** Go to [pdfflare.com/tools/pdf/excel-to-pdf](https://pdfflare.com/tools/pdf/excel-to-pdf). No account needed. 2. **Drop your file.** Drag your .xlsx, .xls, or .ods into the upload area, or click to browse. Files up to 50 MB work on the free tier. 3. **Pick the sheets you want.**A panel appears listing every sheet in your workbook. Hidden sheets show up grayed out — they're excluded by default so private tabs don't leak into the export. Click “Deselect all” then tick just the sheets you need. 4. **Set orientation and fit.**The defaults are already optimized: orientation is auto, fit mode is “Fit all columns to one page wide.” For wide reports, change orientation to **Landscape** — it gives the renderer more horizontal room before it has to scale text down. 5. **Convert and download.**Click “Convert to PDF” and the server runs LibreOffice Calc with your settings. The PDF appears in seconds. ## Four More Cutoff-Column Tricks Even with fit-to-width on, super-wide sheets sometimes need a little help. Here are four preparatory tricks worth knowing: 1. **Set Print Area in Excel before exporting.** Highlight only the columns you actually want to print, then Page Layout → Print Area → Set Print Area. The PDF will only include those columns instead of everything across the sheet. 2. **Reduce font size on totals or summary rows.**If one row has long-text labels (“Quarterly Operating Expenses, Adjusted”) it can balloon a column's minimum width. Shrinking that row's font from 11 pt to 9 pt often saves 30% page width. 3. **Use a wider page size.** If A4 / Letter still crams text, switch to **A3** or **Tabloid**in PDFFlare's Page Setup card. Big wall-printable PDFs are sometimes the right answer for dashboards and pivot summaries. 4. **Try Custom Zoom for surgical control.** If fit-to-width shrinks text more aggressively than you'd like (say, 60% to fit on one page), try Custom Zoom at 80% or 85% instead. The PDF will be slightly wider than one page, but text stays readable. After exporting, run the PDF through [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) if the file size grows past your email limit — a 5 MB Excel export usually compresses to under 2 MB without visible loss. ## Common Mistakes When Saving Excel as PDF - **Forgetting to set the print area.**Excel cheerfully includes that “scratch” column you put 30 cells over to the right. Set the print area or the PDF will include 50 blank columns followed by your scratch data. - **Hidden tabs leaking into the export.**Exporting the whole workbook can include hidden “Internal” sheets you forgot were there. PDFFlare excludes hidden sheets by default; if your previous tool didn't, double-check the PDF before sending. - **Wrong locale formatting.**European-format numbers (1.234,56) sometimes flip to US format (1,234.56) or vice versa during conversion. Lock it down by formatting cells explicitly in Excel before exporting — don't rely on locale defaults. - **Charts rendering as blanks.** Charts built from external pivot data sometimes lose their backing source on export. Open the chart in Excel, click Refresh All, then save the workbook before converting. - **Currency symbols missing.**Some legacy XLS files use a font that the converter doesn't have. Switch those cells to a system font like Arial or Calibri before export, or accept Liberation Sans as the substitute. ## Use Cases We See Every Day A few scenarios where dialed-in Excel-to-PDF settings make a tangible difference: - **Quarterly P&L for clients.** Landscape + fit-to-width + Letter page size + center horizontally. The financial report fits cleanly on one page per sheet. Pair it with [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) to add your signature before sending — clients see a single polished, signed deliverable instead of an unsigned spreadsheet. - **Employee shift schedules.** Landscape + fit-to-page (entire sheet on one page). Even a 4-week schedule fits when scaled to one page. - **Budget vs. actual dashboards.** A3 + landscape + print gridlines on. Looks like a board-room handout instead of a screenshot. - **Invoices and quotes.** Portrait + Letter + fit-to-width. Standard letter format, everything legible. - **Inventory exports.**Sheet picker — pick just the “Active SKUs” tab and skip the “Discontinued” and “Internal” tabs. ## Privacy and File Handling PDFFlare uploads your spreadsheet over HTTPS to an isolated server container, runs LibreOffice Calc to render the PDF, and streams the result back. Files are **automatically deleted within minutes** after the conversion finishes. No analytics on file contents, no storage, no third-party sharing. The conversion runs entirely on PDFFlare infrastructure — no third-party APIs are called with your data. If your spreadsheet contains regulated data (PII, medical, legal privileged), make sure your organization's policy permits uploading to a third-party tool. PDFFlare is suitable for most business workflows but defer to your security team for high-sensitivity content. ## Related Tools Once you have your PDF, a few PDFFlare tools that pair well with Excel-to-PDF workflows: - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the output for email if it's pushing past the 10 MB inbox limit. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine your sheet exports with a Word cover page or other attachments into a single deliverable. - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) — same engine, same fidelity, for the cover letter or memo that goes alongside your spreadsheet PDF. - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word) — when a client sends back a PDF and you need to edit it. - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — add a signature to the converted PDF before sending. ## Workflow Notes Beyond the Basics Excel to PDF preservation is one of those workflows where every spreadsheet has its own quirks, and the conversion settings you pick determine how readable the output will be. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up The reason most online Excel-to-PDF converters produce ugly, column-cut-off output is that they don't expose the two settings that actually matter: orientation and fit-to-width. PDFFlare does, and they're on by default. For a wide report, flip orientation to landscape, double-check the sheet picker, and click convert. Your client gets a clean PDF that reads like a professional document instead of a botched print job. Convert your first spreadsheet now — [PDFFlare's Excel to PDF tool](https://pdfflare.com/tools/pdf/excel-to-pdf) is free, browser-based, and supports XLSX, XLS, and ODS up to 50 MB. No signup. No watermark. No surprises. --- ## Frequently asked questions **Q: Why does my Excel file get cut off when I convert it to PDF?** A: Most converters default to portrait orientation with no scaling, so wide sheets spill columns onto extra pages or cut them off entirely. The fix is two settings: switch orientation to landscape, and turn on fit-to-width (also called 'Fit all columns to one page wide'). PDFFlare's Excel to PDF tool ships with fit-to-width on by default and lets you flip orientation in one click. **Q: Can I export only specific sheets from a multi-tab Excel workbook?** A: Yes. PDFFlare's Excel to PDF tool shows every sheet in your workbook in a per-sheet picker. Untick the ones you don't want, or click 'Deselect all' and tick just the sheets you need. Hidden sheets are listed grayed out and excluded by default — you have to opt in to include them. **Q: What's the largest Excel file I can convert to PDF for free?** A: PDFFlare's free tier accepts spreadsheets up to 50 MB, which covers nearly every Excel file in real-world use. Premium users get higher limits for very large workbooks (200+ sheets, embedded images, large pivot caches). **Q: Will my Excel formulas show their values or the formulas themselves?** A: Formulas are evaluated to their values during the PDF conversion. So a cell with =SUM(A1:A10) appears in the PDF as the calculated total, not the formula text. This matches Excel's own File → Save As → PDF behavior. If you specifically want formulas printed instead of values, switch the cell to text format in Excel before exporting. **Q: Is it safe to upload sensitive financial spreadsheets to PDFFlare?** A: PDFFlare uploads files over HTTPS, processes them in an isolated server container, and automatically deletes them within minutes after conversion. There's no storage, no analytics on file contents, and no third-party API calls with your data. For highly sensitive material (PII, medical, regulated financial data), check with your organization's policy before using any third-party converter — PDFFlare included. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Find Duplicate Keys in JSON (Catch the Silent Data-Loss Bug) URL: https://pdfflare.com/blog/find-duplicate-keys-in-json Published: May 1, 2026 Reading time: 7 min read > Find duplicate keys in JSON online for free. JSON.parse silently drops conflicting keys — this tool flags every one with line numbers so you can fix data loss. --- A teammate hands you a JSON config from a third-party export. You run it through `JSON.parse`, ship it, and a week later someone notices a setting you definitely set is missing from the live app. The setting was there in the source file. So why is it gone? Because the file had duplicate keys with the same name and `JSON.parse` silently kept only the last one. In this guide you'll learn how to find duplicate keys in JSON using [PDFFlare's JSON Duplicate Keys detector](https://pdfflare.com/tools/json/json-duplicate-keys) — why JSON parsers silently drop duplicates, where this bug shows up in real systems, and how to fix or prevent it. ## Why JSON.parse Silently Drops Duplicate Keys The JSON spec (RFC 8259) is permissive on duplicates: implementations MAY accept them, MAY reject them, MAY warn. There's no required behaviour. JavaScript's `JSON.parse` chose the permissive path: take both keys, the later one wins, the earlier one is silently overwritten. This is bad for two reasons: - **Silent.** No error. No warning. Your code runs normally with the wrong data. - **Order-dependent.** The bug behaviour depends on key order in the source file. Round-tripping through `JSON.stringify`changes the ordering, which can flip which value “wins.” The fix isn't to change `JSON.parse`(you can't). It's to detect duplicates upstream — before the parse drops half your data. ## How PDFFlare's Detector Works PDFFlare's tool doesn't use `JSON.parse`— that would be useless, since the parser is exactly what drops the data we're trying to detect. Instead, the tool runs a raw-text scan of the JSON, tracks every key it sees inside each object scope, and flags any key that appears more than once at the same level. You get the line number of each duplicate so you can fix it directly in your source. ## How to Find Duplicate Keys in JSON (Step by Step) 1. **Open [PDFFlare's Duplicate Keys tool](https://pdfflare.com/tools/json/json-duplicate-keys)** — no signup needed. 2. **Paste your JSON** into the input pane. Could be a config file, an API response, an export — anything you suspect might have duplicates. 3. **Click Find Duplicates.** The tool scans the raw text and lists every duplicate key with its line number, the value it had, and which object scope it appeared in. 4. **Inspect the results.**If duplicates are listed, decide what to do (merge, rename, delete) — see the next section. If “No duplicates found,” you can safely `JSON.parse` without data loss. ## How to Fix Duplicate Keys What to do depends on why the duplicate exists in the first place: - **Real data conflict (two values for the same key):** One of them is “canonical.” Decide which, delete the other. If both matter, restructure into an array (e.g. `{"tags": ["a", "b"]}` instead of two` tags` keys). - **Manual edit gone wrong:** Someone added a new key without realizing one already existed. Pick the correct value, delete the duplicate. - **Generated by buggy code:** Some serializer (especially in older or hand-rolled tools) emits duplicates. Fix the source, regenerate. - **Merged from multiple sources:** Two configs were naively concatenated. The fix is to merge properly with logic (e.g. last-wins explicitly, or rename one side). ## Real-World Cases Where This Bites ### Hand-Edited Configuration Files A config file gets edited by multiple people over months. Someone adds a new `timeout` field at the top of the file, unaware that another `timeout` already exists 200 lines down. Both values are present in the source, only the bottom one ever takes effect. Until the file is reordered, at which point behaviour silently flips. ### Log Aggregation Some log pipelines emit one JSON object per line, with shared field names (e.g. `request_id`, `user_id`). When the pipeline merges multiple sources into a single document, duplicate keys can appear at the same level — and the merge step silently keeps only one. ### Generated JSON From Templates Template engines (Mustache, Handlebars, Jinja) producing JSON can emit duplicates if the same template variable is referenced twice. The output looks fine in the file, parses fine in JS, but produces mysterious data loss. ### Webhook Payloads From Older APIs Older or hand-rolled APIs occasionally emit duplicate keys (especially for arrays-as-multiple-keys patterns from XML legacy systems). Your handler picks one value silently. ### Manually Built JSON in Tests A developer builds a JSON test fixture by copy-pasting from real data. They duplicate a key by accident. The test runs, asserts on the “wrong” value, and either passes deceptively or fails with a confusing message. ## Common Mistakes - **Trusting `JSON.parse` to flag duplicates.** It won't. Strict parsers exist (e.g. `simple-json-parser` with strict mode), but the JS built-in is permissive. - **Assuming duplicates only happen at the top level.** They can occur at any nesting level. PDFFlare's tool checks every object scope independently. - **Treating two keys with different cases as different.** JSON keys are case-sensitive — `"Foo"` and` "foo"` are different keys, not duplicates. Your data may treat them as duplicates semantically; clean that up at the source. - **Thinking arrays of objects can have “duplicate keys.”**An array of identical-shape objects has the same key in each element — that's normal, not a duplicate. Duplicates only occur within a single object. ## Preventing Duplicates at the Source Detecting duplicates after the fact is essential, but preventing them upstream is even better. Three patterns: - **Build JSON from typed structures, not strings.** `JSON.stringify(obj)`from a JS object can't produce duplicates because objects can't have duplicate keys. Avoid string concatenation when building JSON — that's where duplicates sneak in. - **Use a JSON Schema with `additionalProperties: false`**at the API boundary. While the schema doesn't directly catch duplicates (parsers drop them before the schema sees), the discipline of writing a strict schema forces you to think about which keys are allowed. - **Run the duplicate-key check as a CI step.** If your repo contains JSON fixtures, configs, or test data, run PDFFlare-style detection on every PR. Block merges that introduce duplicates. ## What Counts as a “Duplicate” Anyway? The detector looks for keys that appear more than once at the same object level. Some borderline cases worth clarifying: - **Same key, different nesting:** `{"user": {"name": "alice"}, "name": "bob"}` has `name` twice but at different scopes — not a duplicate. JSON parsers handle both fine. - **Same key inside array elements:** `[{"id": 1}, {"id": 2}]` has two `id` keys but each is in its own object scope — not a duplicate. Standard array-of-objects pattern. - **Whitespace differences:** `{"foo": 1, "foo ": 2}` (trailing space) has two different keys (whitespace counts). Not a duplicate by the spec. But in practice, you almost certainly meant one — fix the trailing space. - **Unicode normalization:**Two visually identical keys can have different Unicode codepoints (e.g. composed vs decomposed accents). Strict spec says they're different. In practice, normalize to NFC before parsing. - **Numeric keys:** Object keys are always strings in JSON. `{"1": "a", "01": "b"}`has two keys (different strings, different values). They'd be the same number, but JSON doesn't care. ## Best Practices - **Run the duplicate check on every external JSON input.** Configs, webhook payloads, third-party exports — anywhere you don't fully control the source. - **Validate JSON with a strict parser in CI.** Several JSON validators (e.g. `jsonlint --quiet --no-comments`) will fail on duplicates. Add to your CI pipeline so duplicates can't reach production. - **Combine with a JSON Schema check.** Schemas with` additionalProperties: false`catch a related class of bug — unexpected keys. PDFFlare's [JSON Schema tool](https://pdfflare.com/tools/json/json-schema) generates schemas you can use as guards. - **Format your JSON before checking.** [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) gives you stable line numbers for the duplicate report. - **Use ordered objects when order matters.** JSON itself doesn't guarantee key order, but most implementations preserve insertion order. If you have to handle duplicates by “first wins,” document that explicitly and use a parser that supports it (some Python and Java parsers offer strict modes). ## How Different Languages Handle JSON Duplicates Behaviour varies wildly across implementations. Knowing yours matters: - **JavaScript (`JSON.parse`):** Last wins, silent. The most permissive of the major implementations. - **Python (`json.loads`):** Last wins by default — same as JavaScript. Pass `object_pairs_hook=collections.OrderedDict` with custom logic to detect duplicates, or use a strict wrapper. - **Go (`encoding/json`):** Decoding into a struct silently keeps the last duplicate key. Decoding into` map[string]interface{}` also keeps the last. - **Rust (`serde_json`):** By default, same behaviour. Set `features = ["preserve_order"]` and you can detect duplicates manually. - **Java (Jackson):** Has a strict-mode flag (`FAIL_ON_READING_DUP_TREE_KEY`) that throws on duplicates — disabled by default, but worth enabling. - **jq:** Last wins, silent. Same JS-style behaviour. The takeaway: _every_popular JSON parser silently drops duplicates by default. Fixing this requires either a strict-mode flag (where available) or a separate duplicate-check pass — which is what PDFFlare's tool gives you for free. ## Strict JSON: When the Spec Says “Don't” RFC 8259 (Section 4) says: “The names within an object SHOULD be unique.” That's SHOULD, not MUST — meaning compliant implementations are encouraged but not required to reject duplicates. That permissiveness is the source of every duplicate-key bug in the wild. If you can mandate strict mode in your tooling pipeline, do it. Otherwise add a check pass before parsing — exactly what PDFFlare's detector does. ## Privacy: Your JSON Stays on Your Device PDFFlare's Duplicate Keys tool runs entirely in your browser. The raw-text scan happens locally — your JSON never uploads to any server. Safe for production configs, internal payloads, JSON containing secrets or PII. ## Wrapping Up Duplicate keys are the canonical example of a bug that's obvious once you know to look for it, and invisible until you do. A 30-second scan with PDFFlare's detector catches the entire class of silent data-loss bugs that `JSON.parse` hides from you. Got a JSON file you're about to feed to `JSON.parse`? Open [PDFFlare's Duplicate Keys tool](https://pdfflare.com/tools/json/json-duplicate-keys) first. Two seconds for confidence that nothing's about to silently disappear. ## Related Tools - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format with line numbers for clear duplicate reports - [JSON Schema](https://pdfflare.com/tools/json/json-schema) — validate input against a schema with strict additional properties - [JSON Stats](https://pdfflare.com/tools/json/json-stats) — see total vs unique key counts at a glance - [JSON Viewer](https://pdfflare.com/tools/json/json-viewer) — browse the parsed tree to see what survived parsing --- ## Frequently asked questions **Q: Why does JSON.parse silently drop duplicate keys?** A: RFC 8259 (the JSON spec) doesn't require parsers to reject duplicates — it leaves the behaviour up to the implementation. JavaScript's JSON.parse takes the permissive path: when it encounters two keys with the same name in one object, the later one overwrites the earlier one and no warning is emitted. The data is silently lost. **Q: How does PDFFlare's tool find duplicates if JSON.parse can't?** A: The tool doesn't use JSON.parse — it would be useless since the parser is what drops the data. Instead, PDFFlare runs a raw-text scan, tracks every key seen inside each object scope, and reports any key that appears more than once at the same level. You get the line number of each duplicate so you can fix them in your source file. **Q: Will the detector also catch case-sensitive 'duplicates'?** A: No. JSON keys are case-sensitive by spec — "foo" and "Foo" are different keys, not duplicates. If your data treats them as semantically equivalent (a common bug in mixed-case configs), you need to normalise case at the source. The detector follows the spec. **Q: Do duplicate keys matter at every nesting level?** A: Yes. Duplicates can occur at any object scope — top-level, deeply nested, or inside an array element. PDFFlare's detector checks every object scope independently and reports the path so you know which nested object the duplicate lives in. **Q: Is my JSON sent to a server when checking for duplicates?** A: No. The duplicate-keys tool runs entirely in your browser via a raw-text scan. Your JSON never uploads anywhere — safe for production configs, webhook payloads, customer data, or anything containing secrets. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Flatten Nested JSON to Dot-Notation Keys (and Back) URL: https://pdfflare.com/blog/flatten-nested-json Published: May 1, 2026 Reading time: 8 min read > Flatten nested JSON to dot-notation keys free online. Convert to flat, env-var, or path style — unflatten back round-trip safe. Browser-based, no signup. --- You're wiring up a React form with React Hook Form and the field paths it expects look like `user.address.city`, not the nested object you've got. Or you need to feed a config to a 12-factor app and the env vars want flat keys like `DATABASE_HOST`, not nested JSON. Or you're managing translations and your i18n library wants dot keys. All three problems have the same fix: flatten the nested JSON. In this guide you'll learn how to flatten nested JSON to dot-notation keys (and unflatten back) using [PDFFlare's JSON Flatten tool](https://pdfflare.com/tools/json/json-flatten) — with delimiter options for env-var, path-style, and custom formats. 100% browser-based, round-trip safe. ## What Does Flattening JSON Mean? Flattening collapses a nested JSON document into a single-level object whose keys describe the path to each leaf value. The structure becomes part of the key, not the shape: **Nested:** `{ "user": { "name": "alice", "address": { "city": "NYC" } } }` **Flat (dot delimiter):** `{ "user.name": "alice", "user.address.city": "NYC" }` Arrays use bracket-index notation: `{ "tags": ["a", "b"] }` becomes `{ "tags[0]": "a", "tags[1]": "b" }`. Unflattening is the reverse — take a flat dot-keyed object and rebuild the nested structure. Round-trip safe for the typical case. ## Why Flatten Nested JSON? - **Form data libraries:** React Hook Form, Formik, and most form libs use flat path strings as field names. Flattening is the bridge between your domain model and the form layer. - **Environment variables:** 12-factor apps consume config as flat env vars. Convert nested config to flat with` _ ` as the delimiter, set in your environment, parse back at startup. - **Translation files:** i18n libraries (i18next, react-intl) typically use dot keys. Authors write nested JSON for readability, the build flattens for runtime lookup. - **Flat key-value stores:** Redis, etcd, Consul KV — all flat. Flatten your config, store as flat keys, no nested structure to manage. - **Spreadsheet exports:**CSV is flat; nested JSON doesn't map cleanly. Flatten first, convert via [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv), import to Excel. - **Logging and analytics:** Many log indexers prefer flat key paths over deep nesting. Flatten before sending to keep search performant. ## How to Flatten JSON (Step by Step) 1. **Open [PDFFlare's JSON Flatten tool](https://pdfflare.com/tools/json/json-flatten)** — no signup. 2. **Make sure direction is set to Flatten** (the default). 3. **Pick a delimiter.** Dot (`.`) is default; switch to underscore for env-var-style, slash for path-style, or Custom for anything else. 4. **Paste your nested JSON** into the input pane. 5. **Click Convert.** The output pane shows the flattened object with one entry per leaf. 6. **Copy or download.** To go back: toggle direction to Unflatten, paste the flat object, click Convert. The Swap button moves output to input for round-tripping. ## Delimiter Options Explained - **Dot (`.`) — the default.** The most common style. Works with React Hook Form, Lodash `_.get`, JSONPath, and most i18n libraries. - **Underscore (`_`) — env-var style.** `{ "database": { "host": "localhost" } }` becomes` { "database_host": "localhost" }` — convert to uppercase and set as env var `DATABASE_HOST`. - **Slash (`/`) — path style.** Useful for JSON Pointer-like keys, Consul KV (which uses slash by convention), or any system that treats paths hierarchically. - **Custom — anything you want.** Type any string into the custom field. Common choices: `__` (double underscore for env vars that contain single underscores), or` ::` (double colon). ## Round-Trip Safety Flatten then unflatten should reproduce the original JSON exactly. PDFFlare's tool handles the typical case faithfully: - **Nested objects:** Reconstructed exactly. - **Arrays:** Index-based paths preserve element order and length. - **Scalar values:** Strings, numbers, booleans, null — all preserved as-is. - **Empty objects and arrays:** Preserved as a single entry at their path so unflatten can rebuild them. ## Handling Keys That Contain the Delimiter If a key contains the active delimiter, flattening would create ambiguity — is `a.b` the path to `b` inside` a`, or a single key literally named `a.b`? PDFFlare's flatten tool wraps such keys in` ["..."]` so the round trip stays unambiguous: **Input:** `{ "a.b": 1 }` (with dot delimiter active) **Flat output:** `{ "[\"a.b\"]": 1 }` Unflatten reads the bracket-quoted segment as a single key, restoring the original. Works for slashes, underscores, custom delimiters too. ## Common Scenarios ### React Hook Form Field Paths Your domain model is `{ user: { profile: { firstName: '' } } }`. React Hook Form's field name is `user.profile.firstName`. Flatten the model on read, unflatten on submit. Same data, two representations. ### Helm Chart `--set` Flags `helm install --set app.replicas=3 --set app.image.tag=latest` is equivalent to a small nested values.yaml. If you start with the nested form, flatten with dot delimiter to produce `--set` flags directly. ### i18n Translation Keys Authors write `{ "home": { "hero": { "title": "Welcome" } } }` for readability. The runtime library wants flat keys like` home.hero.title`. Flatten as a build step. ### 12-Factor App Configs Maintain config as nested JSON (easy to read), flatten with `_` delimiter for env vars, set in your container, unflatten at startup. Best of both worlds. ### Spreadsheet Exports Need to share a nested API response with a spreadsheet user? Flatten first (so each leaf becomes its own column), then convert via [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv). Excel handles the result cleanly. ### Database Migration Diff Flatten the old and new schemas, then run them through [JSON Diff](https://pdfflare.com/tools/json/json-diff). The flat form makes structural changes pop. ## Lodash, Ramda, and Friends: When You Don't Need to Flatten Flattening physically reshapes your data. Sometimes you don't need that — you just need to read or write a value at a path. Path-aware accessor libraries handle this without flattening: - **Lodash `_.get` and `_.set`:** `_.get(obj, "a.b.c", defaultValue)` reads a nested value by a dot path; `_.set` writes one (creating missing intermediate objects). No flattening needed. - **Ramda `R.path`:** Functional alternative with array-of-keys instead of dot strings: `R.path(["a", "b", "c"], obj)`. Curryable, easy to compose. - **Native optional chaining:** Modern JS supports` obj?.a?.b?.c` for safe navigation. No library at all, just language. Best for known-shape access. Rule of thumb: flatten when downstream needs flat keys (forms, env vars, key-value stores). Use accessor libraries when your code needs to read or write paths but the data stays nested. ## Performance: When to Flatten and When Not To Flattening allocates a new object roughly the size of every leaf in the source. For typical configs and API responses this is fine. A few cases where it matters: - **Small documents (under ~10 KB):** Flatten freely. Performance cost is negligible. - **Medium documents (10 KB - 1 MB):**Flatten on demand, not on every call. Cache the flat form if you'll access it repeatedly. - **Large documents (above ~10 MB):** Flattening doubles memory use during the transformation. Use Lodash `_.get(obj, 'a.b.c')` on the nested form for individual lookups instead — same path syntax, no allocation. - **Streaming data:**Don't flatten. Use a streaming JSON parser and a path-aware visitor instead. PDFFlare's tool isn't designed for streaming. ## Common Mistakes - **Choosing a delimiter that appears in your keys.** If your keys contain dots and you flatten with dot delimiter, you'll either get bracket-quoted segments (PDFFlare's behaviour) or ambiguous paths (other tools). Pick a delimiter that doesn't collide with key content. - **Unflatten in a different tool with a different delimiter convention.** If you flatten with dot in PDFFlare and try to unflatten in another library configured for slashes, nothing unflattens. Round-trip in the same tool, or document the delimiter choice clearly. - **Forgetting that arrays use bracket-index, not dot-index.** `tags[0]`, not `tags.0`. PDFFlare follows the standard convention; some libraries differ. - **Treating flatten as lossless for streaming data.** Flatten on a 100-MB log file produces an even bigger flat object. Streaming flatten is a different tool — for huge data, use a scripting language with a streaming JSON parser. - **Mixing delimiters within one document.**One document, one delimiter. Mixing means unflatten can't parse the result correctly. ## Best Practices - **Pick a delimiter and document it.**A README note saying “all flat configs use dot delimiter” saves future-you confusion. - **Flatten as a build step, not at runtime.** Translation files, env-var configs — generate the flat form once during build, ship the flat form, save runtime parsing cost. - **Use Dot Notation libraries on flat data.** Lodash `_.get(obj, "a.b.c")`works on the nested form too — sometimes you don't need to flatten, you just need a path-aware getter. - **Validate flat input keys against expectations.** If you're consuming flat input from an external source, validate that all expected paths are present — typos in flat keys silently produce missing values. ## Flatten vs JSON Pointer vs JSONPath Three ways to address values inside a JSON document. They look similar, but solve different problems: - **Flatten (this tool):** Materializes every leaf path as a key. Output is a new flat JSON object. Best for handing data to systems that natively expect flat keys. - **JSON Pointer (RFC 6901):** A path syntax (`/user/address/city`) used for `$ref`in JSON Schema and OpenAPI. Doesn't flatten — just describes “where in the document.” Tools use it to resolve specific values. - **JSONPath:** A query language, not a flatten operation. `$.user.address.city` looks similar to a flat key, but you use it to _extract_values, not to re-shape the document. See PDFFlare's [JSONPath Tester](https://pdfflare.com/tools/json/json-path). Rule of thumb: flatten when you need a new flat document; JSONPath when you need to query an existing nested document; JSON Pointer when you're writing schema $refs. ## Edge Cases Worth Testing - **Mixed-type arrays:** Flattening `{"items": [1, "two", {"a": 3}]}` produces three entries with different value types — `items[0]: 1`, `items[1]: "two"`, `items[2].a: 3`. Round-trip safe. - **Nested arrays:** `{"matrix": [[1,2],[3,4]]}` flattens to four entries with bracket-bracket paths like `matrix[0][0]`. - **Boolean and null leaves:** Preserved as their actual values, not stringified. - **Numeric string keys:** A key like `{"42": "answer"}` stays a string key in the flat output — JSON object keys are always strings. ## Privacy: Your JSON Stays on Your Device PDFFlare's JSON Flatten runs entirely in your browser. The flatten and unflatten logic is JavaScript executed locally — your JSON never uploads anywhere. Safe for production configs containing secrets, customer data, or anything sensitive. ## Wrapping Up Flat dot-notation is the lowest-common-denominator format for consuming nested data — works in form libraries, env vars, key-value stores, translation files, and spreadsheets. A solid bi-directional flatten/unflatten with delimiter options handles 95% of the cases you'll hit. Got nested JSON that needs to land somewhere flat? Open [PDFFlare's JSON Flatten tool](https://pdfflare.com/tools/json/json-flatten) and pick the delimiter that matches your downstream consumer. ## Related Tools - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) — flatten first, then export to Excel-friendly CSV - [JSON Diff](https://pdfflare.com/tools/json/json-diff) — diff flattened forms for clear structural diffs - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format flat or nested output for human review - [JSON Path](https://pdfflare.com/tools/json/json-path) — query nested data without flattening when paths suffice --- ## Frequently asked questions **Q: What does it mean to flatten nested JSON to dot notation?** A: Flattening converts nested objects and arrays into a single-level object whose keys describe the path to each leaf value. So {"user": {"address": {"city": "NYC"}}} becomes {"user.address.city": "NYC"}. The structure becomes part of the key. Unflattening rebuilds the nested shape. **Q: Can I use a delimiter other than dot when flattening?** A: Yes. PDFFlare supports four delimiter modes: dot (the default, used by most form libraries and i18n tools), underscore (for env-var-style keys like A_B_C=value), slash (for path-style keys, used by Consul KV), or Custom (type any string). The same delimiter is used for both flatten and unflatten. **Q: What happens if a key contains the delimiter character?** A: Keys containing the active delimiter get wrapped in ["..."] in flat form to avoid ambiguity. So {"a.b": 1} flattened with the dot delimiter becomes {'["a.b"]': 1}, and unflatten restores it correctly. This keeps the round trip safe even when keys contain delimiters. **Q: Does flatten preserve null values and empty arrays?** A: Yes. Null leaves become null entries at their path. Empty objects ({}) and empty arrays ([]) are preserved as a single entry with that path so unflatten can reconstruct them exactly. This makes the round trip lossless for the typical case. **Q: Why would I flatten JSON for an environment variable config?** A: 12-factor apps consume config as flat env vars (e.g. DATABASE_HOST=localhost). If your canonical config is nested JSON, flatten with underscore delimiter, uppercase the keys, and inject as env vars. At startup, your app reads the env, unflattens back to nested JSON, and consumes it. You get readable nested config in version control plus 12-factor-compliant env vars in production. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Generate Dummy / Fake JSON Data for Testing (Free Online) URL: https://pdfflare.com/blog/generate-fake-json-data Published: May 1, 2026 Reading time: 8 min read > Generate fake / dummy JSON data online free. Templates for users, orders, products, addresses. Seeded reproducible output, up to 1000 items per click. --- You're building a UI and the API isn't ready. You're writing a Postman collection that needs a realistic request body. You're demoing a SaaS app and don't want the screenshots full of `{ "test": "test" }` placeholders. All three problems have the same solution: a fake JSON data generator that produces realistic-looking dummy records on demand. In this guide you'll learn how to generate fake JSON data for free using [PDFFlare's JSON Generator](https://pdfflare.com/tools/json/json-generator) — what templates are available, how to make output reproducible with seeds, and where this fits in your testing and development workflow. ## Why Generate Fake JSON? - **Frontend dev before backend ready:** Build the UI against fake JSON, swap to the real API when it lands. Standard workflow at every team that ships frontend and backend in parallel. - **API testing in Postman / Insomnia:** A well-shaped mock request body makes it easy to test your validation, schema checks, and error handling. - **Test fixtures:** Unit tests need stable inputs. Generate once with a seed, save to a file, commit. Now every run uses the same data. - **Demos and screenshots:** A product demo with a populated table looks ten times better than one full of placeholders. Generate, paste in, screenshot. - **Schema design:**Sketch out a sample shape with real-looking values. It's easier to reason about `{"name": "Alice Johnson"}` than `{"name": "string"}`. - **Load testing:**Push 1,000 generated objects through your API and watch the latency curve. PDFFlare's generator tops out at 1,000 items per click — enough for most warm-up runs. ## How to Generate Fake JSON Data (Step by Step) 1. **Open [PDFFlare's JSON Generator](https://pdfflare.com/tools/json/json-generator)** — no signup needed. 2. **Pick a template.** Choose from User, Order, Product, Address, Company, or Blog Post. Each template has a sensible set of fields with realistic value distributions. 3. **Set the count.** 1 produces a single object; 2 or more produces an array of objects. The slider goes up to 1,000. 4. **Optional: set a seed.** Enter any whole number — the same seed always produces identical output. Skip the seed for fresh random data each click. 5. **Click Generate.** The output pane shows the JSON with line numbers and copy-on-click. 6. **Copy or save.** Paste into Postman, save as` fixture.json`, or use directly in your demo. ## Template Field Cheat Sheet Each template ships with these fields. Use them as a baseline; trim or remap in your own code as needed. - **User:** firstName, lastName, email, age, registeredAt (ISO 8601), role. - **Order:** id, total, status (one of pending / shipped / delivered), items array, createdAt. - **Product:** sku, name, price, currency, tags, inStock. - **Address:** street, city, state, zip, country. - **Company:** name, industry, employees, founded, headquarters. - **Blog Post:** title, slug, authorId, publishedAt, tags. ## Reproducible Output: Why Seeds Matter A seeded PRNG (PDFFlare uses mulberry32) always produces the same sequence given the same seed. This unlocks a critical pattern: stable test fixtures. Without seeds, every regenerated fixture has different values, your unit tests break in confusing ways, and snapshots churn. With seeds, you can re-generate the exact same fixture months later and your tests still pass. A common pattern: pick a seed (say `42`), commit the output as a JSON file, and document the seed somewhere so anyone can regenerate the file if needed. ## How Realistic Is the Generated Data? The generator strikes a balance between realism and obvious-fakeness: - **Names:** Drawn from curated lists of common first and last names. They look like real names but skew Western — fine for demos, not statistically representative. - **Emails:** Always use the `@example.com` domain (reserved by RFC 2606 for documentation/example use). Safe to ship in tutorials, screenshots, and tests without bouncing real mailboxes. - **Cities and addresses:** Drawn from real city lists but combined randomly with random street numbers. Realistic-looking, not tied to any actual location. - **Dates:** Fall within plausible ranges (e.g. registered within the last few years, founded within the last few decades). - **Numbers:** Sensible ranges per field — ages 18-80, prices in single-to-triple digits, employee counts 1 to a few thousand. What it's not good for: legal compliance testing, statistically representative samples, or anything where the distribution of values matters. ## Common Scenarios ### Postman Mock Server Postman lets you define mock servers that return canned responses. Generate a realistic JSON shape, paste into the mock response body, test your frontend against it. Real shape, no real backend. ### Storybook Component Stories A React component story needs realistic props. Generate the props shape, drop into the story file, and your Storybook demos look professional out of the box. ### Database Seeding for Local Dev Set up a fresh local database with realistic users / orders / products by generating, converting to [CSV](https://pdfflare.com/tools/json/json-to-csv), and bulk-importing via `COPY FROM`. Onboarding new devs becomes way faster — they get a populated app on first run. ### API Validation Testing Generate fixtures, then check them against your [JSON Schema](https://pdfflare.com/tools/json/json-schema) to confirm validation rules pass on realistic input. Combine with deliberately-broken inputs to verify error paths. ### UI Demos and Marketing Screenshots A SaaS landing page needs a realistic dashboard screenshot. Generate 200 fake orders, paste into the demo dataset, screenshot. Done in 5 minutes; previously took a designer 30 minutes of make-believe. ### Schema Design Conversations Discussing a new endpoint with a teammate? Sketch a sample response with the generator instead of typing placeholder values. Real-looking values make schema discussions concrete much faster. ## Common Mistakes - **Shipping fake data to production.**Sounds obvious, but it's easy to forget a seeded fixture in a config or init script. Add a startup check in your app: if the data looks like fake (specific names, example.com emails), refuse to start in production. - **Using fake data for stress testing without bounds.** 1,000 items is a useful warm-up; for proper load testing, pipe the generator output through k6 or Locust to send actual traffic. - **Treating “dummy” emails as deliverable.** example.com mailboxes don't exist. Don't test email sending against generated addresses — use a real test inbox or a mail-trap service. - **Assuming statistical realism.**The generator uses uniform distributions in plausible ranges. Real data has long tails, skews, and clusters. For analytics or ML testing, a generic generator isn't enough. ## Templates Beyond the Built-In Six The six built-in templates handle most common needs. For shapes they don't cover, three workarounds: - **Generate, then transform.** Generate Users with ages, then add a derived `ageGroup` field via `JSON.parse` + `.map()`. PDFFlare gets you 85% of the way there; the last 15% is one line of code. - **Use multiple templates and merge.** Need users with addresses? Generate Users + Addresses separately, zip them in code. Two clicks, one merge. - **Hand-craft a few unique items as a baseline,** then use the generator for bulk-fill. Real projects often need a handful of carefully-crafted edge cases plus 100 boring examples — combine both approaches. ## Best Practices - **Use a seed for any fixture you commit.** Without seeds, regeneration breaks tests. With seeds, the fixture is stable and reproducible forever. - **Document your seed values.** A comment in the fixture file noting `// generated with seed: 42` saves future-you 10 minutes of confusion. - **Stick to example.com domains.** If you customize email generation, keep example.com to avoid sending mail to real addresses by accident. - **Combine with [JSON Schema](https://pdfflare.com/tools/json/json-schema)** validation in tests so generated fixtures are guaranteed-valid by construction. - **Use [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript)** on the generated output to get types automatically — then pin those types into your test code. ## Generator vs Faker.js vs Hand-Written Fixtures A few options for fake data, each with different trade-offs: - **PDFFlare's generator:**Browser-based, no install, six pre-baked templates. Fastest path from “I need fake data” to having a fixture in your clipboard. Best for one-off needs. - **Faker.js (or @faker-js/faker):**Full library with hundreds of categories — names, addresses, finance, vehicle, internet, science. Use when you need fixtures generated from code rather than from a UI, or when the six built-in templates aren't enough. - **Hand-written fixtures:** Tedious but precise. Use when the data needs to be deliberate (specific edge cases, specific distribution, specific failure modes). Generator output is great as a starting point that you then edit. - **Real anonymized data:** The most realistic distribution, but anonymization is hard to do correctly. Use only when statistical realism matters and you have an anonymization pipeline you trust. ## Anti-Patterns: Things to Avoid - **“Test data” that becomes production data.** A fixture file checked in for tests should never be loaded into production. Add a check at startup: if the data looks like generated (specific seed-derived names, example.com emails), refuse to start in prod. - **Re-generating fixtures on every test run.** Without a seed, your tests assert on data that changes per run — non-deterministic test failures, hard-to-reproduce bugs. Always seed. - **Using fake data for performance benchmarks.** Generator output has uniform distributions; real data has long tails and clusters. A benchmark on generated data may misrepresent real performance under skewed loads. - **Treating “passes validation” as “is realistic.”**Generator output passes a JSON Schema but doesn't exercise edge cases like empty strings, max-length values, or boundary numbers. Add deliberate edge cases on top of generated baseline data. ## Privacy: Your Generated Data Stays on Your Device PDFFlare's JSON Generator runs entirely in your browser using a deterministic PRNG. Generated values, your seed, and your output never upload anywhere. The generator itself isn't a privacy concern (the data is fake), but the workflow context — what fixtures you're building, what shapes you're prototyping — stays local too. ## Wrapping Up Hand-rolling fake data is one of those tasks that's deceptively time-consuming. A generator with sensible templates and stable seeding turns 30 minutes of typing into 30 seconds of clicking. And the output is consistently better than what most humans bother to invent under deadline pressure. Need fixtures, demo data, or a Postman body? Open [PDFFlare's JSON Generator](https://pdfflare.com/tools/json/json-generator) and you'll have realistic JSON in seconds. ## Related Tools - [JSON Schema](https://pdfflare.com/tools/json/json-schema) — validate generated fixtures against a schema - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) — convert fixtures for database bulk-import - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) — generate types from your fixture shape - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format generated output before committing --- ## Frequently asked questions **Q: What templates does PDFFlare's JSON Generator include?** A: Six common shapes covering most testing needs: User (firstName, lastName, email, age, registeredAt, role), Order (id, total, status, items, createdAt), Product (sku, name, price, currency, tags, inStock), Address (street, city, state, zip, country), Company (name, industry, employees, founded, headquarters), and Blog Post (title, slug, authorId, publishedAt, tags). **Q: How do I get reproducible JSON output for stable test fixtures?** A: Set the Seed field to any whole number. The generator uses a deterministic PRNG (mulberry32) — the same seed always produces identical output. Pick a seed (e.g. 42), commit the generated file as a fixture, and document the seed in a comment. Anyone can regenerate the exact same fixture by re-running with the same seed. **Q: Are the generated email addresses real?** A: No — every generated email uses the example.com domain (reserved by RFC 2606 for documentation and example use). Safe to ship in tutorials, screenshots, demos, and tests without bouncing real mailboxes. Don't try to send actual mail to generated addresses; example.com mailboxes don't exist. **Q: How many fake JSON items can I generate at once?** A: Up to 1,000 items per click. Generation runs in your browser, so performance scales linearly with count — 1,000 items is essentially instant on a modern device. For load-testing volumes (10,000+ requests), pipe the generator output through a proper load tool like k6 or Locust. **Q: Is the generated data realistic enough for production demos?** A: Realistic-ish — names are drawn from curated lists, cities from real city names, prices and ages within plausible ranges. Good enough for fixtures, mockups, and marketing screenshots. Not suitable for legal compliance testing, statistically representative samples, or anything where the distribution of real-world values matters. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Query JSON with JSONPath (Examples + Cheat Sheet) URL: https://pdfflare.com/blog/query-json-with-jsonpath Published: May 1, 2026 Reading time: 9 min read > Query JSON with JSONPath online for free. Cheat sheet of every operator with examples — wildcards, recursive descent, filter expressions, and AND/OR/NOT logic. --- You're staring at a 5,000-line JSON dump from an API. You need three specific fields buried in a deeply nested array of arrays. Writing a JS script to dig them out works, but takes longer than the actual analysis. JSONPath does it in one line — once you know the syntax. In this guide you'll learn how to query JSON with JSONPath using [PDFFlare's JSONPath Tester](https://pdfflare.com/tools/json/json-path) — the full syntax cheat sheet with worked examples, filter expressions with `&&` / `||` / `!` logic, and where JSONPath shines vs jq and JMESPath. ## Why JSONPath? JSONPath is to JSON what XPath is to XML — a small, declarative query language that pulls values out of structured data. It exists because the alternatives are painful: - **Hand-writing JS:** `data.users.filter(u => u.active).map(u => u.email)` works, but for one-off exploration it's a lot of typing. - **jq:**Powerful but a steeper learning curve, and it's a CLI tool. Browser-native JSONPath is faster for quick interactive work. - **grep:** Treats JSON as text. Misses nested matches, hits false positives, useless for structured queries. - **Manual scrolling in a viewer:** Fine for a 50-line JSON. Hopeless past that. ## JSONPath Cheat Sheet Most queries you'll ever write use only a handful of operators. Here's the lot: - **`$`** — the root. Every expression starts here. - **`$.foo`** — the `foo` child of root. - **`$.foo.bar`** — chained children. - **`$['foo']`** — bracket notation, equivalent to `$.foo`. Use brackets when keys contain dots or special characters. - **`$.foo[0]`** — first element of the `foo` array. - **`$.foo[*]`** — every element of the array (wildcard). - **`$.*`** — every value of the root object (wildcard). - **`$..key`** — recursive descent: every `key` anywhere in the tree, no matter how deep. - **`$.users[?(@.age > 30)]`** — filter expression: every user whose `age > 30`. The `@`means “the current item.” ## Filter Expressions: The Real Power Filters wrap a predicate in `[?(...)]`. Inside, use `@` to refer to the current array item and access its fields with dot notation. Combine with logical operators for arbitrarily complex queries. Comparators: `==` `!=` `<` `<=` `>` `>=`. Operands: field references (`@.age`), numbers (`30`), strings in single quotes (`'admin'`), booleans (`true`), null. Logical operators: `&&` (AND), `||` (OR), `!` (NOT), with parentheses for grouping. Standard JS precedence: `!` > `&&` > `||`. ### Filter Examples - **$.users[?(@.age > 30)]** — users older than 30. - **$.users[?(@.role == 'admin')]** — admins only. - **$.users[?(@.age > 30 && @.active == true)]** — AND: active users older than 30. - **$.users[?(@.role == 'admin' || @.tier > 2)]** — OR: admins or high-tier users. - **$.users[?(!(@.active))]** — NOT: inactive users. - **$.users[?(@.age > 30 && (@.role == 'admin' || @.tier > 2))]** — grouped: older than 30, AND (admin OR high-tier). ## Recursive Descent: `$..key` Recursive descent finds every occurrence of a property name anywhere in the tree, no matter how deep. It's the killer feature for exploring unfamiliar JSON. `$..id` on a nested API response with users, posts, and comments returns every `id` at every level — useful when you want a list of all unique IDs from a complex payload. `$..price` in an e-commerce dataset gives you every price across products, variants, and bundles. One query, one answer. ## How to Use JSONPath (Step by Step) 1. **Open [PDFFlare's JSONPath Tester](https://pdfflare.com/tools/json/json-path)** — no signup. 2. **Paste your JSON** into the data pane (left). 3. **Type a JSONPath expression** in the input box. Start simple: `$.users[*].email` if you have an array of users. 4. **Click Run** (or press Enter). Matching values appear in the result pane on the right; the match-count banner shows the total. 5. **Iterate.** Adjust the expression, re-run, refine. JSONPath is fast enough that exploration is interactive. ## Common Mistakes - **Forgetting the `$`.** Every JSONPath expression starts with `$`. `users[0].name` without the dollar sign is invalid. - **Double quotes around string operands.** JSONPath literals use single quotes: `?(@.role == 'admin')`, not `?(@.role == "admin")`. The double quotes confuse the parser. - **Comparing different types.** `@.age == '30'`doesn't match an integer` 30`. JSONPath is type-strict — quote-types must agree. - **Expecting wildcards in keys.** `$.user*`doesn't mean “keys starting with user.” Use `$.*`for “every value of root,” or filter with `?(@.name =~ /pattern/)` (if your implementation supports regex; PDFFlare does not yet). - **Treating filter results as a single value.** Filters always return an array of matches, even if there's only one. `$.users[?(@.id == 1)]` returns `[user]`, not `user`. ## Common Scenarios ### Extracting Specific Fields From an API Response You hit a paginated endpoint and want just the IDs from this page. `$.data[*].id` gives you a clean array of IDs. No scripting, no scrolling. ### Debugging Deeply Nested Configs A 200-level Helm chart values file (after converting via [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml) back to JSON) has a setting buried six levels deep. `$..containerPort` finds every port across every container in every Deployment instantly. ### Extracting Specific Order Items An e-commerce JSON dump has thousands of orders. You want just completed orders over $1,000: `$.orders[?(@.status == 'completed' && @.total > 1000)]`. ### Audit Trails A log dump has events at multiple levels. `$..events[?(@.type == 'error')]` gets every error event regardless of where it nests. ### Pulling Test Data You generated a fixture with [PDFFlare's JSON Generator](https://pdfflare.com/tools/json/json-generator). Now you need just the email of every user under 25: `$.users[?(@.age < 25)].email`. One line. ## JSONPath in Real Tools JSONPath isn't just for browser-based exploration — many tools you already use support it natively: - **kubectl:** `kubectl get pods -o jsonpath='{.items[*].metadata.name}'` uses JSONPath to extract just the pod names from a full Pod list. Standard kubectl flag — every Kubernetes user has access to it. - **Postman:** Test scripts can use JSONPath via the` pm.expect` + `JSONPath` library to assert on specific fields without traversing the response tree by hand. - **Splunk and CloudWatch Logs Insights:** Both support JSONPath-like extraction from structured log fields. Same syntax, no learning curve. - **Jolt (data transformation):**JSONPath drives the “shift” operations that move fields between shapes during data transformation. - **OpenAPI / JSON Schema:** JSON Pointer (similar to JSONPath but stricter) is used for $ref. The mental model carries over. Learning the syntax once unlocks all of these tools at the same time — that's a high-leverage skill for anyone who works with structured data day to day. ## JSONPath Limitations Worth Knowing The standard JSONPath subset is intentionally simple. A few things it can't do: - **Aggregations:**“Sum every price” or “count distinct values” — JSONPath doesn't aggregate. Reach for jq, JMESPath, or a real script. - **Transformation:** JSONPath is read-only. To reshape (rename, restructure, computed fields), you need a different tool. - **Regex on values:** RFC 9535 added a regex comparator (`=~`), but support varies. PDFFlare's current implementation doesn't include regex; for that, run JSONPath to a candidate set, then filter further in your code. - **Computed paths:**You can't do` $.users[$.activeUserIndex]`. Paths are static literals, not computed. - **Custom functions:** jq has a function library; JSONPath does not. Stay in JSONPath for ad-hoc queries, switch tools for transformation pipelines. ## JSONPath vs jq vs JMESPath - **JSONPath:**Browser-native, zero install, simple syntax. Great for ad-hoc exploration. PDFFlare's tester implements the standard subset plus recursive descent and full filter expressions. - **jq:** Far more powerful — supports transformation, aggregation, custom functions. CLI tool. Better for scripting, worse for one-off browser queries. - **JMESPath:** Used heavily by AWS CLI. Different syntax. Powerful, but less ubiquitous than JSONPath. Worth learning if you live in AWS. For interactive exploration, JSONPath wins on convenience. For pipelines and scripts, jq wins on power. ## Building JSONPath Expressions Step by Step When facing an unfamiliar JSON document, write the path incrementally rather than guessing the full expression at once: 1. **Start with `$`.** Run it. The result pane shows the entire root document — confirms your JSON is valid and parseable. 2. **Add the first step.** `$.data` or `$.users` — whatever the top-level container is. Run it. You should see the relevant sub-tree. 3. **Add a wildcard or index.** If you got an array, try `$.users[0]` to see one element, or `$.users[*]` to see them all. 4. **Drill into the element.** `$.users[*].email` or whatever field you need. Confirm the values match what you expect. 5. **Add filters last.** Once the path is right, add the predicate: `$.users[?(@.role == 'admin')].email`. This iterative approach is dramatically faster than writing a long expression and debugging it. Each step gives feedback that informs the next. ## JSONPath Examples for Real API Shapes A handful of expressions that come up over and over in real codebases: - **$.data[*].id** — every ID from a paginated list response. - **$.data.items[?(@.deletedAt == null)]** — every non-deleted item (soft-delete pattern). - **$..errors[*].message** — every error message from a deeply-nested validation response. - **$.users[?(@.role == 'admin')].email** — the email of every admin user. - **$.transactions[?(@.amount > 1000 && @.currency == 'USD')]** — high-value USD transactions only. - **$.items[*].variants[?(@.inStock == true)]** — every in-stock variant across every product. - **$..[?(@.email)]** — recursive descent for every object that has an email field, regardless of where it nests. Useful for scrubbing PII. Save the patterns you use most often as a personal cheat sheet. Most queries you write will be variations of these basic shapes. ## Best Practices - **Format your JSON before querying.** Run through [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) first — visually scanning the structure helps you write the right path on the first try. - **Start simple, add filters incrementally.** Get the broad selection working, then narrow with predicates. Way faster to debug. - **Use recursive descent sparingly.** `$..foo` is convenient but slow on huge documents. Prefer explicit paths when you know the structure. - **Quote keys with special characters.** Keys containing dots, dashes, or spaces need bracket notation: `$['weird-key']`. - **JSONPath is read-only.** Use it to query, not modify. For modifications, write a script. ## Privacy: Your JSON Stays on Your Device PDFFlare's JSONPath Tester runs entirely in your browser. The parser, evaluator, and result rendering are JavaScript executed locally — your JSON never uploads anywhere. Safe to query production API responses, internal datasets, and JSON containing API tokens or PII. ## Wrapping Up A few hours learning JSONPath pays back forever. Once you're fluent, exploring an unfamiliar JSON dataset goes from a 30-minute scripting task to a 30-second query. The cheat sheet above covers 90% of what you'll write; the rest comes with practice. Got JSON to query? Open [PDFFlare's JSONPath Tester](https://pdfflare.com/tools/json/json-path) and try a few of the examples above. ## Related Tools - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print before querying for easier path-writing - [JSON Viewer](https://pdfflare.com/tools/json/json-viewer) — inspect the tree visually to write the right path - [JSON Stats](https://pdfflare.com/tools/json/json-stats) — see depth + key counts before crafting queries - [JSON Flatten](https://pdfflare.com/tools/json/json-flatten) — flatten to dot keys when JSONPath isn't enough --- ## Frequently asked questions **Q: What is JSONPath and how is it different from JSONPath in jq?** A: JSONPath is a small declarative query language for JSON, similar to XPath for XML. It lets you select values from a JSON document using path expressions like $.users[0].name or $..id. jq is a separate, more powerful CLI tool with its own syntax — JSONPath is simpler, browser-friendly, and great for ad-hoc exploration. jq wins for transformation and pipeline scripting; JSONPath wins for interactive querying. **Q: What's the difference between $.foo[*] and $..foo?** A: $.foo[*] returns every element of the foo array — wildcard at one specific level. $..foo is recursive descent — it returns every property named foo anywhere in the tree, no matter how deep. Use [*] when you know the path; use $..foo when you want every occurrence regardless of nesting. **Q: How do filter expressions work in JSONPath?** A: Filters wrap a predicate in [?(...)]. Use @ to refer to the current array item: $.users[?(@.age > 30)] selects users older than 30. Combine with && (AND), || (OR), ! (NOT), and parentheses for grouping. Comparators are == != < <= > >=. Operands can be field references (@.age), numbers, strings in single quotes ('admin'), or true/false/null. **Q: Why does my JSONPath filter not match anything?** A: Common gotchas: forgetting the leading $ (every expression starts with $), using double quotes around string operands instead of single quotes (use 'admin', not "admin"), or comparing different types (@.age == '30' won't match the integer 30). Also, filter results are always arrays — even a single match comes back as [value], not value. **Q: Is my JSON sent to a server during JSONPath queries?** A: No. PDFFlare's JSONPath Tester runs entirely in your browser — the parser, evaluator, and result rendering are all JavaScript executed locally. Your data never uploads anywhere, so you can safely query production API responses, internal datasets, and JSON containing PII or API tokens. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Validate JSON Against a Schema (Generate + Validate Guide) URL: https://pdfflare.com/blog/validate-json-against-schema Published: May 1, 2026 Reading time: 9 min read > Validate JSON against a schema online for free. Generate a Draft-07 JSON Schema from any sample, validate payloads, and catch type drift before it breaks prod. --- You ship the integration, run your tests, deploy. Three days later someone files a bug because a third-party API started returning `amount`as a string instead of a number, your code did the obvious thing — concatenated “42” with “1” to get “421” instead of 43 — and a customer got billed ten times what they owed. A JSON Schema check at the API boundary would have flagged the type change in milliseconds. In this guide you'll learn how to validate JSON against a schema online for free using [PDFFlare's JSON Schema tool](https://pdfflare.com/tools/json/json-schema) — how to generate a Draft-07 schema from a sample, validate any JSON against it, and read the AJV error pointers when validation fails. 100% browser-based — your schemas and payloads stay private. ## What Is JSON Schema? JSON Schema is a JSON-based vocabulary for describing the shape of other JSON documents. It says things like “this object must have a `name`property of type string,” or “this array must contain only positive integers.” Validators (like AJV in JavaScript or jsonschema in Python) then compare any JSON against the schema and report violations. The most-used version is Draft-07. Newer drafts (2019-09, 2020-12) add features like `$dynamicRef` and unevaluated properties, but Draft-07 covers 95% of practical validation needs and has the widest tool support. PDFFlare emits Draft-07 by default. ## Why Validate JSON Against a Schema? - **Catch bad data at the boundary.** Validate every API response, every webhook payload, every config file the moment it hits your code — not five layers deep when something explodes. - **Self-documenting contracts.** A schema is a machine- and human-readable description of what a payload should look like. Reviewers, future-you, and consumers can all read it. - **Type safety beyond the type system.**TypeScript erases at runtime; the validator runs at runtime. They're complementary, not redundant. - **Better error messages.**“Field` price` at path `orders[2].items[0]` failed` minimum: 0`” is dramatically more useful than “NaN somewhere in your code.” - **Generate UI forms automatically.** Tools like react-jsonschema-form turn a schema into a working form. One schema → typed validation + a UI editor. ## How to Generate a JSON Schema From a Sample (Step by Step) The fastest way to get started is to generate a schema from a real example payload, then tighten by hand. 1. **Open [PDFFlare's JSON Schema tool](https://pdfflare.com/tools/json/json-schema)** — no signup needed. 2. **Make sure the Generate tab is selected** at the top of the tool. 3. **Paste a representative JSON sample** into the input pane. Use the most-populated example you have — fields present in your sample become required. 4. **Click Generate Schema.** The output pane shows a Draft-07 schema with `$schema`, `type`, `properties`, `required`, and `items` for arrays. 5. **Tighten by hand:** mark fields optional with the` required` array, narrow strings to `enum` values, add `minimum` / `maximum` for numbers, set` additionalProperties: false` if you want strict schemas. 6. **Save the schema** to your repo as` schema.json`and commit. Now it's the contract. ## How to Validate JSON Against a Schema (Step by Step) PDFFlare's validator uses AJV under the hood. The library is lazy-loaded — it only downloads the ~50KB validator on your first Validate click. 1. **Switch to the Validate tab** on [PDFFlare's JSON Schema tool](https://pdfflare.com/tools/json/json-schema). 2. **Paste your JSON Schema** into the schema pane (left). 3. **Paste the JSON to validate** into the data pane (right). 4. **Click Validate.**If everything matches, you see “Valid.” If not, every violation is listed with its path, the failed keyword, and a human-readable message. 5. **Fix and re-validate.** Iterate until you see green. ## Reading AJV Validation Errors When validation fails, the tool shows a list of errors. Each one has three parts: - **Path:** a dot-and-bracket pointer to the offending value (e.g. `data/users/0/age`). Tells you exactly where in the document the violation occurred. - **Keyword:** which schema constraint failed — `type`, `required`, `enum`, `minimum`, `format`, etc. Tells you the_ kind_ of violation. - **Message:**a human-readable description like “must be string” or “must have required property` id`.” Quick to scan in a list. ## A Complete Worked Example Suppose you're validating user records. A reasonable schema: `{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["id","email"], "properties": { "id": { "type": "integer", "minimum": 1 }, "email": { "type": "string", "format": "email" }, "age": { "type": "integer", "minimum": 0, "maximum": 150 } }, "additionalProperties": false }` Now you receive this payload: `{ "id": "42", "email": "alice", "age": -1, "extra": "junk" }`. The validator reports four violations: - **`data/id`**— type: must be integer (it's a string). - **`data/email`** — format: must match email format (no `@`). - **`data/age`** — minimum: must be ≥ 0. - **`data`** — additionalProperties: must NOT have additional property `extra`. Four real bugs caught before the data ever reached your code. That's the value of validation at the boundary. ## Common Mistakes Writing JSON Schema - **Forgetting `required`.** A property listed in `properties` is optional by default. If it must be present, add it to the `required` array at the same level. - **Skipping `additionalProperties: false`.** Without it, payloads with extra unknown fields validate successfully. For strict contracts, set this to false. - **Confusing `format` with `type`.** `type: "string"`says “is a string.” `format: "email"`says “is a string AND looks like an email.” You need both: type for parse-shape, format for content rules. - **Using `enum` for everything.** Enum is for closed sets. Open sets (free-text descriptions, names) should stay `type: string`. - **Forgetting array constraints.** By default, an array can be empty or have any length. Use `minItems` and `maxItems`if there's a real bound. ## Common Scenarios ### Validating a Webhook Payload Stripe, GitHub, Slack send you JSON over HTTP. The contract changes occasionally. Validate every incoming payload with a schema generated from the docs — when the contract changes, your validator says so immediately, instead of mysterious bugs later. ### Config File Validation Application config (JSON, YAML converted to JSON via [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml)) often gets edited by hand. Validate at startup with a schema — typos in field names, missing required keys, and wrong types are all caught before the app does anything dangerous with the config. ### API Contract Testing Before a release, hit every critical API endpoint, validate every response against a saved schema. Any failure is either a contract break (rollback) or an intentional change (update the schema). Either way you have a clear signal. ### Form Input Validation Schemas describing form input can drive both server-side validation and frontend libraries like react-jsonschema-form. One source of truth, two consumers — much less drift than hand-writing both sides. ## Best Practices - **Generate from a real sample, then tighten.**Don't try to write a schema from scratch — generate, then edit. Tightening is way faster than starting blank. - **Use `additionalProperties: false` for strict APIs.** Catches typos and unintended additions. - **Version your schemas.** Save as` schema-v1.json`, `schema-v2.json`, etc. When you change the schema, you can validate old payloads against the old version. - **Validate at the boundary, not deep.** One validate call when data enters your code is far more useful than ten scattered checks throughout business logic. - **Use `format` generously.** `email`, `uri`, `date-time`, `uuid` — all are well-supported. They turn vague type checks into precise content checks. ## JSON Schema vs OpenAPI vs TypeScript Types These three look similar but serve different purposes. Knowing which to reach for matters: - **JSON Schema:** Runtime validator. Use at API boundaries to catch bad data before it enters your code. Output of the validator is a list of violations, not types. - **OpenAPI:**A wrapper around JSON Schema for describing entire HTTP APIs (paths, methods, status codes, request/response shapes). Use when you're publishing or consuming an API that needs full contract documentation. OpenAPI internally uses JSON Schema for the body shapes. - **TypeScript types:** Compile-time only. Erased at runtime. Use to catch bugs in your code, not in incoming data. Pair with JSON Schema for full coverage — types in your code, schema validation at the boundary. A common pattern: maintain JSON Schema as the source of truth, generate TypeScript types from the schema with a tool like `json-schema-to-typescript`. One source, two consumers, no drift. ## Combining Validators With Other PDFFlare Tools A schema becomes more powerful when combined with other tools: - **Schema + [JSON Generator](https://pdfflare.com/tools/json/json-generator):** Generate fixtures, validate them against your schema, commit only the ones that pass. Fixtures by construction are schema-compliant. - **Schema + [JSON Diff](https://pdfflare.com/tools/json/json-diff):** When the schema fails on a new payload, diff the failing payload against a known-good payload to see exactly what changed. - **Schema + Generate-from-sample loop:** When the API evolves, regenerate the schema from a fresh sample, diff against the old schema, accept the changes you intended. ## Privacy: Your Schemas and Data Stay on Your Device PDFFlare's JSON Schema tool runs entirely in your browser. AJV is loaded locally, validation runs locally, and your schemas + payloads never upload to any server. Safe for production schemas, internal API contracts, and JSON containing customer data, API keys, or PII. ## Performance Considerations AJV is one of the fastest JSON Schema validators available. Some guidance for high-throughput validation: - **Compile schemas once.** AJV pre-compiles schemas into validation functions. Compile once at startup, reuse for every request — orders of magnitude faster than recompiling per request. - **Use `strict: true` in production.** Catches schema typos (using `requierd` instead of` required`) at compile time rather than letting them silently no-op at runtime. - **Skip `format`validation if you don't need it.** Format checks (especially `email`, `uri`) are slower than type checks. Add `ajv.addFormat()` only for the formats you actually care about. - **Validate at the boundary, log violations.** Production traffic should accept-or-reject at the boundary, not crash deep in business logic. Log every violation with full error info for triage. ## Wrapping Up A schema-based validator catches the silent corruption bugs that types alone can't. Once you're running every API response and every config through a schema check, the class of “the API changed and broke us silently” bug just disappears. It's a tiny investment for a huge stability win. Got an API contract or config file that needs a schema? Open [PDFFlare's JSON Schema tool](https://pdfflare.com/tools/json/json-schema), generate from your sample, and you're halfway to a stable, self-documenting integration. ## Related Tools - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) — types for compile-time checks (pair with schema for runtime) - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format your schema and data before validating - [JSON Diff](https://pdfflare.com/tools/json/json-diff) — compare an old payload to a new one when contracts evolve - [JSON Generator](https://pdfflare.com/tools/json/json-generator) — generate test fixtures that match your schema --- ## Frequently asked questions **Q: What is JSON Schema and which version should I use?** A: JSON Schema is a JSON-based vocabulary for describing the shape of other JSON documents. It says things like 'this object must have a name property of type string.' Validators compare any JSON against the schema and report violations. Draft-07 is the most-used version with the widest tool support; PDFFlare emits Draft-07 by default. Newer drafts (2019-09, 2020-12) add features like $dynamicRef but Draft-07 covers 95% of practical needs. **Q: How does PDFFlare generate a JSON Schema from my sample?** A: The generator parses your sample, walks every node, and infers a schema: strings → type: string, numbers → type: integer or number depending on value, arrays → items with the element shape, objects → properties with each key and required listing all keys present. The output is Draft-07 JSON Schema — paste into your codebase, tighten by hand (mark fields optional, add enum values, set additionalProperties: false), and use as a runtime validator. **Q: Why should I use additionalProperties: false in my schema?** A: By default, JSON Schema allows any extra properties on top of the ones you list. additionalProperties: false makes the schema strict — extra unknown fields cause validation failure. This catches typos in field names (e.g. "emial" vs "email") and unintended additions. For strict API contracts, always set additionalProperties: false; for permissive shapes, leave it unset. **Q: What's the difference between type and format in JSON Schema?** A: type is the JSON parse-shape (string, integer, boolean, array, object). format is a content rule on top of type — format: 'email' says 'is a string AND looks like an email.' format: 'date-time' requires ISO 8601. Together: type: 'string', format: 'email' validates 'alice@example.com' but rejects 'hello world'. Both are needed for full validation. **Q: Are my schemas and JSON sent to a server during validation?** A: No. PDFFlare's JSON Schema tool runs entirely in your browser. AJV (the validator) is loaded locally on first use, validation runs locally, and your schemas + payloads never upload to any server. Safe for production schemas, internal API contracts, and JSON containing customer data, API keys, or PII. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to YAML for Kubernetes (and YAML to JSON Back) URL: https://pdfflare.com/blog/convert-json-to-yaml-kubernetes Published: May 1, 2026 Reading time: 8 min read > Convert JSON to YAML for Kubernetes manifests, GitHub Actions, Docker Compose, and Helm values — or YAML back to JSON for APIs. Free, browser-based, no signup. --- You've got a JSON config — maybe an API response, maybe an export from a dashboard — and you need to feed it into `kubectl apply`, a GitHub Actions workflow, a Docker Compose stack, or a Helm values file. All of those want YAML, not JSON. Or you're going the other direction: a YAML config needs to land in a JS app or hit an API that only speaks JSON. In this guide you'll learn how to convert JSON to YAML (and YAML back to JSON) using [PDFFlare's JSON to YAML converter](https://pdfflare.com/tools/json/json-to-yaml) — plus what carries through the round trip cleanly, what gets lost, and how to handle Kubernetes manifests, GitHub Actions, and Helm values. ## Why Convert JSON to YAML? YAML is the lingua franca of modern infrastructure. JSON is what APIs and JavaScript apps speak. Conversion between them comes up constantly: - **Kubernetes manifests:**kubectl accepts both, but every example, every Helm chart, every operator's docs use YAML. Real teams converge on YAML. - **GitHub Actions / GitLab CI:**CI workflow files are YAML by spec. If you're generating a workflow programmatically, you build JSON and convert. - **Docker Compose:** `docker-compose.yml` — YAML required. - **Helm values:** `values.yaml` drives every Helm chart. Custom overrides typically start as JSON exports from a dashboard, then get converted. - **Ansible playbooks, Serverless framework, CloudFormation:** All YAML by default. Going the other way (YAML → JSON) is just as common: feeding a YAML config to a JS app, sending it as an API body, or processing it with tools like `jq` that only speak JSON. ## How to Convert JSON to YAML (Step by Step) PDFFlare's converter is bi-directional. Both directions run entirely in your browser via js-yaml — your configs (which often contain secrets) never upload anywhere. 1. **Open [PDFFlare's JSON to YAML converter](https://pdfflare.com/tools/json/json-to-yaml)** — no signup needed. 2. **Paste your JSON** into the input pane. Could be a 10-line snippet or a 5,000-line Kubernetes manifest export. 3. **Click Convert.** The output is YAML 1.2 with sensible indentation, ready to paste into `kubectl apply -f -` or your editor. 4. **Copy or download.** Save as `config.yaml` or pipe directly to `kubectl`. 5. **To go YAML → JSON:** toggle the direction selector, paste your YAML, click Convert. The Swap button moves the output back to the input for round-tripping. ## Quick YAML Refresher (For JSON People) If you know JSON, YAML is mostly intuitive. The key differences: - **No braces or brackets** — indentation defines structure. 2 spaces per level is the de facto standard. - **No commas** — newlines separate items in a sequence or mapping. - **Strings rarely need quotes.** Just write the value. Quote only when the value would be ambiguous (numeric strings, booleans you want as strings, leading whitespace, special chars). - **Lists use leading dashes.** `["a", "b"]` in JSON becomes `- a\n- b` in YAML. - **Comments start with `#`**— and yes, YAML has them, JSON doesn't. This is one reason teams prefer YAML for human-edited configs. ## What's Preserved in the Round Trip - **Object structure:** Mappings with string keys preserve cleanly. - **Array structure:** Sequences round-trip. - **Scalar values:** Strings, numbers, booleans, null. One gotcha: numeric-string values like` "42" ` in JSON become quoted in YAML and round-trip correctly. - **Nested structure:** Arbitrary depth handled. ## What's Lost - **Comments.** JSON has no concept of comments, so any YAML comments are stripped on YAML → JSON. They are not re-injected when going JSON → YAML. - **YAML anchors and aliases.** An anchor like `&base` with subsequent `<<: *base`merges is resolved on parse — the JSON output has the resolved values inline, not the anchor reference. Going JSON → YAML doesn't re-create anchors. - **Custom tags.** YAML supports custom tags (`!!Foo`); the converter handles the standard tag set but custom tags are dropped or stringified. - **Document separators.** YAML files can contain multiple documents separated by `---`. The converter handles a single document; for multi-doc YAML, split first. ## Kubernetes Manifests: Beyond Basic Conversion A real Kubernetes workflow involves more than a one-shot conversion. Some patterns worth knowing: - **Multi-resource manifests:** A single YAML file can contain multiple resources separated by `---`. If you're generating from JSON, build an array, convert each element to YAML, then join with `---` on its own line. - **ConfigMap data quirk:** ConfigMap values are strings — even if the source data is JSON. So a ConfigMap holding a JSON config has it stringified inside the YAML, not nested. Watch for this when round-tripping. - **Secret base64 encoding:**Secret values are base64-encoded in YAML. If you're building from JSON, encode the values yourself before conversion — the converter does not. - **Helm template-rendered output:** Run `helm template chart/` to materialize all templates, then convert specific resources to JSON for inspection or diffing. ## GitHub Actions Workflow Conversion GitHub Actions workflows are YAML, but a lot of folks build them programmatically (e.g. generating per-environment workflows, or building reusable matrices). The standard pattern: 1. Build the workflow shape as a JS or TS object. 2. `JSON.stringify` it (or just use the literal). 3. Run through PDFFlare's converter to get YAML. Note that GitHub Actions has some YAML-specific syntax (`${{ }}` expressions) that round-trips fine as quoted strings — wrap in quotes in the JSON: `"if": "${{ github.event_name == 'push' }}"`. 4. Commit the result as `.github/workflows/main.yml`. GitHub picks it up on next push. ## Helm Values: JSON-Friendly Override Pattern If you're managing Helm releases programmatically, JSON is easier to manipulate than YAML. The pattern: 1. Maintain canonical defaults in `values.yaml` (committed, human-edited). 2. Maintain per-environment overrides as JSON objects in your deployment scripts. 3. Convert overrides to YAML on the fly (or pass directly to `helm install -f -` via stdin). Helm accepts both `--values overrides.yaml` and `--set` flags. Programmatic JSON → YAML pipes are by far the cleanest way to inject computed values without YAML escaping headaches. ## Common Scenarios ### Generating a Kubernetes Manifest You build a Deployment definition programmatically as JSON (easier for templating in JS), then convert to YAML for `kubectl apply`. Round-trip safe for the common case — Deployments, Services, ConfigMaps, Secrets. ### Reading a Helm Values File from a Script A Node.js or Python script needs to read `values.yaml`. Either parse YAML directly (extra dependency) or convert to JSON once via the tool and check both into git. The JSON copy is easy for the script to consume. ### Generating GitHub Actions Workflows You're generating workflows from a template engine that emits JSON. Convert to YAML and commit — GitHub Actions runs YAML. ### Docker Compose Round-Trip You inherited a long `docker-compose.yml` and want to programmatically tweak it. Convert to JSON, manipulate with `jq` or a script, convert back to YAML. ### Terraform / Pulumi Output Some tools output JSON state but you want a human-readable YAML summary for documentation. Convert and paste — the YAML format is dramatically easier for non-engineers to skim. ### Migrating From CloudFormation to Terraform A CloudFormation template (JSON) needs to land in Terraform as HCL, but as an intermediate step you might generate a YAML representation for human review. Convert JSON → YAML, share with the team for sanity-checking, then translate to HCL. The YAML phase makes the structure dramatically easier to read. ### Inspecting a Compiled Helm Chart When debugging why a Helm release behaves unexpectedly, run `helm template release-name chart/ --values prod-values.yaml` to materialize all manifests. Pipe the output into your editor, copy a single Deployment, paste into a JSON converter to flatten and inspect — much easier than scanning 800 lines of compiled YAML. ### Comparing Helm Values Across Environments Convert each `values.yaml` to JSON, then run them through [PDFFlare's JSON Diff](https://pdfflare.com/tools/json/json-diff) — spots config drift between staging and production instantly. ## Best Practices - **Validate the output before applying.**A JSON → YAML conversion is faithful, but YAML's indent-sensitivity means a misaligned line breaks everything. Use `kubectl apply --dry-run=client -f file.yaml` before applying to a real cluster. - **Watch out for the Norway problem.** Older YAML versions parsed bare `no` as `false` — the country code `NO` would silently become a boolean. YAML 1.2 fixed this, and js-yaml uses 1.2 by default. Still, quote ambiguous strings like `"no"`, `"on"`, `"yes"`when they're actually country / port / answer values. - **Pretty-print the JSON first.** Run it through [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) so you can spot any structural issues before converting. - **For sensitive values, use Kubernetes Secrets.** Don't paste plaintext credentials into a YAML config and check it in. Use a Secret resource and reference it. - **Keep canonical configs as one format.**Don't check in both `config.json` and `config.yaml`— they'll drift. Pick one as canonical, convert on demand. ## Common YAML Pitfalls Worth Knowing - **Tabs are illegal as indentation.** YAML 1.2 explicitly forbids tab indentation. Some editors auto-tab on enter — kill this for YAML files. The error from `kubectl` is rarely helpful when this happens; check whitespace first. - **Trailing whitespace in folded blocks.** A multi-line string using `>` or `|` includes trailing whitespace on each line. Editors that auto-strip trailing whitespace can subtly change folded-block content. - **Quoting big numbers.** A 64-bit integer like a timestamp `1735689600000` stays a number through YAML and JSON, but watch for precision loss in JS consumers — same issue as JSON. Stringify large IDs at the source. - **The `off` / `on` trap.** YAML 1.1 treated bare `off` and `on`as booleans. YAML 1.2 (what js-yaml uses) doesn't, but legacy tools or older parsers still might. Quote these values when they mean strings. - **Mixing flow and block style.** YAML lets you write `tags: [a, b, c]` (flow) or `tags:\n - a\n - b` (block) — both are valid. Pick one style per file for readability; mixing reads poorly in code review. ## Privacy: Your Configs Stay on Your Device PDFFlare's JSON to YAML converter runs entirely in your browser via js-yaml. Configs containing API keys, database URLs, internal hostnames, or any other secrets never upload anywhere. This is critical for infrastructure-as-code work where pasting into a third-party online tool would be a security incident. ## Wrapping Up JSON ↔ YAML conversion is a daily task in any modern devops or platform-engineering workflow. A bi-directional, browser-based converter that round-trips reliably and doesn't leak your configs to a server is exactly what you want. Got a Kubernetes manifest, a Helm values file, or a GitHub Actions workflow that needs format conversion? Open [PDFFlare's JSON to YAML converter](https://pdfflare.com/tools/json/json-to-yaml) and your config is ready for kubectl in seconds. ## Related Tools - [JSON to TOML](https://pdfflare.com/tools/json/json-to-toml) — for Cargo, pyproject, and other TOML configs - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print and validate before converting - [JSON Diff](https://pdfflare.com/tools/json/json-diff) — compare two configs (after converting both to JSON) - [JSON Schema](https://pdfflare.com/tools/json/json-schema) — validate the JSON shape before converting to YAML --- ## Frequently asked questions **Q: How do I convert a JSON Kubernetes manifest to YAML for kubectl?** A: Paste the JSON manifest into PDFFlare's JSON to YAML converter and click Convert. The output is YAML 1.2, ready for kubectl apply -f -. Copy the YAML, save as deployment.yaml, then run kubectl apply --dry-run=client -f deployment.yaml first to validate before applying to a real cluster. **Q: Will the round trip JSON → YAML → JSON preserve my data?** A: For typical configs (Kubernetes, Compose, GitHub Actions, Helm values): yes, the data round-trips faithfully. What's lost: comments (JSON has no concept of them), YAML anchors and aliases (resolved during parse), custom YAML tags. Numeric strings, booleans, nested mappings, and sequences all preserve correctly. **Q: What's the Norway problem in YAML and how does PDFFlare avoid it?** A: Older YAML versions (1.1) parsed bare 'no' as the boolean false — so the country code NO would silently become false. PDFFlare uses js-yaml with YAML 1.2, which fixed this. Still, if you have ambiguous bare strings like 'no', 'on', 'yes', quote them in YAML to be safe (e.g. country: "NO"). **Q: Can I convert a YAML file with multiple documents (separated by ---)?** A: PDFFlare's converter handles a single YAML document at a time. For multi-document YAML files, split on the --- separator first, convert each document individually, and combine the JSON outputs into an array if needed. **Q: Is it safe to convert configs containing secrets?** A: Yes. PDFFlare's JSON to YAML converter runs entirely in your browser via js-yaml — your configs never upload to any server. This is critical for infrastructure-as-code work where pasting credentials, internal hostnames, or API keys into a third-party online tool would be a security incident. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Compare Two JSON Files (Structural Diff Guide) URL: https://pdfflare.com/blog/compare-two-json-files Published: May 1, 2026 Reading time: 7 min read > Compare two JSON files online for free. Structural diff shows added, removed, and changed paths — perfect for API regression testing and config drift detection. --- The API ships a new version. The response shape looks “basically the same.” You eyeball it, ship the change, and three days later someone files a bug because a field went from a number to a string and everything downstream silently broke. A structural diff that compares the two JSON files side-by-side would have caught it in two seconds. In this guide you'll learn how to compare two JSON files structurally using [PDFFlare's JSON Diff tool](https://pdfflare.com/tools/json/json-diff) — what added / removed / changed mean, why text diff lies, and how to use this for API regression testing, config drift detection, and snapshot tests. ## Why Text Diff Lies for JSON A line-by-line text diff treats JSON as plain text. That means it flags a bunch of stuff as a difference even when nothing meaningful changed: - **Reordered keys:** `{"a": 1, "b": 2}` and `{"b": 2, "a": 1}` are the same JSON. Text diff shows them as different. - **Whitespace changes:**Pretty-printed vs minified vs different indent widths look totally different to text diff. To a structural diff, they're identical. - **Trailing newline:** One file ends with `\n`, the other doesn't. Text diff: 1 change. Structural diff: 0 changes. A structural diff parses both sides as JSON values, then walks the trees in lockstep. It only flags differences in _data_, not differences in _formatting_. That's the signal you actually want. ## How to Compare Two JSON Files (Step by Step) PDFFlare's JSON Diff runs entirely in your browser — both inputs and the diff result stay on your device. 1. **Open [PDFFlare's JSON Diff tool](https://pdfflare.com/tools/json/json-diff)** — no signup. 2. **Paste the “before” JSON** into the left pane (the original / known-good version). 3. **Paste the “after” JSON** into the right pane (the new / suspect version). 4. **Click Compare.** The diff appears below as a list of entries, each showing the path, the change type, and the relevant values. 5. **Read the summary counts** at the top — added / removed / changed totals tell you the magnitude at a glance. ## Reading the Diff: Added, Removed, Changed Every entry in the diff falls into one of three buckets. Understanding the difference helps you triage the result. ### Added The path exists in B but not in A. Example: B has a new `tags` array on every user. The diff shows `users[0].tags`, `users[1].tags`, etc. as ADDED. Usually safe (new optional field), but check if any consumer assumes its absence. ### Removed The path exists in A but not in B. Example: B drops the deprecated `legacy_id` field. Diff shows it as REMOVED. This is a breaking change if any consumer depended on it. ### Changed The path exists in both, but with a different value or type. The diff shows both old and new values side-by-side. The biggest red flag here is a **type change** — a string becoming a number, a single object becoming an array. Type drift silently breaks downstream code. ## How JSON Diff Compares Arrays vs Objects The two structures are diffed differently, for good reason: - **Objects (key-value):** Compared by key. Reordering keys produces zero diff. A property only in A → REMOVED; only in B → ADDED; in both with different values → CHANGED. - **Arrays (sequence):**Compared by index. Order matters. Inserting an item at the front shifts every index and looks like every item changed. If your “arrays” are really sets, sort both sides before diffing. This asymmetry trips people up the first time they diff a list of users that was returned in different order. The fix is to sort by a stable key (typically `id`) on both sides before diffing. ## Diffing JSON in CI: A Practical Setup A common request: “is the API I'm about to deploy backwards-compatible?” A diff-based CI gate answers that: 1. Capture a stable, representative response from production for each critical endpoint. Check it into the repo as a fixture. 2. On every PR, hit the same endpoint on the build's preview deploy. Diff the response against the fixture. 3. Block the PR if the diff includes any REMOVED entries on response paths (consumers depend on them) or any CHANGED entries with type drift. 4. Allow ADDED entries through — new optional fields are backwards-compatible. This is exactly the kind of contract test that prevents silent breaking changes from shipping. PDFFlare's diff is the same mental model in interactive form. ## Diffing Snapshot Test Output Snapshot tests (Jest, Vitest, RSpec) are fast to write and notoriously painful to debug when they fail. The default output formats are line-by-line and verbose. A structural diff makes the actual change obvious in two clicks: 1. Open the failing test's expected snapshot. 2. Open the received snapshot. 3. Paste both into [JSON Diff](https://pdfflare.com/tools/json/json-diff). 4. See the actual changed paths immediately — much easier than scanning Jest's default character-level diff. ## Common Scenarios ### API Regression Testing Before deploying an API change, hit the same endpoint on staging and production, capture both JSON responses, paste into the diff. If the diff shows fields you didn't intend to change — stop the deploy. This catches the “I refactored the serializer and accidentally broke a field name” bug before it ships. ### Config Drift Detection You think the staging and production configs match. Diff them — you'll almost always find at least one field that drifted. Common offenders: feature flags, rate limits, third-party API endpoints, log levels. ### Snapshot Test Investigation A Jest snapshot test fails after an unrelated change. The diff in the test output is hard to read. Copy both the expected and received snapshots, paste into JSON Diff, and the actual changed paths jump out — way faster than scanning Jest's default diff format. ### Webhook Payload Verification Stripe / GitHub / Slack updated their webhook payload. Did anything you depend on change? Capture a current payload, compare against the one your code was originally written for, and the diff tells you. ### Comparing Tool Outputs You upgraded a code generator (e.g. [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript)) and want to know what the new output produces differently. Diff old vs new — if changes are wider than expected, audit before merging. ### Database Migration Verification Before and after a schema migration, dump a representative row from a critical table as JSON. Diff the two. If any path other than the ones the migration was supposed to change shows up, something drifted unexpectedly. Roll back, fix, repeat — much safer than discovering the issue in production a week later. ### Reviewing Pull Requests Touching Fixtures A PR adds a new entry to a 200-line JSON test fixture. The text diff shows 200 lines as touched because of trailing-comma reflow. The JSON diff shows the actual added entry — the tiny meaningful change. Reviewers are dramatically faster with structural diff in their toolbox. ### Verifying Idempotent Operations Most well-designed APIs have idempotent endpoints — calling the same create / update twice should produce the same final state. To verify, capture the JSON state after call #1, run the call again, capture state after call #2, diff. Empty diff = idempotent. Any change = bug. ## Spotting Type Drift The single most subtle bug a JSON diff catches is type change at a path. A field that was `42` becomes `"42"`. Visually almost identical. Functionally, every downstream `response.amount + 1` now silently produces `"421"` instead of `43`. Type drift in CHANGED entries shows both old and new values. If you see `42 → "42"`, that's a type change. Investigate immediately — it's rarely intentional. ## Best Practices - **Sort keys before diffing if you don't care about order.** JSON Diff is already key-order agnostic, but sorting both sides via [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) before pasting keeps the visual review easy. - **Diff arrays carefully.** JSON Diff is index-based — an array `[1, 2, 3]` vs `[2, 3]` shows three changes (every index shifted), not one removal. If your arrays are really sets, sort both before diffing. - **Use stable IDs in arrays.** Arrays of objects keyed by ID diff much better than arrays sorted by some volatile field. Sort by id before diffing if needed. - **Investigate every CHANGED entry.** ADDED and REMOVED are usually intentional. CHANGED is where bugs hide — especially type drift. - **Capture diffs in your CI.** Have your test suite output the same diff format on snapshot mismatches — easier to read than line-by-line text diff. ## Common Mistakes When Diffing JSON - **Diffing minified vs pretty-printed JSON without normalising.** Both are valid representations of the same data — the diff result is the same either way. But if you accidentally compare two snapshots stored at different indent levels, your eyes will struggle even if the diff is empty. - **Not sorting keys before treating it as a side-by-side review.** The structural diff is correct, but a manual visual review of either pane is much easier when keys are sorted. - **Misreading array index changes as bugs.**Inserting an item at the front of a 100-element array creates 101 changes — one ADDED at the end and 100 CHANGED at every index. That's normal index-based diff behaviour, not a bug. - **Ignoring type drift in CHANGED entries.** A value going from `true` (boolean) to `"true"` (string) is a CHANGED — and it's almost always a real bug. Read every CHANGED entry, don't skim. - **Treating ADDED as always safe.** A new field is backwards-compatible _most_ of the time. But if a consumer uses `Object.keys()` for iteration or treats the schema as closed, an ADDED field can break it. ## Privacy: Your JSON Stays on Your Device PDFFlare's JSON Diff runs entirely in your browser. Both inputs and the diff output never leave your device. Safe to compare production API responses, internal API contracts, configs containing secrets, or anything else that shouldn't hit a third-party server. Close the tab, the data is gone. ## Wrapping Up A structural JSON diff catches the bugs a text diff hides — especially type drift, the silent killer of integration code. It's the same fundamental tool used inside snapshot test runners, API contract test libraries, and config-drift detectors. You can run it on demand whenever you need to know “what changed.” Got two JSONs that should match but don't (or shouldn't but do)? Open [PDFFlare's JSON Diff](https://pdfflare.com/tools/json/json-diff) and you'll know in seconds. ## Related Tools - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — sort keys before diffing for stable comparisons - [JSON Schema](https://pdfflare.com/tools/json/json-schema) — validate one side against a schema for contract testing - [JSON Path](https://pdfflare.com/tools/json/json-path) — query specific paths after spotting a diff - [JSON Viewer](https://pdfflare.com/tools/json/json-viewer) — inspect either side as a collapsible tree --- ## Frequently asked questions **Q: What's the difference between a structural diff and a text diff for JSON?** A: A text diff compares two files line-by-line, treating JSON as plain text. It flags reordered keys, whitespace changes, and indentation differences as if they were real changes. A structural diff parses both sides as JSON values and walks the trees in lockstep — it only flags differences in actual data, ignoring formatting. Structural diff is what you almost always want for JSON. **Q: How are arrays compared in PDFFlare's JSON Diff?** A: Index-by-index. arr[0] in A is compared to arr[0] in B. Adding an element at the front shifts every index and shows up as many changes. If your arrays are really sets, sort both before diffing. If they're keyed objects (e.g. ordered by ID), make sure both are sorted by the same field — otherwise minor reordering produces noise. **Q: Why is JSON Diff useful for catching API regressions?** A: Before deploying an API change, capture the response from staging and from production for the same request. Run JSON Diff. If the diff shows fields you didn't intend to change — or worse, type changes (string → number) — stop the deploy. This catches the silent-corruption class of bug that text diff misses entirely. **Q: Does the diff tool show type changes separately?** A: Yes. A path that changes from "42" (string) to 42 (number) shows up as a CHANGED entry with both old and new values clearly visible. Type drift is usually a bug — investigate every type change in a CHANGED entry, since it almost always breaks consumers downstream. **Q: Can I use JSON Diff for sensitive production data?** A: Yes. PDFFlare's JSON Diff runs entirely in your browser — both inputs and the diff output never leave your device. This makes it safe for production API responses, internal API contracts, configs containing secrets, or anything else you wouldn't paste into a third-party server. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to TypeScript Interfaces (Generate Types Automatically) URL: https://pdfflare.com/blog/convert-json-to-typescript-interfaces Published: May 1, 2026 Reading time: 7 min read > Convert JSON to TypeScript interfaces free online. Generate types from API responses — handles nested objects, mixed-type arrays, and optional fields. --- You're wiring up a third-party API and the docs hand you a JSON example response — 200 lines deep, half a dozen nested objects, arrays inside arrays. You can either spend twenty minutes hand-typing the TypeScript interfaces and inevitably miss a field, or paste the JSON into a generator and get the types in two seconds. In this guide you'll learn how to convert JSON to TypeScript interfaces automatically using [PDFFlare's JSON to TypeScript tool](https://pdfflare.com/tools/json/json-to-typescript) — how it handles nested shapes, mixed-type arrays, and optional fields, plus where the generator falls short and what to fix by hand. ## Why Generate TypeScript Types From JSON? A typed API response unlocks four big wins: - **Autocomplete in your editor:** Type `response.` and your IDE shows every field. No flipping back to the docs. - **Compile-time safety:** Renaming a field? TypeScript flags every consumer. Mistyping `response.userid` instead of `response.userId`? The compiler catches it before runtime. - **Refactor confidence:** Restructuring data flow with types is dramatically safer than without. The compiler is the test suite. - **Self-documenting code:**The interface is the contract. Future-you (and teammates) doesn't need to read the API docs to understand the shape. ## How to Convert JSON to TypeScript Interfaces (Step by Step) PDFFlare's generator runs entirely in your browser — your JSON (potentially containing API tokens, customer data, or production payloads) never uploads anywhere. 1. **Open [PDFFlare's JSON to TypeScript tool](https://pdfflare.com/tools/json/json-to-typescript)** — no signup. 2. **Paste a sample JSON response** into the input pane. One representative example is enough — the generator infers types from it. 3. **Click Convert.** The output pane shows clean TypeScript interfaces, one per nested shape, with sensible names like `RootObject`, `Address`, `OrderItem`. 4. **Copy and paste into your codebase.** Drop the output into a `types.ts` file and import where you need. 5. **Tweak the names** if you want — interfaces auto-named from key names; rename to match your codebase conventions. ## How the Generator Decides Types The mapping from JSON to TypeScript is mostly mechanical, but a few rules are worth knowing: - **JSON string** → TS `string` - **JSON number** → TS `number` (TypeScript has no separate int / float) - **JSON boolean** → TS `boolean` - **JSON null** → TS `null` (you may want to widen to `T | null` by hand) - **JSON array of T** → TS `T[]` - **JSON object** → TS `interface` with a property per key ## How Mixed-Type Arrays Are Handled A common API gotcha: an array contains items of different shapes. The generator detects this and emits a union type. For example, `[{ "kind": "user", "name": "alice" }, { "kind": "bot", "id": 7 }]` becomes `(User | Bot)[]`, with each shape getting its own interface. You then narrow on `kind` at the consumer. ## How Nested Objects Become Sub-Interfaces Nested objects don't become inline types — they get their own named interface. So `{ "user": { "address": { "city": "NYC" } } }` generates three interfaces: `RootObject` containing a `user: User`, `User` containing an `address: Address`, and `Address` with `city: string`. Easy to import individually, easy to extend. ## Where the Generator Falls Short (Fix by Hand) Type inference from a single example has limits. After generating, adjust these by hand: ### Optional Fields A field that's present in your sample is typed as required. If the API can omit it, mark it optional with `?:`. For example, change `avatar: string;` to` avatar?: string;`. ### Nullable Fields A field that's `null` in your sample becomes `null` in the type — but most fields that can be null can also be a real value. Widen to `T | null` manually:` avatar: string | null;`. ### String Literal Unions Status fields like `"status": "pending"` become `string`. If the API returns a small, known set of values, tighten to a literal union:` status: "pending" | "active" | "closed";`. ### Empty Arrays An empty array `[]` in the sample becomes `never[]`because there's nothing to infer from. Replace with the actual element type once you know it (e.g. `tags: string[]`). ### Maps With Dynamic Keys If an object is really a map (keys are dynamic IDs, not a fixed schema), the generator emits one interface per known key. Replace with an index signature: `[id: string]: ItemValue`. ## A Worked Example: Typing a Real API Response Suppose you're wiring up a webhook from a CRM. The example payload looks like this: `{ "event": "contact.created", "data": { "id": 42, "email": "alice@example.com", "tags": ["lead","priority"], "owner": null }, "timestamp": "2026-05-01T08:00:00Z" }` Pasted into the generator, you get something close to: - `RootObject` with `event: string; data: Data; timestamp: string;` - `Data` with `id: number; email: string; tags: string[]; owner: null;` Three things are worth fixing by hand here: 1. **`event` is a discriminator.** The webhook sends a small known set of event names. Tighten to a literal union: `event: "contact.created" | "contact.updated" | "contact.deleted";`. Now your switch statement is exhaustive. 2. **`owner` is nullable, not always null.** Widen to `owner: User | null;` once you know the non-null shape. The current type makes it impossible to ever assign a real user. 3. **`timestamp`is a string, but it's an ISO 8601 date.** If you parse it to a `Date` on receipt, type the parsed shape: keep the wire type as `string` for the raw payload, then convert. ## Sample-Based vs Schema-Based Type Generation PDFFlare's tool infers types from a single sample. There's a different approach: generate types from a JSON Schema (or OpenAPI) document. Trade-offs: - **Sample-based:** Fast, zero-setup, works when you only have one example payload. The downside: required vs optional fields are guesswork, and you only see the shape that one sample happens to have. - **Schema-based (e.g. quicktype, openapi-typescript):** Definitive — the schema declares which fields are optional, which are nullable, which have enum constraints. The downside: you need a schema, which not all APIs publish. A pragmatic workflow: use sample-based generation as the starting point, then evolve toward schema-based if the API publishes a schema (or generate one yourself with [PDFFlare's JSON Schema tool](https://pdfflare.com/tools/json/json-schema)). ## Runtime Validation: Types Don't Help in Production TypeScript erases all types at runtime. If the API returns malformed data (a missing field, a wrong type), your typed code happily proceeds and crashes somewhere downstream with a confusing error. The fix: add a runtime validator at every API boundary. Options: - **JSON Schema validation**— generate a schema with PDFFlare's JSON Schema tool, validate at the boundary with AJV. Same source-of-truth for types and runtime checks. - **Zod / io-ts** — define a single schema in TypeScript that produces both the type and a runtime parser. Slightly more ceremony than sample-based generation, but bulletproof. - **Hand-written guards** — for tiny APIs, just` typeof`checks. Doesn't scale, but works. ## Common Scenarios ### Typing a Third-Party API You're hitting a REST API and the docs only give a JSON example. Drop it in the generator, get an interface set, type your fetch wrapper. Done in under a minute. If you also want a runtime check, generate a JSON Schema with [PDFFlare's JSON Schema tool](https://pdfflare.com/tools/json/json-schema) and validate at the boundary. ### GraphQL Response Types If you're on GraphQL, codegen tools like graphql-codegen give you types automatically. But for one-off queries or non-codegen workflows, paste a sample response into the JSON to TypeScript tool — fast and dependency-free. ### Local Storage and IndexedDB Schemas When you read JSON back from localStorage or IndexedDB, you need a type for it. Generate from your write payload, save the interface, and now your reads are type-safe. ### Webhook Payload Types Stripe, GitHub, Slack, and other webhook providers document payload shapes as JSON examples. Paste the example, generate the type, drop into your handler. Add the optional `?:` markers based on which fields the docs say are nullable. ## Best Practices - **Use the most representative sample.** A response with all optional fields populated produces better types than a minimal one. Run a real query and use that. - **Sort keys before generating.** Run the JSON through [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) with Sort Keys on. Stable ordering means stable interface ordering when you regenerate. - **Validate at runtime, not just compile time.** Types are erased at runtime — bad data still gets through. Pair the interface with a JSON Schema or Zod validator at the API boundary. - **Check the generator output.**Don't blindly paste — read the interfaces, mark optional fields, fix string literal unions, widen nulls. ## Naming Generated Interfaces Cleanly The generator picks names like `RootObject`, `Data`, `Item`. Functional, but generic. Three quick rename patterns improve readability: - **Name the root after the operation,** not the data.` GetUserResponse` is more useful than `RootObject` when you have several similar interfaces in one file. - **Name nested types after the parent key.** A nested `address` object becomes `Address`; a nested `preferences` becomes `Preferences`. The generator does this most of the time. - **Suffix array element types with their role.** An `items: Item[]` field is fine, but `items: OrderItem[]` tells the reader what kind of items at a glance. ## Generated Types vs Hand-Written Types Generated types are a fast starting point, not the final answer. A few cases where hand-written wins: - **Discriminated unions.** A polymorphic API response keyed by a discriminator (`kind`, `type`, `__typename`) is far more useful as a hand-written tagged union with literal types than as a generic union. - **Branded primitives.** An `id` field is technically a `number`, but you don't want to accidentally pass an `orderId` where a `userId` is expected. A branded type (`type UserId = number & { __brand: "UserId" }`) catches this — the generator can't infer it. - **Aliased imports for shared shapes.**If two endpoints return the same nested shape, generate once and import everywhere. Don't paste the same interface into multiple files. ## Privacy: Your JSON Stays on Your Device PDFFlare's JSON to TypeScript tool runs entirely in your browser. The inference logic is JavaScript executed locally — your JSON never uploads to any server. Production payloads, API tokens, customer data are all safe to paste. ## Wrapping Up Hand-typing TypeScript interfaces from a JSON example is a chore that a generator does in two seconds. Generate, then spend the saved time on the parts that need human judgment: optional fields, string literal unions, nullability. The result is a typed API integration that catches bugs at compile time instead of in production. Got a JSON sample that needs types? Open [PDFFlare's JSON to TypeScript tool](https://pdfflare.com/tools/json/json-to-typescript) and you'll have interfaces in your editor before your coffee finishes brewing. ## Related Tools - [JSON Schema](https://pdfflare.com/tools/json/json-schema) — generate a runtime validator from a sample - [JSON to Go](https://pdfflare.com/tools/json/json-to-go) — generate Go structs the same way - [JSON to Python](https://pdfflare.com/tools/json/json-to-python) — generate Python @dataclass types - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format and sort JSON before generating --- ## Frequently asked questions **Q: How does PDFFlare generate TypeScript types from a JSON sample?** A: The generator parses your JSON into an AST, walks every node, and infers a TypeScript type at each level: strings → string, numbers → number, booleans → boolean, arrays → T[], objects → named interfaces. Nested objects get their own interface with a name derived from the parent key. Mixed-type arrays produce union types like (User | Bot)[]. **Q: Why are some fields typed as required when the API can omit them?** A: The generator infers types from the single example you provide. If a field is present in your sample, it's marked required. If the API can omit it, edit the interface afterwards to add a ? — change avatar: string; to avatar?: string;. For more rigorous typing, generate a JSON Schema with PDFFlare's JSON Schema tool and use a schema-driven type generator like quicktype. **Q: Will the generator handle nullable fields correctly?** A: A field that's null in your sample is typed as null — but most fields that can be null can also be a real value. Widen by hand to T | null after generating. For example, change avatar: null; to avatar: string | null; once you know the non-null type. **Q: Can I generate types for an array of mixed shapes?** A: Yes — the generator detects per-item shape differences and emits a union. So [{kind:"user",name:"alice"},{kind:"bot",id:7}] becomes (User | Bot)[] with two interfaces. You can narrow on the discriminator field (kind in this example) at the consumer for type-safe branching. **Q: Do I need to worry about my JSON being uploaded?** A: No. PDFFlare's JSON to TypeScript tool runs entirely in your browser. The inference logic is JavaScript executed locally — your JSON, including any API tokens, customer data, or production payloads, never uploads to any server. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to CSV (and CSV to JSON) for Excel and Sheets URL: https://pdfflare.com/blog/convert-json-to-csv Published: May 1, 2026 Reading time: 8 min read > Convert JSON to CSV or CSV to JSON online for free. Open API responses in Excel, upload spreadsheets to JSON-only APIs, handle nested data and quoted fields. --- You've got a JSON response from an API — a list of users, orders, analytics events, whatever — and the request is the same one developers have heard a thousand times: “can you put this in a spreadsheet?” Or the reverse: an analyst hands you a CSV export from Salesforce and the ingestion API only accepts JSON. In this guide you'll learn how to convert JSON to CSV (and CSV back to JSON) for free in your browser using [PDFFlare's JSON to CSV converter](https://pdfflare.com/tools/json/json-to-csv) — bi-directional, handles quoted fields, embedded commas, and newlines, and never uploads your data anywhere. ## Why Convert JSON to CSV? JSON is what APIs and databases speak. CSV is what humans, spreadsheets, and most legacy data tools speak. Converting between them comes up constantly: - **Open API responses in Excel or Google Sheets:** Filter, sort, pivot, chart — all the tools non-developers know. - **Hand off data to non-technical teammates:** Marketing, ops, and finance live in spreadsheets. CSV is the lingua franca. - **Bulk data uploads:** Plenty of admin panels and SaaS tools accept CSV but not JSON. Convert and upload. - **Analytics and reporting:** Quick ad-hoc analysis is faster in a spreadsheet than writing a script. - **Database imports:** Most databases have a` COPY FROM CSV` or equivalent bulk-load path. ## How to Convert JSON to CSV (Step by Step) PDFFlare's converter is bi-directional and runs entirely in your browser. 1. **Open [PDFFlare's JSON to CSV tool](https://pdfflare.com/tools/json/json-to-csv)** — no signup needed. 2. **Paste your JSON** into the input pane. The tool expects an array of objects (the most common shape) — for example` [{"name":"alice","age":30},{"name":"bob","age":25}]`. 3. **Click Convert.** The right pane shows a clean CSV with one row per object and a header row built from the union of all keys. 4. **Copy or download.** Save as `data.csv` and open in Excel, Sheets, Numbers, or any text editor. 5. **To go the other way** — toggle the direction selector to CSV → JSON, paste your CSV, and click Convert. The first row is treated as headers and each subsequent row becomes an object. ## Handling Tricky CSV Edge Cases A real CSV converter has to handle the messy reality of CSV — quoted fields, embedded commas, newlines inside values, escaped quotes. PDFFlare follows [RFC 4180](https://datatracker.ietf.org/doc/html/rfc4180), the de facto CSV spec, so the round-trip preserves data faithfully. - **Embedded commas:** A value like` "Smith, John" `stays inside its single CSV cell because it's wrapped in quotes. - **Embedded newlines:** Multi-line values (like a long address) inside a quoted field stay multi-line — Excel imports them into a single cell. - **Embedded quotes:** A single` " ` inside a value gets escaped as` "" ` per the RFC. The reverse direction unescapes them. - **Header row:** The first CSV row is always treated as field names. The JSON output is an array of objects keyed by those names. ## What About Nested JSON? CSV is a flat format — rows and columns, no nesting. If your JSON has nested objects (`{"user": {"name": "alice"}}`), the converter has two options: - **Flatten first:** Use [PDFFlare's JSON Flatten](https://pdfflare.com/tools/json/json-flatten) to turn `{"user": {"name": "alice"}}` into `{"user.name": "alice"}`, then convert to CSV. You'll get one column per leaf path, fully spreadsheet-compatible. - **JSON-encode the nested value:** The converter stringifies nested objects so they fit in one cell as` {"name":"alice"}`. Useful when you need to keep structure intact for re-parsing later. ## CSV Dialects: Excel, RFC 4180, and TSV Not all CSVs are created equal. The format has historical baggage and regional flavors that catch people off-guard: - **RFC 4180 (the “real” spec):** Comma separators, double-quote field wrapping, doubled quotes for escaping. PDFFlare emits RFC 4180-compliant CSV by default. - **Excel-flavoured CSV:**Mostly RFC 4180-compatible, but Excel uses the regional list separator from your OS settings. On many European systems, that's a semicolon, not a comma. If your CSV opens with all data in one column, the semicolon vs comma mismatch is usually why. - **TSV (tab-separated):** Often safer than CSV when data contains commas. Tabs almost never appear in text data, so quoting is rarely needed. Useful as an intermediate format. ## Date Formats: The Silent CSV Trap JSON has no native date type — dates are strings. CSV has no types at all. Excel auto-detects and reformats anything that looks like a date, often destructively: - **ISO 8601 strings (`2026-05-01`):**Excel converts to a serial number internally, displays in your locale's date format. Saving back as CSV may emit `5/1/2026` or` 01/05/2026` depending on locale — round trip is no longer the same string. - **The gene-name disaster:** Excel famously corrupts biology data because gene names like `SEPT1` are interpreted as dates. The fix is to format the column as Text on import, not after. - **Mitigation:** Prefix sensitive cells with a single quote character before pasting (`'2026-05-01`) — Excel keeps the value as text. Or import via Data → From Text and mark the column as Text explicitly. ## When to Use JSON Lines (NDJSON) Instead Big-data pipelines (BigQuery, Athena, Spark, Snowflake) often prefer** JSON Lines** — one JSON object per line, no top-level array. Pros: streamable (you can process line by line without holding the whole file in memory), append-friendly, plays well with `grep` and `awk`. If your downstream consumer is one of those tools, output JSONL instead of CSV — it preserves types and handles nested data natively. PDFFlare's converter targets CSV; for JSONL, just drop the brackets and commas from a JSON array manually. ## Common Scenarios ### Exporting an API Response to Excel Hit an endpoint, copy the JSON response, paste into the converter, download the CSV, double-click to open in Excel. From start to spreadsheet in under a minute. Faster than installing a Python package. ### Postman or Insomnia → Spreadsheet Postman lets you copy JSON results to clipboard. Paste straight into the converter, get CSV, share with your team. No need for a custom export script. ### CSV → API JSON Body Going the other way: an analyst gives you a CSV, you need to bulk-import it through a JSON-only API. Convert CSV to JSON, wrap it in your request body, fire off a script. The converter handles the tedious quoting and escaping for you. ### Log Analysis Application logs often emit JSON lines. Concatenate them into a JSON array, drop into the converter, open the resulting CSV in Excel. Pivot tables and filtering are dramatically faster than grep + awk for ad-hoc analysis. ### Database Bulk Import PostgreSQL `COPY FROM`, MySQL `LOAD DATA INFILE`, and most cloud warehouses support CSV import. Convert your JSON dataset to CSV first, then bulk-load — orders of magnitude faster than row-by-row INSERT statements. ### Generating Test Fixtures Need 100 rows of dummy data for a unit test? Use [PDFFlare's JSON Generator](https://pdfflare.com/tools/json/json-generator) to produce realistic JSON, then convert to CSV for tools that expect CSV input. Saves you from hand-rolling a fixture file or writing a generator script for a one-off test. ### Sharing Data with Non-Technical Stakeholders Marketing wants the latest signups. Finance wants this month's orders. They live in spreadsheets. Pull the data from your API as JSON, drop it in the converter, hand them a CSV. No back-and-forth, no “can you export it differently?” — they get exactly what their tools speak. ## Best Practices - **Always inspect the JSON shape first.** Run it through [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) so you can see if it's an array of flat objects (CSV-ready) or has nested structure (flatten first). - **Watch out for type drift.** CSV has no types — every cell is a string. When you re-parse a CSV → JSON, numbers become `"42"` not `42`. Cast where needed. - **Excel mangles leading zeros.** ZIP codes, IDs, and phone numbers starting with 0 lose the zero on import. Format the cell as Text in Excel before importing if this matters. - **UTF-8 is your friend.** Save CSV with UTF-8 encoding for emoji, accented characters, and non-Latin scripts. Excel sometimes defaults to UTF-16; choose UTF-8 explicitly. - **For repeat conversions, automate.**The converter is great for one-offs. If you're doing this daily, write a script — but for ad-hoc analyst requests, the browser tool wins. ## Common Mistakes When Converting JSON to CSV - **Forgetting that the JSON must be an array of objects.** A single object `{"a": 1, "b": 2}`won't convert cleanly into CSV rows. Wrap it in an array first if you want a single-row CSV. - **Inconsistent keys across objects.**If the first object has 5 keys and the second has 7, the converter unions all keys for the header and fills missing cells with empty strings. That's usually what you want, but it means your CSV is sparse — sort by completeness if downstream tools choke on empty cells. - **Losing array values inside cells.** A JSON value like `"tags": ["a","b","c"]` ends up as a single cell containing `["a","b","c"]`. If you want one row per tag, you need to denormalize — typically with a script, not a generic converter. - **Encoding troubles.** If your data has non-ASCII characters (emoji, accents, CJK), save the CSV as UTF-8 with BOM so Excel opens it correctly on Windows. Save as plain UTF-8 for Mac, Linux, or Google Sheets. ## Privacy: Your Data Stays on Your Device PDFFlare's JSON to CSV converter runs entirely in your browser. Conversion logic is JavaScript executed locally — your data never uploads to any server. This is critical for production datasets that contain customer PII, financial records, or anything covered by GDPR, HIPAA, or similar regulations. Close the tab, the data is gone. ## Wrapping Up JSON ↔ CSV conversion is one of the most-asked-for tasks in data plumbing. Done right, it preserves your data faithfully through the round trip; done sloppily, embedded commas and quotes corrupt rows silently. PDFFlare follows the RFC and gives you a clean, browser-based conversion in one click. Got a JSON dataset that needs to land in Excel — or a CSV that needs to feed an API? Open [PDFFlare's JSON to CSV converter](https://pdfflare.com/tools/json/json-to-csv) and you're unblocked. ## Related Tools - [JSON Flatten](https://pdfflare.com/tools/json/json-flatten) — flatten nested JSON before CSV conversion - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — inspect the shape of your JSON before converting - [JSON to YAML](https://pdfflare.com/tools/json/json-to-yaml) — convert to YAML for config files and Kubernetes - [JSON Stats](https://pdfflare.com/tools/json/json-stats) — inspect key counts and types in your dataset --- ## Frequently asked questions **Q: How do I convert a JSON array to a CSV that opens cleanly in Excel?** A: Paste the JSON array into PDFFlare's JSON to CSV converter and click Convert. The tool builds a header row from the union of all keys and emits one CSV row per object, following RFC 4180 quoting rules. Save with a .csv extension and double-click — Excel imports cleanly. For best results, run the JSON through Sort Keys first so column order is stable. **Q: Can I convert nested JSON to CSV?** A: CSV is a flat format, so nested objects need flattening first. Use PDFFlare's JSON Flatten tool to turn {"user": {"name": "alice"}} into {"user.name": "alice"} — that produces one CSV column per leaf path. Alternatively, the converter stringifies nested objects into a single cell as JSON, useful when you need to preserve structure for re-parsing. **Q: How does PDFFlare handle commas and quotes inside CSV cells?** A: Per RFC 4180: any cell containing a comma, double quote, or newline is wrapped in double quotes. Embedded double quotes are escaped by doubling them (e.g. " becomes ""). The CSV → JSON direction reverses this correctly. So a value like {"name": "Smith, John"} round-trips through CSV without corruption. **Q: Why do leading zeros disappear when I open a CSV in Excel?** A: Excel auto-detects column types and treats numeric-looking strings (ZIP codes, IDs, phone numbers) as numbers, dropping leading zeros. Fix: in Excel, use Data → Get Data → From Text and explicitly mark the column as Text during import. Or pre-format the cells as Text before pasting. **Q: Is my CSV / JSON data uploaded anywhere during conversion?** A: No. PDFFlare's JSON to CSV converter runs entirely in your browser using JavaScript — both directions, both panes. Your data never touches any server, so the tool is safe for production datasets, customer PII, financial records, and anything subject to GDPR or HIPAA. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Format JSON Online (Pretty Print, Validate, and Repair Broken JSON) URL: https://pdfflare.com/blog/how-to-format-json-online Published: May 1, 2026 Reading time: 8 min read > Format JSON online for free — pretty print, validate, repair broken JSON, and sort keys in your browser. Fix missing commas, trailing commas, and unquoted keys. --- You paste a 400-line API response into your editor and it's one giant minified blob — no line breaks, no indentation, no way to tell where one object ends and the next begins. You need to format that JSON into something readable before you can debug it. Or worse: you're trying to parse JSON pulled from a log line and the parser keeps throwing “Unexpected token at position 1247” with no clue where the actual problem is. In this guide you'll learn how to format JSON online for free, how to validate it (so you can catch broken JSON before it hits production), and how to repair common mistakes like missing commas and trailing commas using [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — 100% browser-based, your data never leaves your device. ## Why Format JSON in the First Place? Minified JSON is great for transport — fewer bytes over the wire — but terrible for humans. Pretty printing solves five real problems: - **Readability:** A 4000-character single-line response becomes a 200-line tree you can scan top-to-bottom in seconds. - **Debugging:**When the parser screams “Unexpected token at position 1247,” line numbers tell you which property is broken. - **Diffing:**Git, code review tools, and your own eyes can't diff one-line JSON. Pretty printing makes meaningful diffs possible. - **Sharing:** A formatted JSON snippet pasted into Slack or a bug ticket is something a teammate can actually read. - **Learning:**If you're new to an API, formatted JSON is the fastest way to understand its shape. ## How to Format JSON Online (Step by Step) PDFFlare formats JSON entirely in your browser. Your data is never uploaded — safe for production payloads, API tokens, and PII. 1. **Open [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter).** No account, no signup. 2. **Paste your JSON** into the left input pane. Anything from a 10-line config to a 50,000-line export works. 3. **Click Format.** The output pane on the right shows your JSON pretty-printed with 2-space indentation, line numbers visible in both panes. 4. **Copy with one click.** Use the Copy button or select and copy directly from the editor. 5. **Hit Validate** if you just want to confirm the JSON is well-formed without changing it. 6. **Hit Repair** if the JSON is broken — the tool will fix common syntax mistakes and produce valid JSON if it can. ## Format vs Minify vs Sort Keys vs Repair: Which Do You Need? The formatter exposes four actions because they solve different problems. Knowing which to pick saves time: - **Format (Pretty Print):**Human-readable output with indentation. Use when you're reading or debugging. - **Minify:**Removes all whitespace. Use when you're embedding JSON in a URL, a code string, or a network payload where bytes matter. - **Sort Keys:**Alphabetically sorts every object's keys recursively. Critical for stable diffs — two semantically equal JSON files with keys in different orders produce zero diff after sorting. - **Repair:** Best-effort fix for malformed JSON. Handles trailing commas, unquoted keys, single-quoted strings, and Python / JavaScript-flavoured pseudo-JSON. ## Common JSON Errors and How to Fix Them Most “invalid JSON” errors fall into a handful of buckets. PDFFlare's formatter pinpoints the line and column of the problem so you don't have to count characters. ### Missing Comma The single most common JSON error. Two object properties on consecutive lines without a comma between them. The error message says “Expected , or }” — open the formatter, paste, click Format, and the error pane points at the exact line. Add the comma, re-format, done. ### Trailing Comma You wrote `[1, 2, 3,]`with a comma after the last element. JSON forbids trailing commas (unlike JavaScript). Strict parsers reject it. PDFFlare's Repair button strips trailing commas automatically. ### Unquoted Keys You copied a JavaScript object literal into a JSON parser. JS allows` { name: "alice" } `, JSON requires` { "name": "alice" } `. Repair adds the missing quotes around all keys. ### Single Quotes JSON requires double quotes; you have single quotes. Common when pasting from Python or older JS code. Repair converts single-quoted strings to double-quoted ones, with proper escaping. ### Comments JSON has no comments. If your config-style JSON has `// comments`, parsers will reject it. Repair strips line and block comments before re-emitting. ## Indent Style: 2 Spaces, 4 Spaces, or Tabs? The formatter uses 2-space indentation by default — the de facto standard for JSON. A few notes on style: - **2 spaces** is the dominant convention. It saves horizontal screen space, deeply nested JSON stays readable, and most public APIs and SDKs emit 2-space output. Stick with this unless you have a specific reason not to. - **4 spaces** is sometimes used in older Python and Java codebases for consistency with their source files. It wastes horizontal space in deeply nested JSON — a 6-level-deep config indents 24 columns before you see content. - **Tabs** render differently in different editors (typically 4 or 8 columns). For JSON checked into git, this causes inconsistency. Avoid for JSON. - **0 spaces (minified)**is for transport, not editing. Browsers, fetch clients, and curl all handle it; humans don't. ## Working With Large JSON Files A browser-based formatter can comfortably handle JSON up to a few megabytes. Past that, you'll see noticeable lag, and at tens of megabytes you'll exhaust memory. Some practical guidance: - **Up to ~500 KB:** Instant. The formatter handles this without breaking a sweat — typical API responses, config files, and exports fit here. - **500 KB to ~5 MB:**A second or two of processing. Still fine; you'll see line-number gutters scroll smoothly. - **5 MB to ~50 MB:** Use with caution. Modern laptops can handle this, but mobile devices may struggle. Inspect a slice instead — copy a representative chunk into the formatter, leave the rest alone. - **Above 50 MB:** Switch to a streaming command-line tool. `jq` handles arbitrarily large files; the browser does not. ## JSON Lines (NDJSON / JSONL): A Special Case Application logs and big-data exports often use JSON Lines — one JSON value per line, no array wrapper. Example: `{"user": "alice", "action": "login"}` `{"user": "bob", "action": "logout"}` This is _not_valid JSON in the strict sense — there's no top-level array. To format JSON Lines, wrap the lines in `[` and `]` with commas between each entry, then run through the formatter. To split formatted JSON back into JSON Lines, the inverse: drop the brackets, join with newlines. ## Common Scenarios ### Reading an API Response You hit an endpoint in Postman or curl, get back a wall of minified JSON. Paste it into the formatter, click Format, and the structure becomes obvious in seconds. For really big responses, follow up with [PDFFlare's JSON Viewer](https://pdfflare.com/tools/json/json-viewer) for a collapsible tree. ### Comparing Two API Responses Sort keys on both, then either eyeball them side-by-side or run them through [PDFFlare's JSON Diff](https://pdfflare.com/tools/json/json-diff) for a structural comparison. Sorting is mandatory — without it, the diff is full of false positives caused by key ordering. ### Embedding JSON in a Bug Ticket Format first, then copy. A formatted snippet in a ticket is something a teammate can read and reason about. Minified JSON in a ticket is a wall of text nobody reads. ### Cleaning Up Pseudo-JSON From a Log Application logs sometimes emit JS-style object dumps with unquoted keys, single quotes, or trailing commas. Repair turns that into valid JSON in one click — much faster than fixing each issue by hand. ## Best Practices for Working With JSON - **Always validate before parsing in code.** A schema check via [PDFFlare's JSON Schema tool](https://pdfflare.com/tools/json/json-schema) catches malformed payloads before they crash production. - **Sort keys before checking JSON into git.** Stable ordering means clean diffs. The Sort Keys button does this in one click. - **Minify for transport, format for editing.**Don't check pretty-printed JSON into version control if it's only ever consumed by code — minify it to save bytes. - **Use 2-space indentation as the default.** 4 spaces wastes horizontal space; tabs cause display inconsistencies. 2 spaces is the de facto standard for JSON. ## Common Mistakes That Break JSON Parsing Beyond syntax errors, a handful of subtler issues silently corrupt JSON or break parsers. Worth knowing about: - **Unicode BOM:** Some editors prepend a Byte Order Mark (``) to UTF-8 files. Strict parsers reject it. Save without BOM, or strip it before parsing. - **NaN, Infinity, and undefined:** JavaScript has them; JSON does not. Serializing an object with `NaN` via` JSON.stringify` produces `null`; some non-JS serializers emit literal `NaN` which then fails in JS parsers. Convert to numbers (or null) before serializing. - **Bigint precision loss:** JSON numbers map to JavaScript Number, which is a 64-bit float. Integers above` 2^53 - 1` lose precision. If your IDs are bigints, serialize them as strings to preserve exact values. - **Date objects:** JavaScript `Date` stringifies to ISO 8601 — but only if you ran `JSON.stringify`. Manually building JSON from a `Date` can produce a useless `{}` object instead. Convert with `toISOString()` first. - **Circular references:**JS objects with circular references can't be serialized at all. Detect with a try/catch around `JSON.stringify` and either break the cycle or use a custom replacer. ## Privacy: Your JSON Stays on Your Device PDFFlare's JSON Formatter runs entirely in your browser. The parsing, formatting, and repair logic is JavaScript executed locally — your JSON never touches any server. This makes it safe for production API payloads, JSON containing API tokens, customer data, or anything else you wouldn't paste into a third-party server. Close the tab and the data is gone. ## Wrapping Up A formatter takes invalid, unreadable JSON and turns it into something you can actually work with. Add validation and repair on top, and you've got a one-stop tool for the 90% of JSON pain that comes up day to day. Next time you're staring at a wall of minified JSON or a mysterious parser error, paste it into [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) and you'll be unblocked in seconds. ## Related Workflows Adjacent tools you might find useful while working through this guide: [JSON Formatter](https://pdfflare.com/tools/json/json-formatter), [JSON Viewer](https://pdfflare.com/tools/json/json-viewer), and [JSON Schema](https://pdfflare.com/tools/json/json-schema). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [JSON Viewer](https://pdfflare.com/tools/json/json-viewer) — browse big JSON as a collapsible tree - [JSON Diff](https://pdfflare.com/tools/json/json-diff) — compare two JSON values structurally - [JSON Schema](https://pdfflare.com/tools/json/json-schema) — generate or validate against a JSON Schema - [JSON Stats](https://pdfflare.com/tools/json/json-stats) — inspect depth, key counts, and type breakdown ## Privacy & Data Handling PDFFlare's JSON formatter runs entirely in your browser — your JSON never leaves your device. That makes it safe for production payloads, internal API responses, snippets that contain access tokens, and anything else you'd normally hesitate to paste into a third-party online tool. There's no upload, no server-side storage, and no analytics on file contents. Your data stays local. ## Wrapping Up Formatting JSON online used to mean choosing between fragile parsers, watermarked output, or sites that quietly upload your data. PDFFlare's formatter gives you instant pretty-printing, minification, key sorting, validation with line/column error pointers, and a repair mode that fixes common syntax slip-ups — all in your browser, all free. Try it on your next stubborn JSON payload and you'll wonder why the standard workflow ever required anything more. --- ## Frequently asked questions **Q: What is the difference between formatting and validating JSON?** A: Formatting (pretty printing) reshapes the whitespace so JSON is human-readable; the data stays the same. Validating only checks if the JSON is well-formed and reports errors with line and column numbers — it doesn't change the input. PDFFlare's formatter does both: every Format click is also a validate, and the Validate button is available standalone. **Q: Can PDFFlare repair broken JSON automatically?** A: Yes — the Repair action handles the most common JSON syntax mistakes: trailing commas, missing commas between properties, unquoted keys (JS-style object literals), single-quoted strings, and inline comments. It's best-effort: it produces valid JSON when it can, but very malformed input may still need manual fixing. **Q: Why does Sort Keys matter when comparing two JSON files?** A: JSON object keys are unordered semantically, but text-based diff tools see them as ordered. Two files with identical data but different key orders look completely different in a text diff. Sorting keys recursively before diffing produces a stable, meaningful comparison — it's the standard pre-step for JSON diffing. **Q: Is it safe to format production JSON in PDFFlare?** A: Yes. PDFFlare's JSON Formatter runs entirely in your browser via JavaScript — your data never uploads to any server. This makes it safe for production API responses, JSON containing API tokens, customer data, or anything covered by GDPR or HIPAA. Close the browser tab and the data is gone. **Q: How big a JSON file can I format?** A: The formatter runs in your browser, so the practical limit is your device's memory. Modern laptops handle multi-megabyte files (50,000+ lines) without issue. If you're working with truly massive datasets (hundreds of MB), a streaming command-line tool like jq is more efficient. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Combine iPhone Photos into One PDF (Free, No App) URL: https://pdfflare.com/blog/combine-iphone-photos-into-one-pdf Published: May 1, 2026 Reading time: 9 min read > Combine iPhone photos into one PDF for free in your browser. Supports HEIC, JPG, and PNG with auto-rotation, drag reorder, and no app or signup needed. --- You snapped a stack of receipts, a multi-page contract, a passport page and its translation, or just a vacation roll — and now you need to combine those iPhone photos into one PDF. Maybe HR asked for a single document, the visa portal won't accept loose JPGs, or you just want to email everything as one tidy attachment instead of fifteen. The annoying part: every iPhone-to-PDF guide on the web tells you to download an app, pay $4.99, hand over photo-library access, or fight Apple's built-in Files trick that mangles the order. In this guide you'll learn how to combine multiple iPhone photos into one PDF for free in your mobile browser using [PDFFlare's Photo to PDF tool](https://pdfflare.com/tools/pdf/jpg-to-pdf) — HEIC, JPG, PNG, and WebP all work, photos auto-rotate to the correct orientation, and nothing leaves your phone. ## Why Combine iPhone Photos into One PDF? A folder of loose photos and a single PDF look the same on your phone, but they behave very differently when you share them. Bundling iPhone pictures into a PDF unlocks a few real wins: - **Email and upload portals love single files:** visa applications, bank KYC forms, university applications, and HR portals almost always require one PDF, not a dozen JPGs. - **Page order is preserved:** a PDF locks your sequence in place. Loose photos sort by filename or capture time, which is rarely the order you actually want. - **Easier to print:** hitting Print on a 12-page PDF is one tap. Printing 12 separate photos is 12 dialogs and a lot of swearing. - **Smaller and tidier than a ZIP:**a multi-photo PDF can be smaller than the sum of its source images once you apply a balanced compression preset, and recipients don't need to unzip anything. - **Looks professional:** a single, paginated PDF with a cover page and consistent margins reads like a document rather than a camera roll dump. ## The HEIC Problem (Why iPhone Photos Break Most Online Tools) Since iOS 11, iPhones have shot photos in **HEIC**by default — a more efficient format than JPG that most online PDF makers don't understand. You upload your iPhone photos, the website spits out an error or a blank PDF, and you're back to Googling. If you want the deeper backstory on the HEIC format itself, our guide on [converting HEIC to JPG](https://pdfflare.com/blog/convert-heic-to-jpg-iphone-photos) explains why HEIC exists and how it differs from JPEG. The Photo to PDF tool sidesteps this problem entirely. HEIC files are converted to JPEG inside your browser before they enter the PDF, using the same library Apple itself recommends. You drop in a mix of HEIC, JPG, and PNG — the tool handles the conversion automatically and you never see a format error. ## How to Combine iPhone Photos into One PDF (Step by Step) The whole flow takes about a minute. You can do this on your iPhone in Safari, on your iPad, or on a desktop browser — the steps are identical because everything runs client-side. 1. **Open the tool in Safari or Chrome:** tap [PDFFlare's Photo to PDF](https://pdfflare.com/tools/pdf/jpg-to-pdf) on your iPhone. There's no app to install — the tool is a regular web page. 2. **Add your photos:**tap the upload area and pick “Photo Library.” iOS shows your camera roll — select every photo you want in the PDF. HEIC, JPG, PNG, and WebP all work in the same upload. You can also tap “Take Photo” to capture new shots and add them directly. 3. **Drag to reorder (optional):** each photo appears as a numbered thumbnail. Long-press and drag to move it, exactly like rearranging app icons on the home screen. The page number badge updates live so you can see how the final PDF will be paginated. 4. **Fine-tune each photo (optional):** tap the rotate, crop, or caption icons on any thumbnail. Phone photos are auto-rotated using their EXIF data, but if a shot still looks sideways, one tap fixes it. 5. **Pick your settings:**below the grid, choose a page size (A4 is fine for most uses, US Letter for the US), margin, and how many photos per page (1 is the default; pick 2 or 4 for contact-sheet style albums). Toggle “Add a cover page” if you want a title slide. 6. **Tap “Convert to PDF”:** the PDF generates entirely on your phone in a few seconds. iOS will show a Share Sheet so you can save it to Files, email it, or send it via Messages or AirDrop. ## Tips for the Best iPhone Photo PDFs ### Auto-Rotate Phone Photos with EXIF (Don't Sideways-Send) The number-one reason people retake photos isn't blur, it's orientation. iPhones store rotation as a hidden EXIF flag instead of rotating the actual pixels. Lazy PDF makers ignore the flag and your portrait shots arrive sideways. PDFFlare reads the EXIF orientation and rotates the photo to upright before embedding — the same way the Photos app does. You don't have to do anything; it just works. ### Use Multi-Up Layouts for Album-Style PDFs If you're building a vacation album or a contact sheet rather than a single-photo-per-page document, switch the “Photos per page” setting to 2, 4, or 6. The tool packs photos into a clean grid with spacing controls. Combine that with a cover page and you have a printable mini-photo-book in under a minute. ### Compress Aggressively Before Emailing Modern iPhones produce 3–5 MB photos. Twelve of them in one PDF is a 50 MB file — too big for most email providers (Gmail tops out at 25 MB). In the Output card, switch **Compression**to “Smaller file” — this downscales each photo to 1500 px on the long edge and re-encodes as JPEG quality 65, usually shrinking the result by 80%. If the file is still too big after that, run it through PDFFlare's [Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf) for a second pass. ### Crop Before You Combine Photos of paper documents almost always include a hand, a desk, or a curtain in the background. Tap the crop icon on any thumbnail to isolate just the document — you get aspect-ratio presets (Free, Square, 4:3, 16:9, 3:2) and a draggable crop box. Cropping in the tool is non-destructive: your original photo on the camera roll is never modified, and you can tap reset to undo. ### Add a Cover Page for Anything Official Submitting an ID + utility-bill bundle to a bank? Toggle **Add a cover page**and type a title like “KYC Documents — John Smith.” The tool builds a clean title slide as page 1, then your photos follow. It looks dramatically more professional than emailing a stack of raw shots. ## Common iPhone Photo-to-PDF Scenarios ### Scanning a Multi-Page Contract with Your iPhone Open the camera, snap each page (the Notes app trick of holding the phone over the page works fine, but raw camera shots work too), then upload them all to the Photo to PDF tool. Drag to fix any out-of-order shots. Toggle Margin to “Medium” so there's breathing room around each page. Done. ### Submitting Visa Documents (Passport + Photo + Supporting Docs) Visa portals almost always demand one PDF under 5 MB. Combine your passport, ID, and supporting photos with the “Smaller file” compression preset. Add a cover page with the applicant's name. If you need to redact a field first, run the PDF through [PDFFlare's Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) to whiteout sensitive details after the conversion. ### Building a Photo Album for a Family Member Pick 30–60 of your favourite shots, switch to a 2- or 4-photos-per-page layout, add captions to each photo (tap the caption icon, type a one-line memory), and use the cover page with a subtitle like “Summer 2026.” The result is a shareable photo book your relatives can view on any device. ### Converting WhatsApp Receipts into a Single Filing PDF WhatsApp saves business receipts to your camera roll as JPGs. Combine the month's receipts into one PDF, name it “Expenses — April 2026,” and email it to accounting. Five minutes, no apps, no spreadsheets. ## Privacy: Your Photos Never Leave Your Phone Most photo-to-PDF apps and websites upload your images to a server, “process” them, and email you a download link. For receipts, IDs, or anything mildly sensitive, that's not great. PDFFlare's Photo to PDF tool runs entirely in your browser using JavaScript and the Canvas API. Your photos are read into memory, drawn into a PDF, and downloaded back to you — nothing is ever uploaded to a server. There's no account, no analytics on your file contents, and no retention. ## Related Tools - [Photo to PDF](https://pdfflare.com/tools/pdf/jpg-to-pdf) — the tool this guide is built around. JPG, PNG, HEIC, and WebP into a single PDF, with reorder, crop, captions, and cover page. - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — squeeze your finished PDF further if you need it under an email size limit. - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine your iPhone-photo PDF with other PDFs into a single document (e.g., a phone-photo bundle plus an existing scanned form). - [PDF to JPG](https://pdfflare.com/tools/pdf/pdf-to-jpg) — the reverse trip. Pull your photos back out of an existing PDF. - [Convert Image](https://pdfflare.com/tools/image/convert-image) — if you need HEIC turned into JPG/PNG/WebP outside of a PDF context. ## Wrapping Up Combining iPhone photos into one PDF used to mean installing yet another app, paying for “pro” features, or fighting with the Files app to merge things in the right order. With PDFFlare's Photo to PDF tool, you tap an upload button, pick photos, drag the order, and download. HEIC, JPG, PNG, and WebP all work; photos rotate the right way up automatically; and nothing leaves your phone. Try it on a current need — a stack of receipts, a multi-page contract, or your next family album. Then share the PDF wherever you wanted it to go: email, Messages, AirDrop, a portal upload, a print queue. One file, the right order, the right rotation, ready to send. --- ## Frequently asked questions **Q: Can I combine iPhone HEIC photos into a PDF without converting them first?** A: Yes. PDFFlare's Photo to PDF tool detects HEIC files automatically and converts them to JPEG inside your browser before adding them to the PDF. You don't have to use a separate HEIC-to-JPG converter — drop your iPhone photos in directly and the tool handles it. **Q: Will my iPhone photos be rotated correctly in the PDF?** A: Yes. iPhones store photo orientation as an EXIF flag rather than rotating the actual pixel data. PDFFlare reads that flag and rotates each photo to upright automatically before embedding it. Portrait shots arrive portrait, landscape shots arrive landscape — no manual fix needed. **Q: Is there a limit on how many iPhone photos I can put in one PDF?** A: There's no hard limit. The tool processes everything in your browser, so the practical ceiling is your device's memory. iPhones easily handle 50–100 photos in a single PDF; older devices may struggle past 200. If you hit a limit, switch the Compression preset to 'Smaller file' to keep memory usage low. **Q: Why is my iPhone PDF so large, and how can I shrink it?** A: Modern iPhone photos are 3–5 MB each, so a 12-photo PDF can easily hit 50 MB. Two fixes: in PDFFlare's Photo to PDF tool, change Compression to 'Smaller file' (downscales to 1500px on the long edge and re-encodes at JPEG quality 65, typically 80% smaller), and if you need it smaller still, run the result through PDFFlare's Compress PDF tool for a second pass. **Q: Can I email a PDF of my iPhone photos directly from Safari?** A: Yes. After PDFFlare generates the PDF, iOS shows the standard Share Sheet. Tap Mail (or Messages, WhatsApp, etc.) and attach the PDF directly. You can also save it to Files first and attach it to any email later. Nothing about the flow requires installing an app. **Q: Do my iPhone photos get uploaded to a server when making the PDF?** A: No. PDFFlare's Photo to PDF tool runs entirely in your mobile browser using JavaScript and the Canvas API. Your photos are read into memory locally, drawn into a PDF, and downloaded back to you. Nothing is sent to any server, so the tool is safe for receipts, IDs, and other sensitive documents. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Reorder PDF Pages Online for Free (Drag & Drop) URL: https://pdfflare.com/blog/how-to-reorder-pdf-pages-free Published: April 15, 2026 Reading time: 6 min read > Learn how to rearrange pages in any PDF for free using PDFFlare. Drag and drop page thumbnails to reorder — no software, no signup needed. --- You have a PDF where the pages are out of order. Maybe you scanned a document upside-down, inherited a report with a misplaced appendix, or merged several files and the sequence isn't right. Whatever the reason, you need to rearrange PDF pages quickly — and you don't want to install software or create an account to do it. In this guide, you'll learn how to reorder PDF pages online for free using [PDFFlare's Rearrange PDF Pages tool](https://pdfflare.com/tools/pdf/rearrange-pdf-pages). The entire process happens in your browser — your file never leaves your device. ## Why Would You Need to Rearrange PDF Pages? PDFs are designed to look the same everywhere, but their page order isn't always perfect when you receive them. Common reasons to reorder include: - **Scanned documents in reverse:** Many flatbed scanners output pages back-to-front. - **Merged files with wrong sequencing:** After combining multiple PDFs, you may need to interleave or rearrange pages. - **Moving a cover page or appendix:** Reports sometimes need sections shifted to match a new structure. - **Printing preparation:** Booklet printing or duplex setups may require a specific page sequence. ## How to Reorder PDF Pages for Free (Step by Step) Follow these steps to rearrange pages in any PDF using PDFFlare: 1. **Open the tool:** Go to [PDFFlare's Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) page. 2. **Upload your PDF:** Click the upload area or drag and drop your file. Any multi-page PDF works — the tool needs at least 2 pages to reorder. 3. **Drag pages into the order you want:**Each page appears as a visual thumbnail. Click and drag any page to a new position. The original page number stays visible so you always know which page you're moving. 4. **Use quick actions (optional):**Click “Reverse order” to flip all pages at once. Hover over a page to see buttons that jump it to the first or last position. 5. **Download:**Click “Save Reordered PDF” to get your new file. The original PDF is never modified — you get a fresh copy with pages in the new order. ## Tips for Rearranging PDF Pages Effectively ### Reverse the Entire Document in One Click If you scanned a document back-to-front, don't drag every page manually. Click the “Reverse order” button to flip all pages instantly. This is the fastest way to fix documents scanned in the wrong direction. ### Check Page Numbers Before Downloading After rearranging, PDFFlare shows the new sequence (e.g., “3, 1, 2, 4”) in an indicator bar. Verify this matches what you intended before hitting download. If something looks wrong, click “Reset” to return to the original order. ### Combine with Other PDF Tools Need to do more than just reorder? After rearranging pages, you can [add page numbers](https://pdfflare.com/tools/pdf/add-page-numbers) to reflect the new sequence, or [remove unwanted pages](https://pdfflare.com/tools/pdf/remove-pdf-pages) from the result. All tools work client-side in your browser. ## Drag-and-Drop vs Page Range Selection: Which Approach to Use Different reordering tasks call for different approaches. Knowing which fits your situation saves time: - **Drag-and-drop (PDFFlare's default):** Best when you can see the visual content of pages and need to make judgment calls — moving a chart to a specific spot, putting photos in chronological order, restructuring a report. - **Reverse all pages (one click):** The fastest fix for back-to-front scans. No dragging needed — one button flips every page in the document. - **Move-to-first / move-to-last buttons:** Great for quickly relocating a single page (cover, summary, appendix) without dragging across many thumbnails. - **Page range syntax (in command-line tools):** Useful for scripting batch reorders. PDFFlare focuses on the visual workflow — for batch automation, look at PDFtk or qpdf instead. ## Common Mistakes When Rearranging PDF Pages - **Forgetting to verify the final order before downloading.** PDFFlare shows the new sequence in an indicator bar — check it matches what you wanted. Once downloaded, redoing the operation takes another upload. - **Confusing original page numbers with new positions.** The thumbnails show the page's ORIGINAL number, not its new sequence position. Watch the order indicator (e.g. “3, 1, 2, 4”) for the actual final order. - **Reordering before fixing rotation.** If pages are sideways, fix orientation first with [Rotate PDF](https://pdfflare.com/tools/pdf/rotate-pdf), then reorder. Otherwise the thumbnails are hard to read while you're dragging. - **Using reorder when you really need to remove pages.** If extra pages exist that shouldn't be in the final document, [Remove PDF Pages](https://pdfflare.com/tools/pdf/remove-pdf-pages) is the right tool. Reorder doesn't delete; it shuffles. - **Rearranging a password-protected PDF.** Locked PDFs need to be unlocked first using [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf). Reorder the unlocked file, then re-protect with [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) if needed. ## What Reordering Does and Doesn't Affect PDFFlare's reorder tool only changes the page sequence. It does not modify content, format, fonts, embedded media, or annotations. Specifically: - **Preserved:** All page content (text, images, graphics), annotations, form fields, fonts, embedded files, page metadata, document properties. - **Updated automatically:** Internal page references (when valid), the page index, the visible order in any PDF viewer. - **Not modified by reorder (use other tools):** Page numbers stamped on each page (those reflect original position — re-stamp via [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers)); table of contents entries (manually update or regenerate); bookmarks pointing at specific pages (may need to be re-set). ## Common Scenarios for PDF Page Reordering ### Fixing a Back-to-Front Scan You scanned a 20-page document and the output has page 20 first and page 1 last. Upload the PDF, click “Reverse order,” and download. Done in seconds. ### Moving the Summary to the Front of a Report Your report has the executive summary on page 8 but your manager wants it on page 1. Drag the page 8 thumbnail to the first position. All other pages shift down automatically. ### Reorganizing a Photo Album PDF You exported photos into a PDF but they're not in chronological order. Drag each page to arrange photos the way you want — the visual thumbnails make it easy to see which photo is on each page. ### Preparing Pages for Booklet Printing Booklet printing requires pages in a specific non-sequential order (e.g., 4-1-2-3 for a 4-page booklet). Drag pages into the printer-required sequence, download, and print. ## Workflow Notes Beyond the Basics Reordering PDF pages is one of those tasks that comes up unexpectedly often, especially when you receive scanned documents in the wrong order or merge files that should be interleaved. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Rearranging PDF pages doesn't require expensive software or technical knowledge. [PDFFlare's Rearrange PDF Pages tool](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) lets you drag, drop, and download — all in your browser, all for free. Your files stay private, and you get a clean PDF with pages exactly where you want them. ## Related Tools - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multiple PDFs into one - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — break a PDF into separate files - [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) — drag-and-drop reorder pages visually --- ## Frequently asked questions **Q: Can I rearrange PDF pages without installing software?** A: Yes. PDFFlare's Reorder PDF Pages tool runs entirely in your browser. Upload a PDF, drag thumbnails into the order you want, and download the result. No software installation needed. **Q: Is it safe to reorder PDF pages online?** A: Yes. PDFFlare processes your file locally in your browser — it never uploads to a server. Your document stays on your device the entire time. **Q: How do I reverse the page order of a scanned PDF?** A: Upload the PDF to PDFFlare's reorder tool and click the 'Reverse order' button. All pages flip instantly. Download the corrected file. **Q: Does reordering remove any content from my PDF?** A: No. Every page is copied exactly as-is into the new file. Text, images, annotations, and formatting are all preserved. Only the sequence changes. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Password Protect a PDF for Free (Step-by-Step Guide) URL: https://pdfflare.com/blog/how-to-password-protect-pdf-free Published: April 13, 2026 Reading time: 7 min read > Learn how to add password protection to any PDF file for free using PDFFlare. Encrypt your documents in seconds — no software, no signup, 100% private. --- Every day, millions of sensitive documents travel across the internet as unprotected PDF files — tax returns with social security numbers, signed contracts with financial details, medical records, and confidential business proposals. If any of those files land in the wrong inbox or get intercepted on an unsecured network, the contents are wide open for anyone to read. Password protecting a PDF is the simplest, most effective way to keep your documents private. In this guide, we will explain how PDF encryption works, walk you through the process step by step using [PDFFlare's free Password Protect PDF tool](https://pdfflare.com/tools/pdf/password-protect-pdf), and share best practices for choosing passwords that actually keep your files safe. ## Why Password Protect a PDF? You might think password protection is overkill for everyday documents, but consider how many sensitive files you handle in a typical week. Here are some of the most common scenarios where PDF encryption is not just helpful — it is essential: - **Tax documents and financial records:** Tax returns, W-2 forms, bank statements, and investment reports contain everything an identity thief needs. If you email these files to your accountant or store them in cloud storage, a password adds a critical layer of defense. - **Contracts and legal agreements:** Signed contracts often include personal addresses, payment terms, and confidential business details. Protecting them ensures only authorized parties can view the contents. - **Medical records:** Health information is among the most sensitive personal data. Whether you are sharing lab results with a specialist or storing your records digitally, encryption helps you comply with privacy expectations. - **Sharing via email:** Email is inherently insecure. Messages can be forwarded, accounts can be compromised, and attachments can be downloaded by unintended recipients. A password-protected PDF ensures that even if the email is intercepted, the document remains unreadable without the password. - **Internal business documents:** Employee records, salary information, strategic plans, and proprietary research should always be encrypted when stored or shared digitally. ## How PDF Password Protection Works When you password protect a PDF, the file is encrypted using a cryptographic algorithm — most commonly AES (Advanced Encryption Standard) with 128-bit or 256-bit keys. This means the actual content of the PDF is scrambled into unreadable data. Without the correct password to decrypt it, the file is effectively just random noise. PDF encryption supports two types of passwords, and understanding the difference is important: - **User password (open password):**This is the password required to open and view the document. If someone does not have this password, they cannot see any of the content. This is the most common type of PDF protection and the one most people mean when they say "password protect a PDF." - **Owner password (permissions password):** This password controls what actions are allowed on the document — printing, copying text, editing, or extracting pages. The document can still be opened and viewed without the owner password, but certain operations are restricted. For maximum security, set both passwords. The user password prevents unauthorized access entirely, while the owner password prevents authorized viewers from copying or modifying the content. PDFFlare's tool uses AES-256 encryption, which is the same standard used by governments and financial institutions worldwide. ## How to Password Protect a PDF with PDFFlare: Step-by-Step ### Step 1: Open the Password Protect Tool Navigate to [pdfflare.com/tools/pdf/password-protect-pdf](https://pdfflare.com/tools/pdf/password-protect-pdf). No account, no download, no installation. The tool loads in your browser and is ready to use immediately. ### Step 2: Upload Your PDF Click the upload area or drag and drop your PDF file. Your document is processed entirely in your browser — it is never uploaded to any server. This is a critical privacy advantage over other online tools that require you to upload sensitive documents to their cloud. ### Step 3: Set Your Password Enter a strong password in the password field. You will be asked to confirm it by typing it again. Choose a password that is at least 12 characters long and includes a mix of uppercase letters, lowercase letters, numbers, and special characters. ### Step 4: Download the Protected PDF Click **Protect**. PDFFlare encrypts your document using AES-256 encryption and generates a download link. Save the protected PDF to your device. From this point forward, anyone who tries to open the file will be prompted for the password. ## Tips for Choosing a Strong Password A password-protected PDF is only as secure as the password itself. Weak passwords can be cracked in seconds using automated tools. Follow these guidelines to choose a password that holds up: - **Length matters most:** Aim for at least 12 characters. Every additional character exponentially increases the time needed to crack the password. A 16-character password is billions of times stronger than an 8-character one. - **Mix character types:**Combine uppercase letters, lowercase letters, numbers, and symbols. Avoid dictionary words or common substitutions like "p@ssw0rd" — automated cracking tools check these first. - **Use a passphrase:**A random phrase like "correct-horse-battery-staple" is both strong and memorable. Four or more random words separated by hyphens create an extremely strong password that is easy to type. - **Use a password manager:** Tools like 1Password, Bitwarden, or the built-in password managers in Chrome and Safari can generate and store strong, unique passwords for you. This is the gold standard for password management. - **Never reuse passwords:** If you use the same password for your PDF and your email account, a breach of either one compromises both. Always use a unique password for each protected document. ## How to Remove a Password Later There are times when you need to remove the password from a protected PDF — perhaps you are archiving documents internally, sharing with a team that needs unrestricted access, or the document is no longer confidential. PDFFlare makes this just as easy as adding protection. Use the [Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf) to remove the password. You will need to provide the current password to unlock the file — this ensures that only authorized users can remove the protection. The process takes seconds: upload the protected PDF, enter the password, and download the unlocked version. The content remains exactly the same; only the encryption layer is removed. ## Alternatives: Other Ways to Protect PDFs PDFFlare is not the only way to add passwords to PDFs, but it is one of the most convenient. Here is how the alternatives compare: - **Adobe Acrobat Pro:** The industry standard for PDF manipulation, including encryption. However, it requires a paid subscription (starting around $20/month) and desktop installation. For occasional password protection, this is expensive overkill. - **macOS Preview:** On Mac, you can export a PDF with password protection using the built-in Preview app. It works but offers limited encryption options and no batch processing. - **Microsoft Word:** You can save a Word document as a password-protected PDF. This only works if you have the original Word file, not a standalone PDF. - **Other online tools:** Many websites offer PDF encryption, but most require you to upload your file to their servers. For sensitive documents, this defeats the purpose of protection. PDFFlare processes everything in your browser — your file never leaves your device. The key advantage of [PDFFlare's Password Protect tool](https://pdfflare.com/tools/pdf/password-protect-pdf) is the combination of strong encryption, complete privacy (no server uploads), zero cost, and zero friction. Open the page, drop in your PDF, set a password, and download — the entire process takes less than 30 seconds. ## Workflow Notes Beyond the Basics Password-protecting a PDF is a security primitive whose effectiveness depends on the strength of your password and the threat you're protecting against. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Password protecting a PDF is one of the easiest steps you can take to safeguard your sensitive information. Whether you are emailing tax documents, sharing contracts, or archiving medical records, AES-256 encryption ensures your content stays private even if the file falls into the wrong hands. Try [PDFFlare's free Password Protect PDF tool](https://pdfflare.com/tools/pdf/password-protect-pdf) today — it is fast, private, and requires no signup or software. And if you ever need to remove the password later, the [Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf) is just a click away. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) and [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf) — remove password protection from a PDF - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — add an electronic signature to your PDF - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — annotate and edit PDFs in your browser --- ## Frequently asked questions **Q: Is PDF password protection really secure?** A: Yes. PDFFlare uses AES-256 encryption, the same standard used by governments and financial institutions. With a strong password, a protected PDF is practically unbreakable. **Q: Can I remove the password later?** A: Yes. Use PDFFlare's Unlock PDF tool to remove password protection from any PDF you own. You will need to enter the current password to decrypt it. **Q: Does password protection change the PDF content?** A: No. The content, formatting, images, and metadata remain completely unchanged. The tool only adds an encryption layer around the existing file. **Q: Can I add different permissions, like “view but not print”, to a password-protected PDF?** A: Yes — PDFFlare's Password Protect tool supports permission flags separate from the password. You can allow viewing but disable printing, copying, or modifying the document. These flags are honored by most PDF viewers (Adobe Acrobat, Preview, Chrome's built-in viewer), though sophisticated users with PDF-editing tools can sometimes bypass them. For truly private content, use the password itself, not just permission flags. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Resize an Image Without Losing Quality URL: https://pdfflare.com/blog/resize-image-without-losing-quality Published: April 12, 2026 Reading time: 9 min read > Resize an image without losing quality — built-in presets for Instagram, YouTube, passport, and more, plus inline crop for off-aspect sources. Free, browser. --- You have a perfect photo, but it is the wrong size. Maybe it is too large for an email attachment, too small for a website banner, or the wrong dimensions for an Instagram post. Resizing should be simple, but if you do it carelessly you end up with a blurry, pixelated mess that looks worse than the original. The good news is that resizing an image without visible quality loss is entirely achievable — if you understand a few key principles and use the right tool. This guide covers everything you need to know about image resizing: when it is safe, when it is risky, the exact dimensions you need for every major platform, and how to resize any image for free using [PDFFlare's Resize Image tool](https://pdfflare.com/tools/image/resize-image). ## Why Image Size Matters The dimensions and file size of your images affect everything from page load speed to how your content appears on social media. Getting the size right is not just an aesthetic concern — it has real consequences: - **Web performance:**Images are typically the largest assets on a web page. An oversized hero image at 5000x3000 pixels might look fine, but it forces visitors to download megabytes of data they do not need. Google's Core Web Vitals penalize slow-loading pages, which directly impacts your search rankings. - **Social media requirements:** Every platform has specific size requirements. Upload an image with the wrong dimensions and the platform will crop it automatically — often cutting off important parts of your image. Getting the size right before uploading gives you full control. - **Email limits:** Most email providers limit attachment sizes to 25 MB. High-resolution photos from modern cameras can easily exceed this. Resizing and compressing before attaching is often necessary. - **Storage efficiency:** If you manage hundreds or thousands of images — for a website, product catalog, or digital archive — properly sized images save significant storage space and bandwidth costs over time. - **Print quality:** For printing, images need to be large enough to maintain sharpness at the print DPI (typically 300 DPI). An image that looks great on screen at 72 DPI may appear blurry when printed if it does not have enough pixels. ## Downscaling vs Upscaling: What Happens to Quality The single most important concept in image resizing is the difference between making an image smaller (downscaling) and making it larger (upscaling). These two operations have fundamentally different effects on quality. ### Downscaling: Safe and Effective When you reduce the dimensions of an image, you are discarding pixels. The resizing algorithm combines neighboring pixels into fewer, averaged pixels. Because you are starting with more data than you need, the result is sharp and clean. Downscaling a 4000x3000 photo to 1200x900 for a website banner produces an image that looks just as crisp at its smaller size. ### Upscaling: Proceed with Caution Upscaling is the opposite — you are asking the software to create pixels that did not exist in the original image. The algorithm has to guess what those new pixels should look like based on the surrounding data. This process, called interpolation, inevitably introduces some softness or blurriness. The more you upscale, the worse it gets. As a general rule, upscaling by 10-20% is usually acceptable. Upscaling by 200% or more will produce visibly degraded results. If you need a much larger version of an image, you are better off starting with a higher-resolution source or using AI-powered upscaling tools that are specifically designed for this task. ## Common Image Sizes (Built-In as Presets) Social media platforms, passport offices, and content hosts all have specific dimension requirements. Using the wrong size means your image gets cropped, stretched, or compressed in ways you did not intend. PDFFlare's [Resize Image tool](https://pdfflare.com/tools/image/resize-image) ships with a built-in **Preset** dropdown covering the most-requested sizes — pick one and the width and height auto-fill, no need to memorize numbers. ### Social media — Posts - **Instagram square post:** 1080 × 1080 pixels - **Instagram portrait post:** 1080 × 1350 pixels (4:5 ratio, recommended for maximum feed visibility) - **Instagram Story / Reel:** 1080 × 1920 pixels (9:16 ratio) - **Facebook post:** 1200 × 630 pixels - **X (Twitter) post:** 1600 × 900 pixels - **Pinterest pin:** 1000 × 1500 pixels (2:3 ratio) - **TikTok video cover:** 1080 × 1920 pixels - **LinkedIn post:** 1200 × 627 pixels ### Social media — Banners and headers - **X (Twitter) header:** 1500 × 500 pixels - **Facebook page cover:** 851 × 315 pixels - **LinkedIn personal banner:** 1584 × 396 pixels - **LinkedIn company page banner:** 1128 × 191 pixels - **YouTube channel art:** 2560 × 1440 pixels (safe text/logo area: centre 1546 × 423 pixels) - **Twitch profile banner:** 1200 × 480 pixels ### Thumbnails and covers - **YouTube thumbnail:** 1280 × 720 pixels (16:9, minimum 640 pixels wide) - **Podcast cover (Apple, Spotify):** 3000 × 3000 pixels - **Kindle / KDP eBook cover:** 1600 × 2560 pixels - **OG image (link previews on Facebook, LinkedIn, Slack, Discord):** 1200 × 630 pixels ### Passport, visa, and ID photos Document photos have strict size requirements that vary by country. The Resize tool includes presets for the most-requested combinations: - **US passport / visa:** 2 × 2 inches (600 × 600 pixels at 300 DPI), white background - **UK / Schengen visa:** 35 × 45 mm (413 × 531 pixels at 300 DPI), light grey or off-white background - **Indian passport / visa:** 35 × 45 mm (413 × 531 pixels at 300 DPI), white background, 70–80% face coverage - **Chinese passport / visa:** 33 × 48 mm (390 × 567 pixels at 300 DPI), white background - **Canadian passport:** 50 × 70 mm (591 × 827 pixels at 300 DPI), plain background ## How to Resize an Image with PDFFlare: Step-by-Step ### Step 1: Open the Resize Image Tool Go to [pdfflare.com/tools/image/resize-image](https://pdfflare.com/tools/image/resize-image). The tool works directly in your browser — no software to install and no account to create. ### Step 2: Upload Your Image Click the upload area or drag and drop your image file. PDFFlare supports JPG, PNG, WebP, and other common formats. Your image is processed entirely in your browser and never uploaded to any server. ### Step 3: Pick a Preset (or Set Custom Dimensions) Open the **Preset**dropdown and pick the platform and format you're targeting — Instagram square, YouTube thumbnail, X header, US passport, and dozens more. Width and height fill in automatically. If your target size isn't listed, leave the dropdown on _Custom_ and type the width and height in pixels manually. When using Custom, the **Maintain aspect ratio** toggle keeps the original proportions: changing one dimension auto-adjusts the other to prevent distortion. Leave this on for almost every use case. ### Step 4: Crop In-Place If the Aspect Ratio Doesn't Match If you pick a preset whose aspect ratio differs from your photo (for example, a square photo into a 16:9 YouTube thumbnail), the tool **automatically shows a draggable crop box** locked to the preset's aspect ratio. Drag the corners or edges to choose what stays in the frame — anything outside the box gets cut. The default is a centered crop, which works for most photos. Don't want to crop? Tick **Stretch instead of crop** below the preset dropdown. The cropper disappears and the image will be stretched to the target dimensions on resize. (Not recommended unless you specifically want the distorted look — you'll get a stretched, off-aspect image.) ### Step 5: Click Resize and Download Click **Crop & Resize** (or just **Resize Image**when no crop is needed). Both crop and resize happen in one operation, so you don't lose quality to a double save. The output is saved in the same format as the original. Click **Download Image** to save to your device. ## Tips for Maintaining Quality When Resizing Follow these best practices to get the sharpest results from every resize operation: - **Start with the highest resolution source:** Always resize from the original, full-resolution image. Resizing an image that has already been resized compounds quality loss with each generation. - **Keep the aspect ratio locked:** Stretching an image to fit non-matching dimensions distorts the content and looks unprofessional. If you need different proportions, the Resize tool now offers an **inline crop step** that opens automatically when a preset and your image disagree on aspect ratio — drag, click resize, done. No need to bounce between tools. - **Avoid repeated resizing:** Each resize operation introduces a tiny amount of interpolation artifacts. Resize once to your target dimensions rather than resizing incrementally. - **Choose the right format for export:** After resizing, consider whether your format is optimal. JPG is best for photos, PNG for images with text or transparency, and WebP for web use where smaller file sizes matter. - **Preview before saving:** Zoom in on important details — faces, text, product labels — to verify sharpness before committing to the resized version. ## After Resizing: Compress and Convert Resizing is often just one step in optimizing your images. After you have the right dimensions, you may want to further reduce file size or change the format: - **Compress your images:** Use [PDFFlare's Compress Image tool](https://pdfflare.com/tools/image/compress-image) to reduce file size without visible quality loss. This is especially useful for web images where every kilobyte affects page load speed. - **Convert between formats:** Use the [Convert Image tool](https://pdfflare.com/tools/image/convert-image) to switch between JPG, PNG, WebP, and other formats. Converting a PNG to WebP, for example, can reduce file size by 30% or more while maintaining the same visual quality. The combination of resizing, compressing, and converting gives you complete control over your images — ensuring they look great, load fast, and fit perfectly wherever you need them. ## Wrapping Up Resizing images does not have to mean sacrificing quality. By understanding the difference between downscaling and upscaling, starting with high-resolution sources, keeping the aspect ratio locked, and using the right tool, you can resize any image confidently for any platform or purpose. Try [PDFFlare's free Resize Image tool](https://pdfflare.com/tools/image/resize-image) — it is fast, private, and works entirely in your browser. No uploads, no software, no signup. ## Related Tools - [Compress Image](https://pdfflare.com/tools/image/compress-image) — reduce image file size without visible quality loss - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim images to any aspect ratio - [Convert Image](https://pdfflare.com/tools/image/convert-image) — convert between JPG, PNG, and WebP --- ## Frequently asked questions **Q: Does resizing an image reduce quality?** A: Enlarging an image can reduce quality because new pixels must be interpolated. Shrinking an image preserves quality since you are discarding pixels. For best results, start with the highest resolution source available. **Q: What is the best image format for resizing?** A: PNG is best for lossless resizing, especially for screenshots and graphics with text. JPG works well for photos but applies compression. WebP offers the best balance of quality and file size. **Q: Can I resize multiple images at once?** A: Yes. PDFFlare's Resize Image tool supports batch processing. Upload multiple images, set your target dimensions, and download all resized images at once. **Q: Should I always resize my images before uploading them to a website?** A: Yes — for any image displayed at a known size (a 600px-wide product photo on a 600px-wide column), pre-resize to that exact size. Browsers do scale images on the fly but downscaling a 4000x3000 photo to 600px wide every page load wastes bandwidth, slows the page, and degrades Core Web Vitals scores. Pre-resizing saves your visitors' bandwidth and improves load time. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # PNG vs JPG vs WebP: Which Image Format Should You Use? URL: https://pdfflare.com/blog/png-vs-jpg-vs-webp-comparison Published: April 11, 2026 Reading time: 9 min read > Compare PNG, JPG, and WebP image formats. Learn when to use each one for websites, social media, printing, and more. Includes a conversion tool. --- Choosing the right image format might seem like a trivial decision, but it has a significant impact on file size, visual quality, loading speed, and compatibility. Use the wrong format and your website loads slowly, your social media images look blurry, or your print files come out with unexpected artifacts. The three most common image formats on the web today are JPG (JPEG), PNG, and WebP. Each one has strengths and weaknesses, and the best choice depends entirely on what kind of image you are working with and where it will be used. This guide breaks down everything you need to know to make the right decision every time. ## Quick Comparison Before we dive into the details, here is a high-level comparison of the three formats: - **JPG:** Lossy compression, no transparency, best for photographs. Universally supported. Small file sizes for photos. - **PNG:** Lossless compression, supports transparency, best for logos, icons, and screenshots. Larger files than JPG for photos. - **WebP:** Both lossy and lossless modes, supports transparency and animation. About 30% smaller than JPG at equivalent quality. Supported by all modern browsers. That is the summary, but the details matter. Let us look at each format in depth. ## JPG/JPEG Explained JPG (also written as JPEG — they are the same format) has been the default image format for photographs since the mid-1990s. It uses lossy compression, which means it permanently discards some image data to achieve smaller file sizes. The amount of data discarded depends on the quality setting: higher quality means larger files with less visible loss, while lower quality means smaller files with more artifacts. ### When JPG is the Right Choice - **Photographs:** JPG was designed specifically for photographic images with smooth gradients, complex color variations, and natural scenes. Its compression algorithm is optimized for this type of content. - **Social media uploads:** Platforms like Instagram, Facebook, and X recompress uploaded images anyway, so starting with a well-optimized JPG gives you the best control over the final result. - **Email attachments:** When file size matters and visual perfection is less critical, JPG keeps attachments small and universally viewable. - **Product photography:** E-commerce sites need fast-loading product images. JPG at 80-85% quality offers an excellent balance of file size and visual clarity for product shots. ### When to Avoid JPG JPG struggles with images that have sharp edges, text, solid color blocks, or fine line art. These elements develop visible compression artifacts — blocky, smudgy areas around high-contrast edges. JPG also does not support transparency, so any transparent areas are flattened to a solid background color (usually white). ## PNG Explained PNG (Portable Network Graphics) was created in the late 1990s as a patent-free replacement for GIF. Unlike JPG, PNG uses lossless compression — it reduces file size without discarding any image data. Every pixel in the original image is preserved exactly in the compressed file. ### When PNG is the Right Choice - **Logos and icons:** Logos typically have sharp edges, solid colors, and sometimes text — exactly the content that JPG handles poorly. PNG preserves these elements perfectly. - **Screenshots:** Screenshots contain text, UI elements, and sharp edges that need to remain crisp. PNG is the go-to format for screen captures. - **Images with transparency:** PNG supports a full alpha channel, allowing pixels to be fully transparent, fully opaque, or any level in between. This is essential for logos, overlays, and design elements that need to float over different backgrounds. - **Graphics with text:** Any image that includes readable text — infographics, charts, diagrams, UI mockups — should use PNG to keep the text sharp and legible. - **Print-quality assets:**When you need to preserve every detail for professional printing, PNG's lossless compression ensures nothing is lost. ### When to Avoid PNG PNG files are significantly larger than JPG files for photographs. A photo saved as PNG might be 5 to 10 times larger than the same photo saved as JPG at high quality — with no visible difference to the human eye. For photo-heavy websites, using PNG instead of JPG or WebP would dramatically increase page load times. ## WebP Explained WebP is a modern image format developed by Google and first released in 2010. It supports both lossy compression (like JPG) and lossless compression (like PNG), along with transparency and animation. The key advantage is efficiency: WebP files are consistently smaller than their JPG or PNG equivalents at the same visual quality. ### Size Advantages Google's own studies show that lossy WebP images are 25-34% smaller than comparable JPG images at equivalent quality, and lossless WebP images are 26% smaller than PNGs. In practice, these savings compound across an entire website — a portfolio page with 20 images could save megabytes of bandwidth simply by switching from JPG to WebP. ### Browser Support In 2026, WebP is supported by all major browsers: Chrome, Firefox, Safari, Edge, and Opera. The compatibility concerns that limited adoption in earlier years are essentially resolved. The only situation where WebP might cause issues is when sharing images with users who open them in very old desktop software. ### When WebP is the Right Choice - **Website images:** If your images are primarily displayed on the web, WebP should be your default format. The file size savings translate directly into faster page loads and better Core Web Vitals scores. - **Web applications:**Apps that load many images benefit enormously from WebP's smaller file sizes, reducing both load times and bandwidth costs. - **Images with transparency on the web:** WebP offers transparency like PNG but at much smaller file sizes, making it ideal for transparent web graphics. ### When to Avoid WebP For print workflows, email attachments shared with non-technical recipients, or archival purposes where long-term compatibility matters, JPG or PNG remain safer choices. Some image editors and operating systems still do not open WebP files natively, which can confuse recipients who expect a familiar format. ## When to Use Each Format: A Decision Guide Here is a practical decision framework you can follow: - **Photograph for the web:** Use WebP (or JPG as a fallback). WebP offers the best compression for photos displayed in browsers. - **Photograph for email or sharing:** Use JPG. Universal compatibility ensures everyone can open and view it. - **Photograph for printing:** Use PNG or TIFF for maximum quality preservation. Avoid lossy formats if the image will be professionally printed. - **Logo or icon:** Use PNG for general use or SVG for web use. These formats preserve sharp edges and support transparency. - **Screenshot or diagram:** Use PNG. The lossless compression keeps text and UI elements perfectly sharp. - **Web performance optimization:** Use WebP wherever possible. Implement JPG or PNG fallbacks for edge cases. - **Transparent image for web:** Use WebP. It offers the same transparency as PNG at a fraction of the file size. ## How to Convert Between Formats Now that you know which format to use, you may need to convert existing images. PDFFlare makes this effortless: - **Convert between JPG, PNG, and WebP:** Use [PDFFlare's Convert Image tool](https://pdfflare.com/tools/image/convert-image) to switch between any supported format. Upload your image, choose the target format, and download the converted file in seconds. Everything is processed in your browser for complete privacy. - **Reduce file size after converting:** Use the [Compress Image tool](https://pdfflare.com/tools/image/compress-image) to further optimize your images for web use. This is especially useful when converting PNG files (which tend to be large) to smaller, web-friendly versions. - **Resize to specific dimensions:** If you also need to change the image dimensions, the [Resize Image tool](https://pdfflare.com/tools/image/resize-image) handles that in one step — resize and format conversion together. ## Workflow Notes Beyond the Basics Choosing between PNG, JPG, and WebP is a decision that compounds over years of a website or product, and the right call depends on use case rather than universal preference. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up There is no single "best" image format — only the best format for your specific use case. JPG remains the universal choice for photographs, PNG is unbeatable for graphics with sharp edges and transparency, and WebP is the modern standard for web performance where every kilobyte counts. The key takeaway: choose your format based on the content type and the destination. And when you need to switch formats, PDFFlare's [free Convert Image tool](https://pdfflare.com/tools/image/convert-image) makes conversion instant, private, and effortless. ## Related Tools - [Convert Image](https://pdfflare.com/tools/image/convert-image) — switch between PNG, JPG, and WebP formats - [Compress Image](https://pdfflare.com/tools/image/compress-image) — shrink image file sizes for the web - [Resize Image](https://pdfflare.com/tools/image/resize-image) — change image dimensions with precision --- ## Frequently asked questions **Q: Which image format is best for websites?** A: WebP is the best format for websites in most cases. It produces smaller files than both JPG and PNG at equivalent quality, and all modern browsers support it. Use JPG for photos if you need maximum compatibility, and PNG only when you need transparency. **Q: Does converting between formats lose quality?** A: Converting from a lossy format (JPG) to another lossy format causes some quality loss. Converting from lossless (PNG) to lossy (JPG/WebP) loses some detail. Converting from any format to PNG is lossless. **Q: Can I convert between these formats for free?** A: Yes. PDFFlare's Image Converter handles conversions between JPG, PNG, and WebP for free, right in your browser. No uploads to external servers. **Q: Should I always use WebP if browsers support it?** A: WebP is the right default for new web projects, but a few cases still favor JPG or PNG. JPG remains the universal exchange format — email attachments, print workflows, photo-frame displays often don't support WebP. PNG is required for transparent UI assets in older platforms. For a website serving modern browsers, WebP for content + JPG fallback covers everyone. For transactional or B2B use, JPG is still the safest single format to ship. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Rotate a PDF: Fix Sideways and Upside-Down Pages URL: https://pdfflare.com/blog/how-to-rotate-pdf-fix-pages Published: April 7, 2026 Reading time: 6 min read > Fix sideways or upside-down PDF pages in seconds. Rotate individual pages or the entire document — free, browser-based, no software needed. --- Few things are more frustrating than opening a PDF and finding that half the pages are sideways, upside down, or rotated at random angles. It happens constantly — scanners output pages in the wrong orientation, phone cameras save documents in landscape when you wanted portrait, and merged PDFs combine pages with inconsistent rotations. The document is otherwise fine; it just needs to be rotated so it reads correctly. Fortunately, rotating a PDF is one of the fastest fixes you can make. This guide explains why PDFs end up with incorrect rotation, walks you through the fix using [PDFFlare's free Rotate PDF tool](https://pdfflare.com/tools/pdf/rotate-pdf), and covers the common scenarios where rotation is needed. ## Why PDF Pages End Up Sideways Understanding why pages get rotated helps you prevent the problem in the future and fix it more efficiently when it does occur. Here are the most common causes: - **Scanners and copiers:** Document scanners often output pages in the orientation they were physically placed on the glass, regardless of the actual content direction. A landscape-oriented certificate scanned in portrait mode ends up sideways in the resulting PDF. - **Phone camera scans:**When you photograph a document with your phone, the orientation depends on how you held the device. The phone's accelerometer tries to detect orientation, but it frequently gets it wrong — especially when the phone is angled or held above a flat surface. - **Mixed-orientation documents:** Some PDFs intentionally contain both portrait and landscape pages — for example, a report with portrait text pages and landscape data tables or charts. When these are combined or exported, the rotation metadata can become inconsistent. - **Incorrect PDF metadata:** PDFs store a rotation value in their page metadata (0, 90, 180, or 270 degrees). Some PDF creation software sets this value incorrectly, causing viewers to display the page in the wrong orientation even though the underlying content is correct. - **Merging PDFs from different sources:** When you combine PDFs created by different applications or scanners, each source may use different rotation conventions, resulting in a merged document where some pages are sideways. ## How to Rotate a PDF with PDFFlare: Step-by-Step ### Step 1: Open the Rotate PDF Tool Head to [pdfflare.com/tools/pdf/rotate-pdf](https://pdfflare.com/tools/pdf/rotate-pdf). No account required, no software to install, and no waiting — the tool loads in your browser and is ready to use immediately. ### Step 2: Upload Your PDF Click the upload area or drag and drop your PDF file. PDFFlare renders a thumbnail preview of every page so you can see exactly which pages need rotation. Your file stays in your browser and is never uploaded to any server. ### Step 3: Rotate Pages Click the rotation button on any page thumbnail to rotate it 90 degrees clockwise. Click again for 180 degrees, and again for 270 degrees (90 degrees counter-clockwise). You can rotate individual pages independently or use the "Rotate All" button to rotate every page at once. ### Step 4: Download the Corrected PDF Once every page is oriented correctly, click **Save** and download the fixed PDF. The content, quality, and file structure are preserved exactly — only the rotation metadata is changed. The file size remains virtually identical to the original. ## Rotating Individual Pages vs All Pages PDFFlare gives you the flexibility to handle both scenarios: ### Rotate All Pages Use this when every page in the document has the same rotation problem — for example, a scanned document where the entire batch was fed through the scanner in the wrong orientation. One click rotates the entire document by 90, 180, or 270 degrees. ### Rotate Individual Pages Use this when only some pages need correction. This is common in merged documents where landscape tables or charts are mixed with portrait text pages. Click the rotation button on each page that needs fixing while leaving the correctly oriented pages untouched. The page thumbnail preview makes it easy to identify which pages need attention without guessing or manually opening the PDF in a viewer to check. ## Common Situations That Need PDF Rotation Rotation problems come up in a variety of everyday workflows. Here are some of the most frequent scenarios: - **Scanned documents:** Office scanners, especially older models, frequently produce sideways pages. Fixing the rotation after scanning is faster than re-scanning the entire batch. - **Job applications:** Many application portals require all documents to be properly oriented. Submitting a resume or transcript with sideways pages looks unprofessional and may cause automated parsing systems to fail. - **Government forms:** Tax forms, permit applications, and official documents often arrive as PDFs with inconsistent page orientations, especially when they combine forms from multiple agencies. - **Landscape tables in portrait documents:** Reports and academic papers frequently include wide data tables or charts in landscape orientation within an otherwise portrait document. When extracted or re-combined, these pages can lose their intended rotation. - **Real estate and legal documents:** Contracts, floor plans, and property documents are often scanned from physical copies with mixed orientations that need correction before sharing with clients. ## After Rotating: Other PDF Tools You Might Need Rotation is often just the first step in getting a PDF into shape. Once your pages are correctly oriented, you might need to: - **Merge multiple PDFs:** Use [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) to combine several corrected documents into one file. - **Compress the file:** Scanned PDFs are often larger than they need to be. Run the document through [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) to reduce the file size for easier sharing and storage. - **Split into sections:** If you only need certain pages from a large rotated document, use [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) to extract just the pages you need. All of these tools work the same way — directly in your browser, with no uploads, no accounts, and no watermarks. ## Common PDF Rotation Mistakes - **Rotating after stamping page numbers.** If you already added page numbers, rotating the page rotates the number too — it ends up sideways. Always rotate first, then number. Or strip and re-stamp numbers after rotation. - **Rotating the entire PDF when only one page is sideways.** Rotating ALL pages flips correct ones the wrong way. Use the per-page rotation option to fix only the affected pages. - **Confusing rotation direction.**“Rotate 90° clockwise” vs “90° counterclockwise” — picking the wrong one means rotating it back, then trying again. Preview before downloading. - **Forgetting that scanned PDFs may be image-based.** Rotation is fully lossless for digital PDFs. For scanned PDFs, the underlying image gets rotated — still lossless, but OCR layers may need to be re-run if you OCR'd before rotating. - **Rotating a password-protected PDF.** Locked PDFs need to be unlocked first via [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf). Rotate the unlocked file, re-protect via [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) if needed. ## When Rotation Should Be Applied at the Source Rotation in a PDF is a metadata flag that tells viewers how to display the page. The underlying content isn't physically rotated — most viewers respect the flag and display correctly, but some older tools or printers ignore the metadata and show the page in its original orientation. For maximum compatibility (especially when sending to clients who may print on legacy hardware), regenerate the PDF from the source document already in the correct orientation rather than relying on the rotation metadata. PDFFlare's rotation handles this correctly by writing rotated pages, but always test the result if the recipient's tooling is unknown. ## Workflow Notes Beyond the Basics Rotated PDF pages are one of those nuisances that show up most often after scanning, where a flatbed scanner misorients pages or a multi-page feeder reverses some pages. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Sideways and upside-down PDF pages are an annoying but easily fixable problem. Whether you are dealing with a single rotated page or an entire document scanned in the wrong orientation, [PDFFlare's Rotate PDF tool](https://pdfflare.com/tools/pdf/rotate-pdf) lets you correct the issue in seconds — for free, in your browser, with zero quality loss. Stop squinting at sideways pages. Fix the rotation, download the corrected PDF, and move on with your day. ## Related Tools - [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) — reorder pages after rotating them - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — extract specific pages into new files - [Remove PDF Pages](https://pdfflare.com/tools/pdf/remove-pdf-pages) — delete unwanted pages from a PDF --- ## Frequently asked questions **Q: Can I rotate just one page in a PDF?** A: Yes. PDFFlare's Rotate PDF tool lets you select individual pages and rotate them independently. You can rotate specific pages 90, 180, or 270 degrees while leaving the rest unchanged. **Q: Does rotating a PDF reduce quality?** A: No. Rotating a PDF changes the page orientation metadata without reprocessing the content. Text, images, and formatting remain pixel-perfect. **Q: Can I rotate a scanned PDF?** A: Yes. Scanned PDFs rotate the same way as any other PDF. The scanned images are simply displayed at the new orientation. **Q: Why is my PDF showing rotated pages even after I “rotated” them in Preview?** A: Preview's built-in rotation often only rotates the view, not the underlying page data. The PDF still has the original orientation embedded, so it displays rotated in Preview but reverts when opened elsewhere. PDFFlare's Rotate PDF tool actually changes the page orientation in the file itself — the rotation persists across every viewer. Look for “Save” (not just close) after rotating in Preview, or use a tool that does it properly. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Remove Pages from a PDF (Without Losing Quality) URL: https://pdfflare.com/blog/how-to-remove-pages-from-pdf Published: April 5, 2026 Reading time: 6 min read > Delete unwanted pages from any PDF file for free. Remove blank pages, cover sheets, or confidential sections — no software, no quality loss. --- You have a PDF that is almost perfect — except for a few pages that should not be there. Maybe it is a blank page left over from scanning, a cover sheet that is no longer relevant, an outdated appendix, or a section containing confidential information that you need to strip out before sharing. Whatever the reason, you need a way to remove specific pages without affecting the rest of the document. Removing pages from a PDF is fast and straightforward with the right tool. This guide walks you through the process using [PDFFlare's free Remove PDF Pages tool](https://pdfflare.com/tools/pdf/remove-pdf-pages), explains the difference between removing and splitting, and shares tips for working efficiently with large documents. ## When You Need to Remove PDF Pages Page removal is one of the most common PDF operations, and it comes up in a wide variety of situations: - **Blank pages from scanning:** Document scanners frequently produce blank pages, especially when scanning double-sided documents where one side is empty. These blank pages add unnecessary bulk to the file and look unprofessional when shared. - **Cover sheets and title pages:** When distributing sections of a larger document, the original cover page or table of contents may no longer be relevant and should be removed. - **Outdated appendices or sections:** Reports and manuals often have appendices that become outdated. Rather than recreating the entire document, you can simply remove the obsolete pages. - **Confidential or sensitive sections:** Before sharing a document externally, you may need to remove pages that contain salary information, proprietary data, personal details, or internal notes that are not meant for outside eyes. - **Duplicate pages:** PDFs created by merging multiple files sometimes contain duplicate pages that need to be cleaned up. - **Preparing documents for submission:** Many application portals, government agencies, and institutions have specific requirements about what pages should be included. Removing extraneous pages ensures your submission is clean and compliant. ## Removing Pages vs Splitting a PDF: What is the Difference? These two operations are closely related and easy to confuse, but they serve different purposes: - **Removing pages:** You start with a PDF and delete specific pages from it. The output is a single PDF with fewer pages than the original. Use this when you want to clean up a document by getting rid of unwanted content. - **Splitting a PDF:** You start with a PDF and break it into multiple separate files. The output is two or more PDFs. Use this when you want to extract specific sections as standalone documents — for example, pulling chapters from a book or isolating individual invoices from a batch. If you need to extract pages into a separate file rather than simply delete them, use [PDFFlare's Split PDF tool](https://pdfflare.com/tools/pdf/split-pdf) instead. Both tools are free, browser-based, and process files locally on your device. ## How to Remove Pages with PDFFlare: Step-by-Step ### Step 1: Open the Remove Pages Tool Navigate to [pdfflare.com/tools/pdf/remove-pdf-pages](https://pdfflare.com/tools/pdf/remove-pdf-pages). No signup needed, no software to download, and no waiting. The tool is ready to use in your browser. ### Step 2: Upload Your PDF Click the upload area or drag and drop your PDF file. PDFFlare generates thumbnail previews of every page so you can visually identify which pages to remove. Your file remains in your browser and is never uploaded to any server. ### Step 3: Select Pages to Remove Click on the pages you want to delete. Selected pages are highlighted so you can clearly see what will be removed. You can click a page again to deselect it if you change your mind. For large documents, the page previews make it easy to spot blank pages, duplicate content, or sections you want to remove. ### Step 4: Download the Cleaned PDF Click **Remove** and download the updated PDF. The remaining pages are preserved exactly as they were — same quality, same formatting, same fonts, same everything. Only the selected pages are gone. The file size decreases proportionally to the amount of content removed. ## Tips for Working with Large PDFs When you are dealing with PDFs that have dozens or hundreds of pages, a few strategies can make the process more efficient: - **Remove pages first, then compress:** If your goal is to reduce file size, start by removing unnecessary pages. Then run the slimmed-down PDF through [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) for maximum size reduction. Removing pages first means the compressor has less data to process, resulting in faster compression and a smaller final file. - **Check the page count before sharing:** After removing pages, verify that the final document has the expected number of pages. This is especially important for formal submissions where the page count matters — scholarship applications, legal filings, or regulatory documents. - **Keep the original as a backup:** Always save the original PDF before making changes. Once pages are removed and the file is saved, the deleted content cannot be recovered from the modified file. Having the original means you can always go back if you need those pages later. - **Review thumbnails carefully:** In large documents, it is easy to accidentally select the wrong page. Take a moment to review the selected pages in the thumbnail view before clicking Remove, especially when working with documents where pages look similar. ## Common Mistakes When Removing PDF Pages - **Removing pages without keeping the original.** Always download a backup of the original before deleting pages. PDFFlare creates a new file rather than modifying yours, but you should still archive the source — useful if you accidentally delete a page you needed. - **Forgetting that page numbers shift after removal.** If your PDF has stamped page numbers (1, 2, 3, ...) and you remove page 2, the file now reads 1, 3, 4, .... Re-stamp with [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers) after removal for clean sequence. - **Trying to remove signed or certified pages.** A digitally signed PDF's signature becomes invalid the moment any page is removed. If you must remove a page from a signed PDF, you'll need a new signature on the result. - **Removing pages that have internal references.** If page 8 says “see page 12 for details” and you delete page 12, the reference becomes a dangling link in the new document. Update references before or after page removal. - **Using remove-pages when split-pdf is more appropriate.**If you're extracting a small section of a large document, splitting that section out (preserving the source) is often better than deleting everything else. ## Use Cases Where Page Removal Saves the Day - **Scrubbing personal info before sharing.** Strip cover pages with personal names, signatures, or social security numbers when sharing a contract template. - **Cleaning blank scanner output.** Flatbed scanners often output blank pages between actual content pages. Remove them for a tidier file. - **Removing duplicate or test pages.** Multi-page scans often include test pages, color calibration sheets, or duplicates from misfeeds. Strip them. - **Trimming oversized reports.** A 200-page report you only need 20 pages of — remove the rest, share the focused subset. ## Related Tools for Managing PDF Pages Removing pages is one of several page-management operations that PDFFlare offers. Depending on your needs, you might also want to explore: - **Split PDF:** [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) lets you break a document into multiple separate files. Extract specific page ranges, split by bookmark, or create one file per page. - **Merge PDF:** [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) combines multiple PDFs into a single document. After removing pages from several files, you can merge the cleaned versions into one. - **Rotate PDF:** [Rotate PDF](https://pdfflare.com/tools/pdf/rotate-pdf) fixes pages that are sideways or upside down. This pairs well with page removal — first fix the rotation, then remove any unwanted pages. All of these tools are free, work entirely in your browser, and process your files without uploading them to any server. ## Workflow Notes Beyond the Basics Removing pages from a PDF is an operation that sounds harmless until you realize how often it intersects with bookmarks, page references, and version control questions. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Removing pages from a PDF is a simple operation that makes a big difference. Whether you are cleaning up blank scanner pages, stripping confidential sections before sharing, or trimming a document down to just the pages that matter, [PDFFlare's Remove PDF Pages tool](https://pdfflare.com/tools/pdf/remove-pdf-pages) gets it done in seconds — with zero quality loss, zero cost, and complete privacy. Drop in your PDF, click the pages you do not need, and download the cleaned result. It is that simple. --- ## Frequently asked questions **Q: Can I remove pages from a password-protected PDF?** A: You need to unlock the PDF first. Use PDFFlare's Unlock PDF tool to remove the password, then use Remove Pages to delete the pages you do not need. **Q: Does removing pages affect the remaining content?** A: No. Removing pages only deletes the selected pages. All remaining pages keep their original content, formatting, and quality. **Q: Can I undo after removing pages?** A: The original file is never modified. PDFFlare creates a new PDF without the removed pages. Your original file remains unchanged on your device. **Q: What happens to bookmarks and table-of-contents links when I remove pages?** A: Bookmarks pointing at removed pages become dangling links — the bookmark still exists but jumps to whatever page is now in that position. PDFFlare's Remove Pages tool keeps the bookmark structure intact; rebuild the bookmarks if your document relies on a clean table of contents. For most short documents this isn't an issue, but it matters for technical manuals or legal filings with complex outlines. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Edit a PDF in Your Browser (No Software Needed) URL: https://pdfflare.com/blog/how-to-edit-pdf-in-browser Published: April 10, 2026 Reading time: 8 min read > Learn how to edit a PDF in your browser with PDFFlare. Add text, shapes, highlights, and images to any PDF — free, private, and no software required. --- For years, editing a PDF meant buying Adobe Acrobat, wrestling with clunky desktop software, or uploading your documents to sketchy websites that promised free editing but hid watermarks and paywalls behind every button. Whether you needed to fix a typo, add a signature, or annotate a contract, the process was slower and costlier than it had any right to be. That has changed. Modern browsers are powerful enough to edit PDFs directly on your device — no uploads, no installs, no subscriptions. In this guide, we will show you how to edit any PDF using [PDFFlare's free Edit PDF tool](https://pdfflare.com/tools/pdf/edit-pdf), cover the most common editing tasks, and explain why browser-based editing is safer and faster than traditional methods. ## What Can You Actually Edit in a PDF? PDF editing usually falls into two categories: **adding new content on top of an existing PDF** (annotations) and **modifying the original content**(replacing the underlying text or images). PDFFlare's Edit PDF tool focuses on the first category, which covers the vast majority of everyday editing needs: - **Add text:** Type directly onto the PDF to fill forms, add comments, or insert new information. - **Draw shapes:** Insert rectangles, circles, arrows, or freehand lines to mark up diagrams and highlight important areas. - **Highlight text:** Apply translucent color over sections of text just like a yellow highlighter. - **Whiteout content:** Cover mistakes, redact sensitive information, or remove unwanted elements. - **Insert images:** Add logos, signatures, or photos anywhere in the document. - **Freehand drawing:** Sign documents by hand or sketch notes directly on the page. ## Why Edit PDFs in the Browser Instead of Downloading Software? Browser-based PDF editing has become practical thanks to improvements in WebAssembly, HTML canvas, and JavaScript libraries like pdf.js and pdf-lib. The benefits over traditional software are substantial: - **Privacy:** Your PDF never leaves your computer. Unlike cloud-based editors that upload your file to a server, PDFFlare processes everything locally in your browser tab. Nobody — not even us — ever sees your document. - **No installation:** Nothing to download, update, or uninstall. The tool loads in seconds on any device with a modern browser, including Chromebooks and tablets. - **Cross-platform:** Works on Windows, macOS, Linux, iOS, and Android. Start editing on your laptop and continue on your phone without any sync service. - **No watermarks or limits:** Many free PDF editors silently add branding to your exports or cap the number of edits. PDFFlare is truly free with no watermarks ever. - **Instant start:** There is no account to create, no email to confirm, and no trial period. Drop in a PDF and start editing. ## How to Edit a PDF with PDFFlare: Step-by-Step ### Step 1: Open the Edit PDF Tool Head to [pdfflare.com/tools/pdf/edit-pdf](https://pdfflare.com/tools/pdf/edit-pdf). The editor loads in seconds. No signup, no software, no waiting. ### Step 2: Upload Your PDF Click the upload area or drag and drop your PDF file. Your document appears immediately in the editor canvas, rendered at a high resolution so you can see every detail clearly. Multi-page PDFs show a page sidebar you can click through. ### Step 3: Choose a Tool The toolbar at the top gives you every editing option: text, shapes (rectangle, circle, arrow), highlighter, whiteout, freehand draw, and image insert. Click any tool and then click or drag on the page to use it. A property panel on the right lets you adjust color, size, font, and opacity. ### Step 4: Make Your Edits Add as many annotations as you need. Every element is editable after you place it — click to select, drag to move, or use the handles to resize and rotate. The undo and redo buttons let you step back through your changes at any time. ### Step 5: Save and Download When you are finished, click **Save**. PDFFlare merges your annotations back into the original PDF, preserving the underlying text and vector content so the file stays small and searchable. Click **Download** to save the edited PDF to your device. ## Common PDF Editing Tasks and How to Handle Them ### Filling Out a Form Got a PDF form that is not interactive? Use the text tool to type directly into the form fields. Adjust the font size to match the existing layout and place your text exactly where you need it. This is especially handy for government forms, tax documents, and rental applications that come as flat PDFs. ### Signing a Document Use the freehand draw tool to sign with your trackpad, touchscreen, or mouse. You can also insert a signature image if you already have one saved. The final signed PDF looks identical to a scanned physical signature and is accepted by most businesses and institutions. ### Redacting Sensitive Information Use the whiteout tool to cover social security numbers, account details, or any private data before sharing a document. Draw a white rectangle over the sensitive area — it completely obscures the original text from view. ### Marking Up a Contract Combine highlighting and text annotations to review contracts. Highlight clauses you want to discuss, add comments in the margins with the text tool, and use shapes to draw attention to specific sections before sending the marked-up version back for discussion. ### Adding a Company Logo Use the image insert tool to drop a logo onto letterheads, invoices, or brochures. PDFFlare supports PNG, JPG, and WebP images, and lets you resize and reposition them freely. ## Tips for the Best Editing Experience - **Start with a clean source:** If your PDF is a low-quality scan, consider running it through [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) first to normalize its resolution for smoother editing. - **Use undo liberally:** Experiment without fear — the undo button is one click away. PDFFlare keeps a full edit history until you save. - **Zoom in for precision:** Use the zoom controls to place text and shapes with pixel-level accuracy on small form fields or dense diagrams. - **Save frequently:** Since the editor runs in your browser, closing the tab or refreshing the page will clear your work. Click Save periodically during long editing sessions. - **Combine with other tools:** Need to edit just one page of a long document? Use [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) first to extract that page, edit it, then [merge it back](https://pdfflare.com/tools/pdf/merge-pdf). ## Frequently Asked Questions ### Can I edit the original text in a PDF? PDFFlare's Edit PDF tool lets you add text on top of the PDF, not modify the existing text content of the document. If you need to change the original text, the cleanest approach is to [convert the PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word), make your edits in Word, and then export back to PDF. ### Are there file size limits? The editor handles PDFs up to 100 MB comfortably. Larger files may work but can slow down on older hardware. For very large documents, splitting the PDF first usually gives a smoother experience. ### Will my edits look the same on other devices? Yes. When you save, PDFFlare merges your annotations directly into the PDF file. Anyone who opens the edited PDF — in any viewer, on any device — will see your edits exactly as you placed them. ### Can I edit password-protected PDFs? You will need to remove the password first using our [Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf). After unlocking, you can edit the file normally and, if needed, re-apply protection with our [Password Protect PDF tool](https://pdfflare.com/tools/pdf/password-protect-pdf) afterwards. ### Is my PDF really private? Yes. The Edit PDF tool runs entirely in your browser using WebAssembly. Your file is never transmitted to any server, never stored in any cloud, and never visible to PDFFlare or anyone else. You can even use the tool offline after the page has loaded. ## Workflow Notes Beyond the Basics Editing PDFs in the browser is one of those workflows that became practical only in the last few years as canvas APIs matured and PDF parsers improved. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Editing a PDF no longer requires expensive software or risky online uploads. With [PDFFlare's free browser-based editor](https://pdfflare.com/tools/pdf/edit-pdf), you can add text, shapes, highlights, signatures, and images to any PDF in seconds — all while keeping your files completely private. Whether you need to fill out a form, mark up a contract, or redact sensitive information, the whole workflow happens in one tab, on your own device, with nothing to install. Give it a try with your next PDF and experience how fast, private PDF editing should feel. ## Related Tools - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — add a signature to your PDF - [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers) — insert page numbers after editing - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine your edited PDF with other files --- ## Frequently asked questions **Q: Can I edit text directly in a PDF?** A: PDFFlare's editor lets you add new text, shapes, highlights, and signatures on top of the PDF. To edit existing text within the document, you would need to convert it to Word first using PDFFlare's PDF to Word tool, make changes, then convert back. **Q: Does my PDF get uploaded to a server?** A: No. PDFFlare's PDF editor processes everything in your browser. Your file never leaves your device, making it completely private and secure. **Q: Can I add a signature to a PDF?** A: Yes. The editor includes a signature tool that lets you draw or type your signature and place it anywhere on the document. **Q: Can I edit existing text inside a PDF, not just add new text on top?** A: PDFFlare's editor lets you add new text, images, shapes, and annotations on top of the existing PDF. Editing the embedded text within the original PDF (replacing words, fixing typos in scanned documents) requires a different workflow — convert to Word first, edit, convert back. For most edits — fillable forms, signatures, redactions — adding on top of the existing PDF is faster and safer. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert PDF to Word While Preserving Formatting URL: https://pdfflare.com/blog/convert-pdf-to-word-preserve-formatting Published: April 9, 2026 Reading time: 7 min read > Convert PDF to Word without losing fonts, layout, or images. PDFFlare's free PDF to Word converter keeps formatting intact — fast and secure. --- You have a PDF in hand, and you need to edit it in Microsoft Word. Maybe it is a report draft that came back from a reviewer, a resume you need to update, or a contract you need to customize. The challenge is that PDFs and Word documents are fundamentally different formats, and poor conversions lead to broken layouts, missing fonts, and images landing in random places. In this guide, we will explain why formatting breaks during PDF to Word conversion, show you how to minimize the damage, and walk through how to convert your PDFs using [PDFFlare's free PDF to Word converter](https://pdfflare.com/tools/pdf/pdf-to-word). ## Why Do PDF to Word Conversions Lose Formatting? PDFs are designed for display consistency: a PDF looks identical on every device, every printer, and every operating system. To guarantee that consistency, PDFs store content as fixed positions on a page — each character, image, and line is placed at exact coordinates. There is no concept of paragraphs, columns, or tables in the PDF format itself; those structures exist only in how humans interpret the visual output. Word documents, by contrast, are designed for editing. They store content semantically — as flowing paragraphs, heading styles, numbered lists, and table cells. When you convert a PDF to Word, the software has to reverse-engineer the semantic structure from the visual layout, which is much harder than it sounds. Here is what commonly goes wrong: - **Text flows incorrectly:** Columns get merged, paragraphs break in unexpected places, and line breaks appear mid-sentence. - **Fonts substitute:** If your PDF uses a font not installed on the target computer, Word picks a similar-looking replacement, subtly shifting spacing and line lengths. - **Tables become images:** Complex tables may be converted into static pictures instead of editable table structures. - **Images drift:** Photos and graphics may be anchored to the wrong paragraph, causing them to move as you edit. - **Headers and footers disappear:** Repeating page elements may be converted into regular text on each page instead of proper Word headers and footers. ## What Makes a PDF Easy vs. Hard to Convert? The quality of your conversion depends heavily on the source PDF. Some PDFs convert nearly perfectly, while others produce a garbled mess. Here is how to tell which category your file falls into: ### Easy to Convert: Native Digital PDFs PDFs exported directly from Word, Google Docs, or other word processors are the easiest to convert back. They retain a logical text structure that conversion tools can parse and rebuild into a clean Word document. Text is selectable, fonts are embedded, and paragraph flow is usually correct. ### Moderate: Designed Layouts PDFs from design tools like Adobe InDesign or Illustrator look beautiful but use complex multi-column layouts, floating text boxes, and custom fonts. Conversion works but usually requires manual cleanup afterwards — especially for columns and tables. ### Hard: Scanned Documents A PDF created by scanning a paper document is really an image wrapped in a PDF container. Without text recognition (OCR), there is nothing to convert — the resulting Word document will just contain the same image. PDFFlare automatically detects scanned PDFs and applies OCR to extract the text before conversion. ## How to Convert PDF to Word with PDFFlare ### Step 1: Open the PDF to Word Tool Navigate to [pdfflare.com/tools/pdf/pdf-to-word](https://pdfflare.com/tools/pdf/pdf-to-word). No signup or download required. ### Step 2: Upload Your PDF Click the upload area or drag and drop your file. PDFFlare analyzes the PDF structure, detects whether it is a digital or scanned document, and shows you a preview of the first page. ### Step 3: Choose Output Options Select the output format: **.docx** (modern Word format, recommended) or **.doc** (legacy format for older software). You can also choose whether to preserve the visual layout exactly or let Word reflow the text more freely for easier editing. ### Step 4: Convert and Download Click **Convert**. PDFFlare processes your file and returns a downloadable .docx document. Open it in Word, Google Docs, or LibreOffice and begin editing. ## Tips to Preserve Formatting During Conversion - **Start with the source when possible:** If the original Word document still exists, use that instead of converting from PDF. Conversion is always lossy to some degree. - **Install the PDF's fonts:** If your converted Word document looks slightly off, check which fonts the PDF uses. Installing those exact fonts on your computer eliminates font substitution issues. - **Convert one section at a time:** For very complex documents, use [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) to break the file into smaller sections, convert them individually, and copy the clean output into a master document. - **Review tables manually:** After conversion, inspect every table to make sure rows and columns are preserved. Complex tables often need a few minutes of manual cleanup. - **Use Word's Find and Replace:**To clean up any stray line breaks or spacing issues, use Word's advanced Find and Replace to normalize whitespace across the whole document. ## Frequently Asked Questions ### Will the converted Word document look exactly like the PDF? For simple digital PDFs, yes — usually within 95% fidelity. For complex layouts or scanned documents, expect some cleanup work. The goal of conversion is to make the content editable, not to produce a pixel-perfect replica. ### Can I convert password-protected PDFs? You will need to remove the password first using [PDFFlare's Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf). Once unlocked, you can convert the file normally. ### Does PDFFlare support OCR for scanned PDFs? Yes. When you upload a scanned PDF, PDFFlare automatically runs optical character recognition to extract the text before conversion. OCR works best with clean, high-resolution scans in standard English, but it supports many other languages as well. ### Is the conversion private? PDFFlare prioritizes privacy. For most conversions, processing happens in your browser and your file never leaves your device. For PDFs that require server-side OCR or complex layout analysis, files are processed on our secure server and deleted immediately after conversion. ### Can I convert multiple PDFs at once? Currently, PDFFlare converts one PDF at a time to give each document the best possible result. For batch conversions, converting files sequentially produces cleaner output than parallel processing. ## Common PDF-to-Word Conversion Mistakes - **Converting a scanned PDF expecting editable text.** Scanned PDFs contain images, not text. Run them through [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) first to extract text, then convert to Word. Skipping OCR produces a Word file with images instead of editable text. - **Expecting perfect formatting on complex layouts.** Multi-column magazine layouts, tables-within-tables, and text wrapping around irregular shapes rarely convert perfectly. Plan for some manual cleanup on complex documents. - **Converting password-protected PDFs without unlocking.** Most converters refuse encrypted PDFs. Unlock first via [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf), then convert. - **Using the wrong Word version.**The output is DOCX (Word 2007+). If you're on Office 2003 or earlier, you'll need a compatibility pack or an upgrade. Most cloud-based document tools (Google Docs, Office 365) handle DOCX natively. - **Skipping the post-conversion review.** Even with a good converter, manually scan the result for spacing issues, missing characters, broken hyperlinks, and incorrect page breaks before sending the file to anyone else. ## Tips for Cleaner PDF-to-Word Output - **Start with a digital-native PDF.** A PDF exported from Word converts back to Word much more cleanly than a scanned PDF or a heavily-formatted PDF generated by a design tool. - **Use simple fonts when possible.** Standard fonts (Arial, Times New Roman, Calibri, Georgia) round-trip cleanly. Custom fonts may be substituted by the converter. - **Avoid text in images.**Captions or labels embedded in image files don't become editable text — they stay as part of the image. Use text boxes for labels instead. - **Check tables and headers carefully.** Complex tables with merged cells often need manual cleanup post- conversion. Simple tables (uniform rows, no merging) tend to convert cleanly. ## Workflow Notes Beyond the Basics Converting PDFs to Word documents reliably is harder than it sounds because PDFs were never designed to be edited in the first place. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Converting PDF to Word does not have to mean accepting a broken layout. By understanding what makes PDFs easy or hard to convert, choosing the right output settings, and doing a quick manual review afterwards, you can turn almost any PDF into a clean, editable Word document. Try [PDFFlare's free PDF to Word converter](https://pdfflare.com/tools/pdf/pdf-to-word) with your next document and see the difference a careful conversion makes. And when you need to go the other way, [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) is ready to handle that too. ## Related Tools - [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) — convert back to PDF after editing - [OCR PDF](https://pdfflare.com/tools/pdf/ocr-pdf) — extract text from scanned PDFs first - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — make small edits without conversion --- ## Frequently asked questions **Q: Does converting PDF to Word change the formatting?** A: The conversion engine preserves layout, fonts, tables, images, headers, and footers. Simple to moderately complex documents convert with near-perfect fidelity. Very complex layouts with unusual fonts may see minor differences. **Q: Can I convert scanned PDFs to editable Word?** A: Scanned PDFs contain images rather than text. Basic conversion will produce a Word file with images. For editable text from scans, OCR (optical character recognition) is needed, which is a separate process. **Q: Is my document secure during conversion?** A: Your file is uploaded over an encrypted connection, processed on a secure server, and deleted immediately after conversion. PDFFlare never stores, reads, or analyzes your documents. **Q: Will my PDF's table layouts survive the Word conversion?** A: Tables convert reliably when the source PDF was generated from a Word doc or similar — table cells, borders, and merged cells round-trip cleanly. Tables in scanned PDFs (image-based) need to be OCR'd first; the conversion will produce text but lose the table structure. Run the PDF through PDFFlare's OCR tool first if you need both readable text AND preserved tables. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Split a PDF: Extract Pages in Seconds URL: https://pdfflare.com/blog/how-to-split-pdf-extract-pages Published: April 8, 2026 Reading time: 6 min read > Split a PDF into multiple files or extract specific pages with PDFFlare's free Split PDF tool. Step-by-step guide — no software needed. --- A single PDF can grow to hundreds of pages, especially for reports, ebooks, scanned documents, or bank statements. When you only need to share a few pages — or want to break the file into smaller sections — splitting the PDF is the right move. It saves bandwidth, keeps sensitive pages private, and makes large documents more manageable. This guide covers every way to split a PDF, when to use each approach, and how to do it in seconds with [PDFFlare's free Split PDF tool](https://pdfflare.com/tools/pdf/split-pdf). ## When Should You Split a PDF? There are dozens of scenarios where splitting a PDF is the right answer. Some of the most common include: - **Sharing only relevant pages:** Send a colleague pages 12–18 of a 200-page report instead of the whole file. - **Extracting a specific chapter:** Pull out one chapter of an ebook or manual for focused reading. - **Separating invoices:** Break a batch of monthly invoices into individual files for bookkeeping. - **Removing sensitive pages:** Extract personal information before sending a document to a third party. - **Breaking up scans:** Split a scanned multi-document PDF into one file per document. - **Preparing files for printing:** Split large PDFs so each section can be printed separately on different paper sizes or with different print settings. ## Three Ways to Split a PDF PDFFlare supports three splitting modes, each suited to a different use case: ### Mode 1: Split by Page Range This is the most precise option. You specify exact page numbers to extract — for example, "pages 1–5, 10, 15–20" — and PDFFlare produces a single new PDF containing only those pages in the order you listed. Use this when you need to pull specific, non-contiguous pages out of a document. ### Mode 2: Split Every N Pages This mode automatically breaks your PDF into multiple files of equal size. Enter a number — say, 10 — and PDFFlare will produce a set of PDFs, each containing 10 consecutive pages. This is perfect for breaking up very long documents into bite-sized chunks or preparing files for batch printing. ### Mode 3: Extract Each Page as a Separate File This mode turns every page of your PDF into its own individual PDF file. If your source document has 50 pages, you get 50 single-page PDFs in a ZIP download. Use this when you need to process pages independently or have a workflow that expects one file per page. ## How to Split a PDF with PDFFlare: Step-by-Step ### Step 1: Open the Split PDF Tool Head to [pdfflare.com/tools/pdf/split-pdf](https://pdfflare.com/tools/pdf/split-pdf). No account, no email, no install. ### Step 2: Upload Your PDF Drag and drop your file or click to browse. PDFFlare shows a page preview so you can see exactly what is in the document before splitting. ### Step 3: Pick a Split Mode Choose one of the three modes described above — page range, every N pages, or one file per page — depending on what you need. ### Step 4: Configure the Split For page range mode, type in the pages you want (for example, "1-5, 8, 12-15"). For every N pages mode, enter the chunk size. The tool shows a live preview of how many files you will get and which pages each will contain. ### Step 5: Split and Download Click **Split**. Since the processing happens in your browser, it finishes in a second or two. If you split into multiple files, PDFFlare automatically zips them together for a single convenient download. ## Tips for Splitting PDFs Effectively - **Check the page numbers first:**PDF page numbers do not always match the printed page numbers shown on the page itself. PDFFlare's preview displays the actual PDF page numbers so you can see what is what. - **Compress after splitting:** If the resulting files are still large, run them through [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) to shrink them further for easier emailing. - **Rename split files:** By default, PDFFlare names split files sequentially (part-1.pdf, part-2.pdf). Rename them after download to reflect their content — it saves confusion later when you cannot remember what each file contains. - **Combine with merge for reordering:** To reorder pages within a PDF, split it into individual pages first, then use [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) to recombine them in your preferred sequence. - **Preview before sharing:** Always open the split files once before sending them — it only takes a few seconds and catches mistakes like off-by-one page ranges. ## Frequently Asked Questions ### Will splitting reduce the quality of my PDF? No. Splitting a PDF simply copies the selected pages into a new file without re-encoding the text or images. The output pages are identical to the originals, bit for bit. ### Is there a page limit? PDFFlare can handle documents with hundreds or even thousands of pages. Since processing happens in your browser, the practical limit depends on your device's available memory rather than a hard cap. ### Can I split a password-protected PDF? You will need to unlock it first using [PDFFlare's Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf). Once the password is removed, the file can be split normally. ### Are my files uploaded anywhere? No. The Split PDF tool runs entirely in your browser. Your PDF never touches any server, making it safe for sensitive financial, legal, or medical documents. ### Can I also delete pages from a PDF? Yes — use our dedicated [Remove PDF Pages tool](https://pdfflare.com/tools/pdf/remove-pdf-pages) instead. It is designed specifically for removing unwanted pages while keeping the rest of the document intact. ## Common PDF Splitting Mistakes - **Splitting a password-protected PDF without unlocking first.** Locked PDFs need to go through [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf) before splitting. After splitting, re-protect each piece if needed. - **Picking the wrong page-range syntax.** Most tools use `1-3, 5, 7-10` style ranges. A typo (`1,3` instead of `1-3`) extracts only two pages instead of three. Verify the resulting page count. - **Splitting then re-merging without checking quality.** Each split is lossless, but if you split with one tool and merge with another, metadata or bookmarks may not survive. Stay in one toolchain or verify before sharing. - **Forgetting that splits include all annotations.** If pages have private notes or comments, they ship with the extracted page. Strip annotations first if the recipient shouldn't see them. - **Splitting based on visual page numbers vs PDF page indices.**If a PDF has front-matter unnumbered or uses Roman numerals, “page 1” visually may be PDF page 5 internally. Confirm which numbering the tool uses. ## Splitting Patterns by Document Type - **Multi-chapter book or report:** Split at chapter boundaries. Identify boundary pages from the TOC, then extract ranges (e.g. 1-30 = Ch 1, 31-58 = Ch 2). - **Multi-recipient invoice batch:** Each invoice is N pages. Split every N pages to produce one PDF per recipient. - **Combined scan of multiple documents:** Identify visual breaks between documents (blank page, title change), split at those. - **Long contract with appendices:** Split off the main body so it can be reviewed separately from supporting material. ## Workflow Notes Beyond the Basics Splitting PDFs into smaller files comes up in nearly every long-document workflow, and the choices you make about how to split affect everything downstream. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Splitting a PDF is one of the most useful things you can do with a document. Whether you need to share a few pages, break up a large file, or prepare individual sections for a workflow, [PDFFlare's free Split PDF tool](https://pdfflare.com/tools/pdf/split-pdf) gets the job done in seconds — right in your browser and without ever uploading your file to a server. Try it with your next PDF and see how fast splitting can be. ## Related Tools - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine extracted pages into a new file - [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) — reorder pages before splitting - [Remove PDF Pages](https://pdfflare.com/tools/pdf/remove-pdf-pages) — delete pages instead of extracting --- ## Frequently asked questions **Q: Can I extract specific pages from a PDF?** A: Yes. PDFFlare's Split PDF tool lets you select exactly which pages to extract. You can pick individual pages, page ranges, or split every N pages. **Q: Does splitting a PDF reduce quality?** A: No. Splitting extracts pages from the original PDF without reprocessing. Each extracted page maintains its original quality, fonts, and formatting. **Q: Can I split a password-protected PDF?** A: You need to unlock the PDF first. Use PDFFlare's Unlock PDF tool to remove the password, then split the document as needed. **Q: Can I split a PDF into chapters automatically based on bookmarks?** A: Bookmark-based auto-splitting requires a more advanced tool (Adobe Acrobat Pro, qpdf with custom flags). PDFFlare's Split PDF works on page ranges — “extract pages 1-15”, “every other page”, etc. For chapter-based splitting, use the bookmarks/outline view in your PDF reader to identify the page ranges, then run Split PDF on each range. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Merge PDF Files Online for Free URL: https://pdfflare.com/blog/how-to-merge-pdf-files-online Published: April 3, 2026 Reading time: 6 min read > Learn how to merge PDF files online for free using PDFFlare. Step-by-step guide to combining multiple PDFs into one document — no signup or software needed. --- If you have ever needed to combine multiple PDF documents into a single file, you know how frustrating it can be. Maybe you have a collection of scanned receipts, individual chapters of a report, or separate pages of a contract that all need to live in one place. Whatever the reason, merging PDFs is one of the most common file operations people perform every day — and it should be simple. In this guide, we will walk you through exactly how to merge PDF files online for free using [PDFFlare's Merge PDF tool](https://pdfflare.com/tools/pdf/merge-pdf), explain when and why you might need to merge documents, and share tips for handling large files efficiently. ## What Does Merging PDFs Mean? Merging (also called combining or joining) PDFs is the process of taking two or more separate PDF files and stitching them together into a single document. The resulting file contains all the pages from each source file, in the order you specify. Unlike simply zipping files together, a merged PDF is a proper, unified document. You can scroll through it continuously, the page numbers flow sequentially, and anyone you share it with receives one clean file instead of a confusing bundle. ## When Do You Need to Merge PDFs? There are countless scenarios where merging PDFs saves time and reduces confusion: - **Business reports:** Combine a cover page, table of contents, executive summary, and appendices into one professional document before sending it to stakeholders. - **Academic work:** Join multiple research papers, notes, or assignment pages into a single submission file. - **Legal documents:** Merge contracts, amendments, and signature pages into one comprehensive record. - **Invoices and receipts:** Consolidate monthly invoices or expense receipts into one PDF for easy bookkeeping and tax filing. - **Scanned documents:** If your scanner creates a separate PDF for each page, merging lets you reassemble the full document. - **Portfolios:** Designers and photographers can compile their best work into a single PDF portfolio. ## How to Merge PDFs with PDFFlare: Step-by-Step PDFFlare's [Merge PDF tool](https://pdfflare.com/tools/pdf/merge-pdf) processes files entirely in your browser, so your documents never leave your device. Here is how to use it: ### Step 1: Open the Merge PDF Tool Navigate to [pdfflare.com/tools/pdf/merge-pdf](https://pdfflare.com/tools/pdf/merge-pdf). No account or signup is required — the tool is completely free. ### Step 2: Add Your Files Click the upload area or drag and drop your PDF files directly onto the page. You can add as many files as you need. Each file will appear in a list with its name and page count. ### Step 3: Arrange the Order Drag the files in the list to rearrange them. The final merged document will follow the order you set, from top to bottom. Take a moment to make sure everything is in the right sequence. ### Step 4: Merge and Download Click the **Merge** button. Since the processing happens in your browser, it typically finishes within seconds. Once complete, click **Download** to save your merged PDF. ## Tips for Merging Large PDF Files Working with large or numerous PDFs? Keep these tips in mind: - **Compress first:** If your source files are very large, consider running them through [PDFFlare's Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf) before merging. Smaller source files mean faster merging and a more manageable final document. - **Use a modern browser:** Client-side PDF processing works best in up-to-date versions of Chrome, Firefox, Edge, or Safari. An outdated browser may struggle with very large files. - **Close unused tabs:**Browser-based processing uses your device's memory. If you are merging dozens of large files, closing other tabs frees up resources. - **Check page orientation:**If some source PDFs have pages in landscape while others are portrait, the merge will preserve each page's original orientation. Preview the final file to ensure it looks right. ## Why Choose PDFFlare for Merging PDFs? There are many tools online that claim to merge PDFs, but PDFFlare stands out in several important ways: - **100% browser-based:** Your files never leave your device. Other tools upload your documents to remote servers — with PDFFlare, everything stays local. - **No signup required:** You do not need to create an account, verify an email, or hand over any personal information. - **No watermarks:** The merged PDF is clean and professional. We never add watermarks or branding to your output. - **Completely free:** The Merge PDF tool is free to use with no daily limits on basic operations. - **Fast:** Since there is no upload/download cycle with a server, merging is nearly instant for typical documents. ## Frequently Asked Questions ### Is it safe to merge PDFs online? With PDFFlare, yes. Our merge tool runs entirely in your browser, so your files are never uploaded to any server. Your documents remain private on your own device throughout the entire process. ### Is there a file size limit? Since processing happens in your browser, the limit depends on your device's available memory. Most modern computers can handle files up to 100 MB or more without issues. ### Can I merge password-protected PDFs? If a PDF is password-protected, you will need to provide the password to unlock it before merging. PDFFlare will prompt you to enter the password when it detects a protected file. ### What file formats can I merge? The Merge PDF tool works exclusively with PDF files. If you have Word documents, images, or other formats, you can first convert them to PDF using our [Word to PDF](https://pdfflare.com/tools/pdf/word-to-pdf) or [image conversion](https://pdfflare.com/tools/pdf/pdf-to-jpg) tools, then merge the resulting PDFs. ### Can I reorder pages within a single PDF? For reordering pages within a single file, use our [Split PDF tool](https://pdfflare.com/tools/pdf/split-pdf) to extract specific pages, then merge them back in your preferred order. ## Common Mistakes When Merging PDFs - **Merging without verifying file order.** Most tools merge in the order you upload. If you drag files in randomly, the output is jumbled. Use the visual reorder controls (drag thumbnails) before clicking Merge. - **Forgetting to merge bookmarks and TOCs.** Source PDFs may have bookmarks pointing at internal page numbers. After merging, those page numbers shift — bookmarks now point to the wrong pages. Either regenerate bookmarks after merge or strip them. - **Merging password-protected PDFs.** Locked PDFs need to be unlocked via [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf) before merging. The merged file is unlocked too — re-protect with [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) if needed. - **Mixing portrait and landscape pages without checking.** The merge preserves each page's original orientation, so landscape pages stay landscape inside a portrait document. Some readers display this awkwardly. If consistency matters, rotate first via [Rotate PDF](https://pdfflare.com/tools/pdf/rotate-pdf). - **Numbering before merging.** If each source PDF has its own page numbers, the merged file ends up with non-continuous numbering (e.g. 1-10 then 1-15 then 1-8). Merge first, then add unified numbering with [Add Page Numbers](https://pdfflare.com/tools/pdf/add-page-numbers). ## Merging Workflows for Specific Use Cases - **Compiling a tax return:** Merge W-2, 1099, schedules, and supporting docs into one master file. Add page numbers to the merged result for easy reference during review. - **Building a portfolio:** Each project a separate PDF, merge in best-to-worst order, add a consistent cover page first. - **Combining scanned signed contract pages:** If you printed, signed, and scanned each page separately, merge them back into a single signed contract. Verify page order matches the original. - **Combining receipts for expense reports:** Merge all receipts for a trip into one PDF, then attach to the expense report rather than dozens of individual files. - **Compiling research papers:** Merge the main paper with appendices, supplementary data, and reference documents. ## Workflow Notes Beyond the Basics Merging PDFs is a workflow you encounter the moment you go beyond producing single-document deliverables, and the choices you make about merge order and metadata matter. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Merging PDFs does not need to be complicated or expensive. With PDFFlare's free, browser-based tool, you can combine any number of PDF files into one document in seconds — privately and without any software installation. Give it a try with your next project and see how simple it can be. ## Related Tools - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — break a merged PDF back into parts - [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) — reorder pages after merging - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the merged file for email --- ## Frequently asked questions **Q: Is there a limit on how many PDFs I can merge?** A: There is no hard limit on the number of files. Since processing happens in your browser, the only constraint is your device's available memory. Most devices handle merging dozens of files without any issue. **Q: Can I reorder pages when merging?** A: Yes. After uploading your files, you can drag and drop them to change the order before merging. The final PDF follows the sequence you set. **Q: Does merging PDFs reduce quality?** A: No. Merging combines the original pages without reprocessing. Text, images, and formatting in every page remain identical to the source files. **Q: Will the merged PDF preserve form fields, hyperlinks, and bookmarks?** A: Hyperlinks and clickable text within each source PDF carry through to the merged output. Form fields are preserved but may need re-mapping if two source PDFs have fields with the same name (each merged file keeps its own field set). Bookmarks/outlines from the source PDFs are typically dropped during merge — re-add bookmarks afterward if you need them in the final document. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # 5 Ways to Compress a PDF Without Losing Quality URL: https://pdfflare.com/blog/compress-pdf-without-losing-quality Published: April 2, 2026 Reading time: 7 min read > Discover 5 proven methods to compress PDF files without losing quality. Reduce PDF file size for email, web, and storage with PDFFlare's free tools. --- PDF files are the universal standard for sharing documents, but they can grow surprisingly large. A report packed with high-resolution images, embedded fonts, and vector graphics can easily balloon to tens of megabytes — far too large for email attachments, slow to download, and wasteful of storage space. The good news? You can dramatically reduce PDF file size without visible quality loss. In this article, we will explore five practical methods for compressing PDFs, explain the trade-offs between size and quality, and show you how to use [PDFFlare's Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf) to get the best results. ## Why Do PDFs Get So Large? Before diving into compression methods, it helps to understand what makes PDFs large in the first place: - **High-resolution images:** Photos and graphics embedded at 300 DPI or higher are the single biggest contributor to large file sizes. A single full-page photo at print resolution can add 5 to 10 MB. - **Embedded fonts:** PDFs can embed entire font families to ensure consistent rendering. Each embedded font subset can add hundreds of kilobytes. - **Metadata and layers:** Design software often exports PDFs with hidden layers, edit history, and extensive metadata that inflates the file. - **Redundant objects:** PDFs created by merging or editing multiple times may contain duplicate images, fonts, or resources. ## Method 1: Reduce Image Resolution The most effective way to shrink a PDF is to downsample its images. If a document is only going to be viewed on screen, images at 150 DPI look nearly identical to 300 DPI — but take up roughly 75% less space. [PDFFlare's Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf) offers preset quality levels that intelligently downsample images based on their intended use: - **Screen quality (72 DPI):** Best for documents viewed only on screens. Smallest file size with good visual clarity. - **eBook quality (150 DPI):** A balanced option suitable for most documents. Excellent for email attachments and web downloads. - **Print quality (300 DPI):** Preserves full resolution for documents that will be professionally printed. Modest size reduction. ## Method 2: Optimize Image Compression Beyond resolution, the compression algorithm applied to images makes a significant difference. JPEG compression is lossy but very efficient for photographs. For images that are already JPEG, you can adjust the quality level — reducing from 100% to 85% quality typically produces no visible difference but can halve the image data size. PDFFlare automatically selects the best compression strategy for each image type. Photographs get JPEG compression while line art, logos, and text-heavy graphics use lossless methods to preserve sharpness. ## Method 3: Remove Unnecessary Metadata PDFs generated by design tools like Adobe InDesign or Illustrator often carry extensive metadata: edit history, application data, thumbnail previews, and XML metadata streams. This data serves no purpose for the end reader and can be safely stripped away. PDFFlare's compression engine automatically removes non-essential metadata, including: - Document edit history and undo data - Application-specific private data - Embedded thumbnail previews - Redundant duplicate objects - Unused font subsets ## Method 4: Subset and Optimize Fonts When a PDF embeds a font, it sometimes includes every glyph in the font — even characters that never appear in the document. Font subsetting strips out unused glyphs, keeping only the characters actually referenced in the text. For a document that uses a font with 2,000 glyphs but only references 200 of them, subsetting can reduce the font data by 90%. This is especially impactful when multiple fonts are embedded. ## Method 5: Flatten Transparency and Remove Hidden Layers PDFs from design applications may contain transparent layers, blending modes, and hidden elements that the viewer never sees. Flattening transparency merges overlapping objects into a single layer, and removing hidden layers eliminates data that adds nothing to the visible output. This method is particularly effective for PDFs exported from Adobe Illustrator, Photoshop, or InDesign, which tend to preserve editability at the cost of file size. ## How to Compress a PDF with PDFFlare PDFFlare combines all five methods above into a single, easy-to-use tool. Here is how to compress your PDFs: ### Step 1: Open the Compress PDF Tool Go to [pdfflare.com/tools/pdf/compress-pdf](https://pdfflare.com/tools/pdf/compress-pdf). No account needed. ### Step 2: Upload Your PDF Click the upload area or drag and drop your file. The tool will analyze your PDF and show its current size. ### Step 3: Choose a Compression Level Select from three presets: **Light** (minimal reduction, maximum quality), **Balanced** (recommended for most use cases), or **Maximum** (aggressive compression for the smallest possible file). Each preset shows an estimated size reduction. ### Step 4: Compress and Download Click **Compress**. The tool processes your file in the browser and shows a before/after size comparison. Download your optimized PDF — that is it. ## Quality vs. Size: Choosing the Right Settings The right compression level depends on how the document will be used: - **Email attachments:** Use **Balanced** or **Maximum** compression. Most email providers limit attachments to 25 MB, and smaller files are more considerate of recipients. - **Web publishing:** Use **Maximum** compression. Visitors expect fast page loads, and screen-resolution images are sufficient for web viewing. - **Archival storage:** Use **Light** compression to retain maximum quality while still removing unnecessary metadata and optimizing fonts. - **Professional printing:** Use **Light** compression or no compression at all. Print-quality images at 300 DPI or higher should be preserved. ## How Much Can You Expect to Save? Results vary depending on the content of your PDF, but here are typical reductions: - **Image-heavy documents (presentations, brochures):** 50% to 90% size reduction with Balanced compression. - **Text-heavy documents (reports, contracts):** 10% to 40% reduction, mainly from font optimization and metadata removal. - **Scanned documents:** 40% to 70% reduction by recompressing the scanned images at a more efficient quality level. ## Common Compression Mistakes - **Over-compressing print-bound documents.** Aggressive image downsampling looks fine on screen but pixelates when printed. For documents that may be printed at high quality, use the High Quality preset, not Smallest. - **Compressing the same PDF repeatedly.** Each pass discards image data. After 2-3 compressions, quality degrades visibly. If you need a smaller file, redo from the original source. - **Forgetting that text doesn't shrink much.** Pure text PDFs are already compact — don't expect dramatic reductions. If a text-only PDF is huge, the bulk is probably embedded fonts or hidden metadata. Strip those instead of compressing. - **Compressing a password-protected PDF without unlocking.**Encrypted PDFs typically can't be recompressed by most tools. Unlock first via [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf), compress, then re-protect. - **Setting the wrong target size.** Aim for under 18 MB if the goal is email (encoding overhead pushes 24 MB to 32 MB). Aim for under 10 MB for WhatsApp speed. Aim for under 5 MB for embedded image use. ## What Compression Doesn't Touch - **Text content:** Stays sharp at any compression level. Text in PDFs is vector-based; compression targets images, not characters. - **Form fields:**Preserved as-is. Form data structure isn't affected by image compression. - **Hyperlinks and bookmarks:** Internal navigation structure is preserved. - **Digital signatures:**Signatures themselves can't be compressed. If a PDF was signed, compressing invalidates the signature — it's a separate workflow and you may need to re-sign after compressing. - **Page count and order:** Compression is purely a size optimization; pages stay where they were. ## Final Thoughts Compressing PDFs is not about sacrificing quality — it is about being smart with your data. By reducing image resolution for the intended viewing medium, optimizing compression algorithms, stripping metadata, subsetting fonts, and flattening layers, you can achieve dramatic file size reductions while keeping your documents looking sharp. [Try PDFFlare's free Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf) and see how much space you can save — all without leaving your browser. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — split a large PDF before compressing - [Remove PDF Pages](https://pdfflare.com/tools/pdf/remove-pdf-pages) — delete pages to shrink file size further - [PDF to JPG](https://pdfflare.com/tools/pdf/pdf-to-jpg) — convert pages to images for maximum compression ## Workflow Notes Beyond the Basics PDF compression is the workflow most people interact with when their email rejects an attachment, and the tradeoffs you face depend heavily on what produced the original PDF. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Compressing a PDF without losing quality is mostly about choosing the right preset for the job: Smallest for email and screen-only viewing, Balanced as the safe default for most workflows, and High Quality for print-ready archives. PDFFlare lets you experiment in seconds — convert, view, and adjust without committing to a single output. --- ## Frequently asked questions **Q: How much can I reduce a PDF file size?** A: Typical compression reduces file size by 50-80%. Scanned documents with large images see the biggest reductions. Text-heavy PDFs with few images may see smaller savings since text is already compact. **Q: Does compression make text blurry?** A: No. PDF compression primarily targets images inside the document, reducing their resolution to screen-friendly levels. Text is vector-based and remains perfectly sharp regardless of compression level. **Q: Can I compress a PDF multiple times?** A: You can, but each additional pass yields diminishing returns. The first compression produces the biggest reduction. Running it again may shrink the file by a few more percent at most. **Q: Can I compress a scanned PDF without losing OCR-readable text?** A: Yes — but you have to be careful. PDFFlare's “Balanced” preset preserves enough image fidelity that OCR still extracts text reliably. The “Smallest” preset compresses harder and may degrade scanned text quality, especially for low-DPI scans of small fonts. If your scanned PDF needs to remain searchable, run it through PDFFlare's OCR tool first to add a text layer, then compress. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # JPG to PDF: The Complete Guide to Converting Images URL: https://pdfflare.com/blog/jpg-to-pdf-complete-guide Published: April 1, 2026 Reading time: 8 min read > Convert JPG images to PDF documents easily with this complete guide. Learn about supported formats, use cases, and step-by-step instructions using PDFFlare. --- Converting images to PDF is a task that comes up more often than you might expect. Whether you are digitizing paper documents, preparing a photo portfolio, or packaging screenshots for a report, turning JPG (or other image formats) into a clean PDF is one of those small tasks that can save you a surprising amount of time and hassle. This guide covers everything you need to know about converting JPG to PDF — from understanding when and why you would want to do it, to a detailed walkthrough using [PDFFlare's image conversion tools](https://pdfflare.com/tools/pdf/pdf-to-jpg), to tips for getting the best quality output. ## Why Convert JPG to PDF? Images and PDFs serve different purposes, and there are many situations where a PDF is the better format: - **Professional sharing:** Sending a PDF looks more polished than attaching a handful of loose image files. PDFs maintain consistent formatting across every device and operating system. - **Multi-page documents:** If you have scanned multiple pages of a document as separate JPGs, converting them into a single PDF creates a unified, paginated file that is easy to navigate. - **Print-ready files:** PDFs preserve exact dimensions, resolution, and color profiles, making them the standard format for print submissions. - **Reduced file size:** A multi-image PDF with optimized compression can actually be smaller than the sum of the original JPGs, especially when images share similar characteristics. - **Security:** PDFs support password protection and permission controls that are not available with plain image files. - **Form submissions:** Many applications, government portals, and institutions specifically require PDF uploads rather than image files. ## Supported Image Formats While this guide focuses on JPG (also known as JPEG), PDFFlare supports a wide range of image formats for conversion: - **JPG / JPEG:** The most common photographic image format. Uses lossy compression, ideal for photos and complex images. - **PNG:** Supports transparency and uses lossless compression. Great for screenshots, diagrams, and images with text. - **WebP:** A modern format developed by Google that offers superior compression for both lossy and lossless images. - **BMP:** An uncompressed bitmap format. Large file sizes, but no quality loss. - **TIFF:** A versatile format commonly used in professional photography and publishing. - **SVG:** A vector format for scalable graphics. Converts to PDF with perfect sharpness at any size. ## How to Convert JPG to PDF: Step-by-Step PDFFlare makes the conversion process straightforward. Here is how to do it: ### Step 1: Open the Image to PDF Tool Visit PDFFlare and navigate to the image conversion tool. No account or installation required. ### Step 2: Upload Your Images Click the upload area or drag and drop your JPG files. You can add multiple images at once — they will all be included in the final PDF. Each image gets its own page by default. ### Step 3: Arrange and Configure Before converting, you can customize several options: - **Page order:** Drag and drop images to arrange them in the sequence you want. - **Page size:** Choose from standard sizes (A4, Letter, Legal) or let the tool automatically fit each page to the image dimensions. - **Orientation:**Set landscape or portrait orientation, or let PDFFlare auto-detect based on each image's aspect ratio. - **Margins:** Add margins around images for a cleaner printed appearance, or use zero margins for edge-to-edge images. ### Step 4: Convert and Download Click **Convert to PDF**. The tool processes your images in the browser — no server upload needed — and generates a download link within seconds. Click **Download** to save your new PDF. ## Tips for Best Quality Output Follow these tips to get the most out of your JPG-to-PDF conversions: - **Start with high-quality images:** The quality of your PDF is only as good as your source images. Use the highest resolution JPGs available, especially if the PDF will be printed. - **Avoid re-compressing:** Each time a JPG is saved with lossy compression, quality degrades slightly. Work with your original images whenever possible rather than re-saved copies. - **Use PNG for screenshots:** If you are converting screenshots or text-heavy images, use PNG format instead of JPG. PNG preserves sharp text edges that JPG compression can blur. - **Match page size to content:** For scanned documents, use A4 or Letter page sizes. For photos, the auto-fit option ensures images are not cropped or stretched. - **Consider compression:** After converting to PDF, you can use [PDFFlare's Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf) to reduce the file size further if needed. ## Batch Conversion: Multiple Images at Once One of the biggest advantages of using PDFFlare is the ability to convert multiple images in a single operation. Instead of converting each JPG individually and then merging the PDFs, you can upload all your images at once, arrange them in order, and produce one unified PDF. This is particularly useful for: - Assembling scanned document pages into a single file - Creating photo books or contact sheets - Preparing multi-image reports or presentations - Packaging screenshots for bug reports or documentation For everyday conversions, the free tool handles most needs without limitations. ## JPG to PDF vs. Other Conversion Methods You might wonder how PDFFlare compares to other ways of converting images to PDF: - **Print to PDF (operating system):**Most operating systems let you "print" an image to a PDF file. This works for single images but is tedious for multiple files, offers limited control over page size and margins, and often produces larger files. - **Desktop software (Adobe Acrobat):** Professional tools offer comprehensive options but require expensive subscriptions and software installation. - **Other online tools:** Many web-based converters upload your images to their servers, raising privacy concerns. PDFFlare processes everything in your browser. ## Common Questions ### Does converting JPG to PDF reduce image quality? No. PDFFlare embeds your images into the PDF without additional compression by default. The image quality in the PDF matches your original JPG files exactly. If you want a smaller file, you can optionally apply compression after conversion. ### Can I convert PDF back to JPG? Yes. PDFFlare also offers a [PDF to JPG tool](https://pdfflare.com/tools/pdf/pdf-to-jpg) that extracts each page of a PDF as a high-quality JPG image. ### Is there a limit on the number of images? There is no limit on the number of images you can convert in a single session. Since processing happens in your browser, it depends on your device's available memory. ### Can I add text or watermarks to the PDF? The JPG-to-PDF tool focuses on clean conversion. For adding text overlays or watermarks, check out our other PDF editing tools available on the [tools page](https://pdfflare.com/#tools). ## Workflow Notes Beyond the Basics Converting JPGs into PDFs is one of those file format operations whose simplicity hides important decisions about page size, ordering, and image quality. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Converting JPG to PDF is a fundamental file operation that everyone needs at some point. Whether you are digitizing documents, packaging photos, or preparing files for submission, PDFFlare makes the process fast, free, and private. No software to install, no account to create, no files leaving your device. Just drag, drop, convert, and download. Try it now and see how easy it is to turn your images into professional PDF documents. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) and [Compress Image](https://pdfflare.com/tools/image/compress-image). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [PDF to JPG](https://pdfflare.com/tools/pdf/pdf-to-jpg) — convert PDFs back into images - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine multiple image-based PDFs - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink image-heavy PDFs --- ## Frequently asked questions **Q: Does converting JPG to PDF reduce image quality?** A: No. PDFFlare embeds your images into the PDF without additional compression by default. The image quality in the PDF matches your original JPG files exactly. **Q: Can I convert PDF back to JPG?** A: Yes. PDFFlare offers a PDF to JPG tool that extracts each page of a PDF as a high-quality JPG image. **Q: Is there a limit on the number of images?** A: There is no limit on the number of images you can convert. Since processing happens in your browser, it depends on your device's available memory. **Q: Why does my JPG look slightly different in the PDF?** A: JPG and PDF use different color spaces by default. PDF tools usually convert JPG's sRGB to the PDF's default (often the same sRGB) without issue. Color shifts happen when the source JPG embeds an unusual color profile (Adobe RGB, ProPhoto) and the PDF converter falls back to sRGB. PDFFlare's Photo to PDF preserves embedded color profiles — the difference, if any, is in how your viewer renders the profile, not in the conversion itself. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert PDF to JPG: Save PDF Pages as Images URL: https://pdfflare.com/blog/how-to-convert-pdf-to-jpg Published: April 14, 2026 Reading time: 7 min read > Convert any PDF to high-quality JPG images for free. Extract every page as a separate image — no software, no signup, 100% browser-based. --- Need to pull images out of a PDF? Maybe you want to embed a chart from a report into a slide deck, share a single page on social media, or extract photos that someone locked inside a PDF document. Whatever the reason, converting PDF pages to JPG images is one of the most common file tasks people search for every day. In this guide, we will explain when and why you would convert PDF to JPG, walk you through the process step by step using [PDFFlare's free PDF to JPG tool](https://pdfflare.com/tools/pdf/pdf-to-jpg), and share tips for getting the best image quality from your conversions. ## Why Convert PDF to JPG? PDFs are great for preserving document layout, but they are not always the most practical format. Here are the most common reasons people convert PDF pages to images: - **Social media sharing:** Platforms like Instagram, Twitter, and LinkedIn accept image uploads but not PDF files. If you want to share a page from a report, infographic, or resume, you need it as a JPG or PNG. - **Presentations:** Embedding a PDF page into a PowerPoint or Google Slides deck requires converting it to an image first. A JPG inserts cleanly without formatting issues. - **Thumbnails and previews:** Websites and apps often display document previews as images. Converting the first page of a PDF to JPG creates a lightweight thumbnail. - **Email compatibility:** Some email clients handle inline images better than PDF attachments. A JPG can be viewed directly in the email body without downloading. - **Editing:** You cannot easily edit a PDF in a standard image editor, but a JPG can be cropped, annotated, or combined with other images in tools like Canva or Photoshop. ## JPG vs PNG: Which Format Should You Choose? When extracting images from a PDF, you typically choose between JPG and PNG. Here is how they compare: - **JPG:** Smaller file sizes thanks to lossy compression. Ideal for photos, scanned documents, and any page where file size matters more than pixel-perfect precision. - **PNG:** Lossless compression preserves every detail. Better for pages with sharp text, line art, diagrams, or transparency. Files are larger but quality is perfect. For most use cases — sharing, embedding, previewing — JPG is the right choice. If you need crisp text for printing or archiving, PNG may be worth the extra file size. Check out our [PNG vs JPG vs WebP comparison](https://pdfflare.com/blog/png-vs-jpg-vs-webp-comparison) for a deeper dive into image formats. ## How to Convert PDF to JPG (Quick Steps) 1. **Open [PDFFlare's PDF to JPG converter](https://pdfflare.com/tools/pdf/pdf-to-jpg)** in any browser. 2. **Upload your PDF** (drag-drop or browse). Files up to 50 MB accepted. 3. **Choose a quality / DPI preset.** 72 DPI for web, 150 DPI for general use, 300 DPI for printing. 4. **Click Convert.** Each page is rendered as a separate JPG. 5. **Download** individual JPGs or grab all pages as a single ZIP. ## Choosing the Right DPI for Your Use Case DPI (dots per inch) controls how sharp the output JPG is. Higher DPI = sharper image but bigger file. Pick based on where the image will be displayed: - **72 DPI:** Web display, social media, email embeds. Smallest file size. Avoid printing — images pixelate. - **150 DPI:** General-purpose. Good balance of quality and file size. Suitable for most presentations, documents, and lightweight printing. - **300 DPI:** Print-quality. Required for magazine, book, or commercial printing. Files are 4× larger than 150 DPI. - **600 DPI or higher:** Specialty printing (large-format, fine art reproduction). Excessive for screen use — wastes file size and slows downloads. ## How to Convert PDF to JPG: Step-by-Step (Detailed) ### Step 1: Open the PDF to JPG Tool Visit [PDFFlare's PDF to JPG converter](https://pdfflare.com/tools/pdf/pdf-to-jpg). No account, no installation — it works directly in your browser. ### Step 2: Upload Your PDF Click the upload area or drag and drop your PDF file. The tool accepts files up to 50 MB. Your file is processed entirely in your browser and never uploaded to any server. ### Step 3: Convert Click **Convert to JPG**. The tool renders each page of your PDF as a separate JPG image. A multi-page PDF produces multiple images, one per page. ### Step 4: Download Your Images Once conversion is complete, download individual page images or all pages at once. Each image is named with the page number for easy identification. ## Tips for the Best Image Quality - **Use vector-based PDFs when possible:** PDFs created from Word, PowerPoint, or design tools contain vector text and graphics that render sharply at any resolution. Scanned PDFs are already raster images and cannot exceed their original quality. - **Choose higher DPI for printing:** If you plan to print the images, 300 DPI produces print-quality results. For screen use (presentations, social media), 150 DPI is sufficient and keeps file sizes manageable. - **Crop after conversion:** If you only need part of a page, convert the full page first, then crop the image using [PDFFlare's Crop Image tool](https://pdfflare.com/tools/image/crop-image). - **Compress if needed:** Large JPGs can be reduced with [PDFFlare's Compress Image tool](https://pdfflare.com/tools/image/compress-image) without noticeable quality loss. ## Common Questions ### Does converting PDF to JPG reduce quality? It depends on the source PDF. Vector-based PDFs render as crisp JPGs at any resolution. Scanned PDFs are already images, so quality depends on the original scan resolution. JPG compression introduces minimal artifacts at high quality settings. ### Can I convert a password-protected PDF? You need to remove the password first. Use [PDFFlare's Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf) to remove the protection, then convert to JPG. ### Can I convert JPG back to PDF? Yes. PDFFlare's [JPG to PDF tool](https://pdfflare.com/tools/pdf/jpg-to-pdf) converts images back to PDF format. Read our [complete JPG to PDF guide](https://pdfflare.com/blog/jpg-to-pdf-complete-guide) for details. ### Is there a page limit? No hard limit. Since processing happens in your browser, the only constraint is your device's memory. Most devices handle PDFs with hundreds of pages without any issue. ## Workflow Notes Beyond the Basics Converting PDFs to JPGs is a deceptively simple task that gets complicated as soon as you care about resolution, color fidelity, or downstream compatibility. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Converting PDF to JPG is a task that comes up constantly — whether you are preparing a presentation, sharing a document on social media, or extracting images for a project. PDFFlare makes it fast, free, and private. Your files never leave your browser, there is no software to install, and no account to create. Just upload, convert, and download. ## Related Tools - [JPG to PDF](https://pdfflare.com/tools/pdf/jpg-to-pdf) — turn images back into a PDF - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — extract specific pages before converting - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the PDF before conversion One more habit worth mentioning: keep a small log of the settings you actually use for recurring workflows, ideally in plain text in a folder you can search later. The first time you find yourself trying to remember whether you used eighty percent quality or eighty-five, or whether the last conversion targeted Letter or A4, the value of the log becomes obvious. Most professionals lose more time re-deriving settings they have already chosen than they do on the underlying conversion work, and a five-line note in a project README solves the problem permanently. The discipline of writing down your decisions and the reasoning behind them turns ad-hoc workflow tweaking into a maintainable practice that survives team turnover, sabbatical months, and your own forgetfulness across enough time that the original context fades. This is the kind of small investment that distinguishes someone who has been doing this work for ten years from someone who has been doing it for one. --- ## Frequently asked questions **Q: Does converting PDF to JPG reduce quality?** A: It depends on the source PDF. Vector-based PDFs render as crisp JPGs at any resolution. Scanned PDFs are already images, so quality depends on the original scan resolution. JPG compression introduces minimal artifacts at high quality settings. **Q: Can I convert a password-protected PDF?** A: You need to remove the password first. Use PDFFlare's Unlock PDF tool to remove the protection, then convert to JPG. **Q: Is there a page limit?** A: No hard limit. Since processing happens in your browser, the only constraint is your device's memory. Most devices handle PDFs with hundreds of pages without any issue. **Q: Can I convert a multi-page PDF into one tall JPG instead of many separate ones?** A: Most PDF-to-JPG tools (PDFFlare included) emit one JPG per page by default — that matches typical use cases like extracting individual pages for slides or social media. To stitch all pages into one tall image, convert page-by-page first and then use an image-stitching tool. For long documents, the resulting tall JPG can hit hundreds of megapixels and may not open in older image viewers. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert Word to PDF: Keep Your Formatting Perfect URL: https://pdfflare.com/blog/how-to-convert-word-to-pdf Published: April 14, 2026 Reading time: 7 min read > Convert Word documents to PDF for free while preserving fonts, layout, and images. Step-by-step guide using PDFFlare — no software needed. --- You have spent hours formatting a Word document — adjusting margins, choosing fonts, placing images just right. Then you email it to someone and they open it on a different computer, and the whole layout falls apart. Fonts get substituted, images shift, and your carefully crafted document looks like a mess. This is exactly why PDF exists. A PDF locks your document's appearance so it looks identical on every device, every operating system, and every screen size. In this guide, we will walk you through converting Word to PDF using [PDFFlare's free Word to PDF tool](https://pdfflare.com/tools/pdf/word-to-pdf) and explain how to preserve your formatting perfectly. ## Why Convert Word to PDF? Word documents are great for editing, but PDFs are the standard for sharing and distribution. Here is why: - **Universal compatibility:** PDFs look the same everywhere — Windows, Mac, Linux, iOS, Android. Word documents can render differently depending on the version of Word and available fonts. - **Professional appearance:** Resumes, proposals, contracts, and reports look more polished as PDFs. Recipients see exactly what you intended. - **Prevent accidental edits:** PDFs are not easily editable by default. Sending a PDF ensures your content is not accidentally modified by the recipient. - **Smaller file size:** Word documents embed fonts and editing metadata that bloat file sizes. PDFs are typically 20-50% smaller for the same content. - **Required by institutions:** Many employers, courts, universities, and government agencies require submissions in PDF format specifically. ## How to Convert Word to PDF: Step-by-Step ### Step 1: Open the Word to PDF Tool Go to [PDFFlare's Word to PDF converter](https://pdfflare.com/tools/pdf/word-to-pdf). No account needed, no software to install. ### Step 2: Upload Your Word Document Click the upload area or drag and drop your .docx file. The tool accepts files up to 50 MB. Your document is uploaded securely for processing and deleted immediately after conversion. ### Step 3: Convert Click **Convert to PDF**. The tool processes your document using a professional-grade conversion engine that handles complex formatting, embedded fonts, tables, headers, footers, and images. ### Step 4: Download Your PDF is ready in seconds. Click **Download**to save it. The converted PDF preserves your original document's layout, fonts, and formatting. ## Tips for Perfect Formatting While PDFFlare handles most formatting automatically, these tips ensure the best results: - **Use standard fonts:** Fonts like Arial, Times New Roman, Calibri, and Georgia convert perfectly every time. Unusual decorative fonts may get substituted if they are not embeddable. - **Embed fonts in Word:**Before uploading, go to File → Options → Save and check "Embed fonts in the file." This packages your fonts with the document so they survive conversion. - **Check image resolution:** Low-resolution images look fine on screen but may appear pixelated in the PDF. Use images that are at least 150 DPI for screen viewing or 300 DPI for print. - **Avoid text boxes for layout:** Text boxes sometimes shift during conversion. Use tables or proper paragraph formatting for complex layouts instead. - **Review headers and footers:** Complex headers with images and dynamic fields usually convert well, but it is worth verifying in the final PDF. ## How to Convert Word to PDF Step by Step PDFFlare's converter handles DOCX, DOC, RTF, and ODT input. The full process takes under a minute: 1. **Open [PDFFlare's Word to PDF tool](https://pdfflare.com/tools/pdf/word-to-pdf)** — no signup, no installation. 2. **Upload your Word document.** Drag-drop or browse. DOCX is the recommended format; older .DOC files convert too. 3. **Wait a few seconds.**The conversion runs on PDFFlare's server using a professional-grade engine (LibreOffice headless under the hood). 4. **Download the PDF.** Open it to verify formatting looks right — fonts, tables, headers, page breaks. 5. **Optional follow-ups:** Add page numbers, password protection, or compress for email — see Related Tools below. ## Common Word-to-PDF Conversion Mistakes - **Using non-embedded custom fonts.**If your Word doc uses a corporate font that's not on the conversion server, the PDF substitutes a similar font. Either embed the font in the DOCX or stick to common typefaces (Calibri, Arial, Times New Roman, Georgia). - **Page-break tweaks made for screen don't survive print.**A title that sits perfectly at the bottom of a screen may end up alone at the top of the next PDF page. Use Word's “keep with next” paragraph option for headings and check the PDF before sharing. - **Text in text boxes drifting.** Word text boxes anchor to specific paragraphs. If formatting changes in the converter, anchored boxes may move. Convert critical content from text boxes into normal paragraphs first. - **Comments and tracked changes leaking into the PDF.** Both stay visible by default. Accept all changes and delete all comments before converting if the PDF is for external audiences. - **Hyperlinks not clickable in the result.**Modern PDF converters preserve clickable links. If yours don't work, the source likely had display text without an underlying URL — re-attach the link in Word and reconvert. ## Word to PDF vs. Other Methods - **Microsoft Word "Save as PDF":** Works well if you have Word installed, but not everyone does. Mac and Windows versions of Word can produce slightly different PDFs from the same document. - **Google Docs export:** Requires uploading to Google Drive first. Formatting can change during the Google Docs import, especially for complex layouts. - **PDFFlare:** Works in any browser without software. Uses a professional conversion engine that produces consistent results regardless of your operating system. ## Common Questions ### Does the conversion change my formatting? The conversion engine preserves layout, fonts, tables, images, headers, footers, and page numbers. Simple to moderately complex documents convert with near-perfect fidelity. Extremely complex documents with unusual fonts may see minor differences. ### Can I convert PDF back to Word? Yes. If you need to go the other direction, use [PDFFlare's PDF to Word tool](https://pdfflare.com/tools/pdf/pdf-to-word). Read our [PDF to Word formatting guide](https://pdfflare.com/blog/convert-pdf-to-word-preserve-formatting) for tips on getting the best results. ### Is my document secure? Your file is uploaded over an encrypted connection, processed on a secure server, and deleted immediately after conversion. PDFFlare never stores, reads, or analyzes your documents. ### Can I password protect the PDF after conversion? Absolutely. Use [PDFFlare's Password Protect tool](https://pdfflare.com/tools/pdf/password-protect-pdf) to add encryption to your newly created PDF. ## Workflow Notes Beyond the Basics Converting Word documents to PDF is one of the most common file format conversions in any office workflow, and yet many of the conversions you encounter in the wild produce output that disappoints. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Converting Word to PDF should not require expensive software or complicated workflows. PDFFlare gives you a reliable, free tool that preserves your formatting and keeps your documents private. Upload your Word document, click convert, and download a professional PDF in seconds. It is that simple. ## Related Tools - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word) — convert back to Word if you need edits - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine several Word-to-PDF files - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — reduce file size for email --- ## Frequently asked questions **Q: Does the conversion change my formatting?** A: The conversion engine preserves layout, fonts, tables, images, headers, footers, and page numbers. Simple to moderately complex documents convert with near-perfect fidelity. **Q: Can I convert PDF back to Word?** A: Yes. Use PDFFlare's PDF to Word tool to go the other direction. The converter preserves formatting during the round trip. **Q: Is my document secure?** A: Your file is uploaded over an encrypted connection, processed on a secure server, and deleted immediately after conversion. PDFFlare never stores, reads, or analyzes your documents. **Q: Will tracked changes and comments appear in the converted PDF?** A: By default, yes — tracked changes and comments embed into the PDF as inline annotations. To get a clean “final-version” PDF, accept all changes and remove comments in Word before converting. PDFFlare's converter preserves whatever you send; cleanup happens at the source. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Unlock a PDF: Remove Password Protection Easily URL: https://pdfflare.com/blog/how-to-unlock-pdf-remove-password Published: April 14, 2026 Reading time: 6 min read > Remove password protection from any PDF for free. Unlock your own password-protected files in seconds with PDFFlare — no software needed. --- You know the password but you are tired of typing it every single time you open that PDF. Or maybe you received a password-protected file from a colleague, they gave you the password, and now you want to save an unlocked copy for easier access. Whatever the scenario, removing PDF password protection is a common need. In this guide, we will explain how PDF passwords work, walk you through removing them with [PDFFlare's free Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf), and discuss when it makes sense to keep passwords in place. ## How PDF Passwords Work PDF files support two types of passwords, and understanding the difference matters: - **User password (open password):** This password is required to open and view the PDF. Without it, the document is completely unreadable. The content is encrypted. - **Owner password (permissions password):** This password restricts specific actions like printing, copying text, or editing — but the document can still be opened and read. It controls what you can do with the content, not whether you can see it. PDFFlare's Unlock PDF tool handles both types. For user passwords, you need to enter the correct password. For owner passwords, the tool can remove the restrictions directly. ## How to Unlock a PDF: Step-by-Step ### Step 1: Open the Unlock PDF Tool Visit [PDFFlare's Unlock PDF page](https://pdfflare.com/tools/pdf/unlock-pdf). No signup or installation required. ### Step 2: Upload Your Protected PDF Drag and drop your locked PDF or click to browse. The tool accepts files up to 50 MB. Everything is processed in your browser — your file never leaves your device. ### Step 3: Enter the Password (If Required) If the PDF has a user (open) password, you will be prompted to enter it. Type the correct password and the tool will decrypt the file. If the PDF only has owner (permissions) restrictions, no password entry is needed. ### Step 4: Download the Unlocked PDF Click **Download** to save your unlocked PDF. The new file has all password protection and permission restrictions removed. You can now open, print, copy, and edit it freely. ## Common Scenarios - **Your own documents:** You password-protected a file months ago and now the security is no longer needed. Remove the password for convenience. - **Print-restricted PDFs:** Some PDFs block printing even though you can view them. Removing the owner password re-enables printing. - **Copy-restricted PDFs:** Need to quote text from a document that blocks copy-paste? Removing restrictions lets you select and copy text normally. - **Archiving:** If you are archiving documents long-term, removing passwords prevents the risk of losing access if the password is forgotten. ## How PDF Encryption Strength Matters Not all PDF passwords are equal. The encryption strength is set when the password is added, and it determines how resistant the file is to brute-force attacks: - **RC4 40-bit (legacy):** Trivially crackable today. Found mostly in PDFs created before 2008. If you encounter a 40-bit-encrypted PDF, treat the password as unreliable for any real security. - **RC4 128-bit:**The default in older Acrobat versions. Still in widespread use. Strong enough to resist casual attacks but vulnerable to determined adversaries with modern hardware. PDFFlare's Password Protect tool uses this for broad compatibility. - **AES 128-bit:** Modern, broadly compatible. Used since Acrobat 7 (2005). Practically unbreakable with strong passwords. - **AES 256-bit:** The current standard for serious security. Used since Acrobat X (2010). With a strong password, this is computationally infeasible to crack. When you unlock a PDF, you're removing the encryption wrapper regardless of the underlying algorithm. Strong encryption only matters when the password is unknown. ## Common Mistakes When Unlocking PDFs - **Trying to unlock a PDF you don't own.** Removing encryption from someone else's document without authorization may violate copyright, terms of service, or local law. Stick to your own files or files you have explicit permission to access. - **Using cracking tools instead of legitimate unlock.** PDFFlare's tool requires the user password if one is set — it's not a cracker. If you've forgotten the password on your own document, recovery options are limited; cracking services exist but are slow and unreliable on modern AES. - **Forgetting to re-add protection on sensitive content.** If you unlocked a file just to make edits, re-protect it before sharing — otherwise anyone who receives the new file can read it without the password. - **Confusing print restrictions with the open password.** Owner passwords (no prompt to view, but blocks printing/copying) and user passwords (prompts you to type the password to open) are different. PDFFlare handles both, but the UX is different because owner passwords can be removed without knowing them. ## When to Keep Password Protection Not every PDF should be unlocked. Keep password protection in place when: - The document contains sensitive personal information (tax records, medical data) - You are storing files in shared cloud storage where others have access - The document is a signed contract that should not be modified - You are sending confidential information over email If you need to add or update password protection, use [PDFFlare's Password Protect tool](https://pdfflare.com/tools/pdf/password-protect-pdf) to encrypt your documents with a strong password. Read our [password protection guide](https://pdfflare.com/blog/how-to-password-protect-pdf-free) for best practices. ## Common Questions ### Can I unlock a PDF without knowing the password? For owner (permissions) passwords — yes, the tool can remove print, copy, and edit restrictions without needing the password. For user (open) passwords — no, you must know the correct password. This is by design; otherwise the encryption would be pointless. ### Is unlocking a PDF legal? Unlocking your own documents or documents where you have authorized access is perfectly legal. Removing protection from documents you do not own or are not authorized to access may violate copyright or terms of use. Always ensure you have the right to unlock a file. ### Does unlocking change the PDF content? No. The tool only removes the encryption wrapper. Your document content, formatting, images, and metadata remain completely unchanged. ## Workflow Notes Beyond the Basics Removing a password from a PDF you own is one of those tasks where the technical mechanics are simple but the surrounding workflow questions matter just as much. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Unlocking a PDF should be as simple as locking one. PDFFlare lets you remove password protection in seconds, right in your browser. No software to install, no files uploaded to external servers, and no accounts required. Whether you are removing a password you set yourself or unlocking print restrictions on a document you received, PDFFlare makes it quick and painless. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) and [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) — add a new password after unlocking - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — edit the unlocked file - [Compress PDF](https://pdfflare.com/tools/pdf/compress-pdf) — shrink the unlocked file --- ## Frequently asked questions **Q: Can I unlock a PDF without knowing the password?** A: For owner (permissions) passwords — yes, the tool can remove print, copy, and edit restrictions without needing the password. For user (open) passwords — no, you must know the correct password. **Q: Is unlocking a PDF legal?** A: Unlocking your own documents or documents where you have authorized access is perfectly legal. Removing protection from documents you do not own or are not authorized to access may violate copyright or terms of use. **Q: Does unlocking change the PDF content?** A: No. The tool only removes the encryption wrapper. Your document content, formatting, images, and metadata remain completely unchanged. **Q: Is it legal to unlock a PDF I downloaded from the internet?** A: Removing a password from a PDF you OWN — your own scanned receipts, your own work documents — is fine. Removing protection from someone else's copyrighted material to bypass licensing terms is a different story and often illegal under DMCA-style anti-circumvention laws. PDFFlare's Unlock PDF tool requires you to know the password — it doesn't crack passwords, it just removes encryption when you have the key. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Compress Images Without Losing Quality URL: https://pdfflare.com/blog/how-to-compress-images-without-losing-quality Published: April 14, 2026 Reading time: 8 min read > Reduce image file sizes by up to 80% without visible quality loss. Compress JPG, PNG, and WebP images for free with PDFFlare — works in your browser. --- A single photo from a modern smartphone can be 5-10 MB. Take a few dozen photos and you are looking at hundreds of megabytes. Multiply that across a website with hundreds of images and you have a site that takes forever to load, eats through your hosting bandwidth, and drives visitors away before they see your content. Image compression solves this problem by reducing file sizes while keeping images visually identical. In this guide, we will explain how image compression works, show you how to compress images using [PDFFlare's free Compress Image tool](https://pdfflare.com/tools/image/compress-image), and share best practices for different use cases. ## Why Image Compression Matters File size directly impacts user experience. Here is why compression is not optional: - **Page load speed:**Images account for roughly 50% of the average web page's weight. Compressing images is the single most effective way to speed up your website. - **SEO rankings:** Google uses page speed as a ranking factor. Faster pages rank higher. Core Web Vitals — Largest Contentful Paint in particular — are directly impacted by image sizes. - **Email attachments:** Most email providers limit attachment sizes to 25 MB. Compressing images lets you send more photos without hitting the limit. - **Storage costs:** Cloud storage, hosting bandwidth, and CDN costs scale with file sizes. Smaller images mean lower bills. - **Mobile users:** Over 60% of web traffic comes from mobile devices on cellular networks. Large images drain data plans and load slowly on slower connections. ## How Image Compression Works There are two types of compression, and understanding the difference is important: - **Lossless compression:** Reduces file size without removing any image data. The decompressed image is pixel-for-pixel identical to the original. PNG uses lossless compression. Typical savings: 10-30%. - **Lossy compression:** Removes image data that the human eye is unlikely to notice. The decompressed image looks the same but is technically different at the pixel level. JPG uses lossy compression. Typical savings: 50-80%. The key insight is that lossy compression at moderate quality settings produces images that are **visually indistinguishable** from the originals. A 5 MB photo compressed to 500 KB looks identical to the naked eye, even on high-resolution displays. ## How to Compress Images: Step-by-Step ### Step 1: Open the Compress Image Tool Visit [PDFFlare's Image Compressor](https://pdfflare.com/tools/image/compress-image). No account or software installation needed. ### Step 2: Upload Your Images Drag and drop your images or click to browse. The tool supports JPG, PNG, and WebP formats. You can upload multiple images at once for batch compression. ### Step 3: Adjust Quality Use the quality slider to control the compression level. Higher quality means larger files, lower quality means smaller files. For most use cases, 75-85% quality provides the ideal balance — visually identical images at a fraction of the file size. ### Step 4: Download Click **Compress** and download your optimized images. The tool shows you exactly how much space you saved for each file. Everything is processed in your browser — your images never leave your device. ## Recommended Settings by Use Case - **Website images:** 75-80% quality. Prioritize fast load times. Consider also [resizing images](https://pdfflare.com/tools/image/resize-image) to the display dimensions — there is no point serving a 4000px wide image in a 800px container. - **Social media uploads:** 80-85% quality. Platforms re-compress uploads anyway, so starting with moderately compressed images avoids double compression artifacts. - **Email attachments:** 70-80% quality. Keep images under 1 MB each to avoid hitting email size limits. - **Print:** 90-95% quality. Print requires higher resolution and quality than screen, so compress conservatively. - **Archiving:** Use lossless (PNG) or minimal compression (95%+ JPG) to preserve maximum quality for future use. ## Format-Specific Tips ### JPG Compression JPG is already a lossy format. Compressing an already-compressed JPG degrades quality slightly with each pass. When possible, compress from the original source image rather than a previously compressed JPG. ### PNG Compression PNG compression is always lossless — the tool optimizes the internal encoding without removing any data. If you need smaller PNG files and can accept some quality loss, consider converting to JPG instead. Our [image converter](https://pdfflare.com/tools/image/convert-image) handles format changes. ### WebP WebP offers both lossy and lossless modes with better compression ratios than JPG or PNG. If your target platform supports WebP (all modern browsers do), it is the best format for web use. ## Common Questions ### Can I compress images without any quality loss? Yes — lossless compression reduces file size without any quality loss at all. However, savings are modest (10-30%). For dramatic file size reductions (50-80%), lossy compression is necessary, but the quality difference is invisible to the human eye at moderate settings. ### What is the smallest I can make an image? It depends on the image content and dimensions. A 4000x3000 photo can typically be compressed from 8 MB to under 500 KB. Reducing dimensions with the [resize tool](https://pdfflare.com/tools/image/resize-image) before compressing produces even smaller files. ### Should I compress images before or after resizing? Resize first, then compress. Resizing reduces the pixel count, and compression works more effectively on smaller images. This combination produces the smallest files with the best quality. ## Common Image Compression Mistakes - **Compressing the same image multiple times.** Each lossy pass degrades quality. Compress once and keep the result; don't re-compress for tiny additional savings. If you need a smaller file, redo from the original. - **Using maximum compression on print-bound images.** Aggressive compression looks fine on screen but pixelates in print. For print materials, use light compression (90% quality JPEG) or stay with lossless PNG. - **Compressing PNG when you should use JPG.** A full-color photo saved as PNG is dramatically larger than the same image as JPG, with no visible quality benefit. Use PNG for screenshots, logos, and text — JPG for photographs. - **Forgetting to strip EXIF metadata for public sharing.** EXIF data can include GPS coordinates, camera serial numbers, and timestamps. Strip metadata when posting publicly to avoid unintentional location disclosure. - **Compressing identical resolution for every use case.** A 4000×3000 photo doesn't need to stay 4000×3000 for a web thumbnail. Resize to display size first; compression then achieves dramatic file size reductions naturally. ## Compression Quality Targets by Use Case - **Hero images / above-the-fold:** JPG 85-90% quality, sized exactly to display dimensions. Lazy load below-the-fold images. - **Blog post body images:** JPG 75-85%, max width 1200px. Use `` for all non-hero images. - **Thumbnails / list views:**JPG 70-80%, sized exactly to thumbnail dimensions (often 200-400px). Aggressive compression OK because they're small. - **Email attachments:** JPG 75-85%, resize to 1500px max. Keeps attachment under email size limits while still looking acceptable. - **Social media uploads:**Each platform recompresses uploaded images. Start at JPG 90% — don't over-compress because the platform will compress further. ## Workflow Notes Beyond the Basics Image compression is the difference between a website that loads instantly and one that loses visitors at the first interaction. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Image compression is one of those tasks that takes seconds but makes a huge difference — faster websites, smaller emails, lower storage costs. PDFFlare makes it easy with a free, browser-based tool that handles JPG, PNG, and WebP. No uploads to external servers, no software to install, no accounts to create. Drag, compress, download. Your images stay private and your files get smaller. ## Related Tools - [Resize Image](https://pdfflare.com/tools/image/resize-image) — reduce dimensions before compressing - [Convert Image](https://pdfflare.com/tools/image/convert-image) — switch to WebP for smaller files - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim unnecessary areas to save space --- ## Frequently asked questions **Q: Can I compress images without any quality loss?** A: Yes — lossless compression reduces file size without any quality loss. However, savings are modest (10-30%). For dramatic reductions (50-80%), lossy compression is needed, but the difference is invisible to the human eye at moderate settings. **Q: What is the smallest I can make an image?** A: It depends on the image content and dimensions. A 4000x3000 photo can typically be compressed from 8 MB to under 500 KB. Reducing dimensions with the resize tool before compressing produces even smaller files. **Q: Should I compress images before or after resizing?** A: Resize first, then compress. Resizing reduces the pixel count, and compression works more effectively on smaller images. This combination produces the smallest files with the best quality. **Q: How do I compress images while keeping transparency?** A: Use PNG for images with transparency — JPG flattens transparent backgrounds to white. PDFFlare's Compress Image tool preserves PNG's alpha channel during compression. The trade-off: PNGs compress less aggressively than JPGs because they use lossless compression. For transparent UI elements and logos, PNG with palette compression is the right choice. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Generate a QR Code for Free (Complete Guide) URL: https://pdfflare.com/blog/how-to-generate-qr-code-free Published: April 14, 2026 Reading time: 7 min read > Create custom QR codes for URLs, text, WiFi, and more — free, no signup, no watermarks. Step-by-step guide using PDFFlare's QR code generator. --- QR codes are everywhere — restaurant menus, business cards, product packaging, event tickets, and marketing materials. They bridge the physical and digital worlds by letting anyone scan a small square image with their phone camera and instantly open a link, join a WiFi network, or save a contact. Creating a QR code is surprisingly simple. In this guide, we will show you how to generate QR codes for any purpose using [PDFFlare's free QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator), explain the different types of QR codes, and share tips for making sure your codes work reliably. ## What Can You Put in a QR Code? QR codes are more versatile than most people realize. Here are the most common use cases: - **Website URLs:** The most popular use. Scan and go directly to a webpage. Perfect for business cards, flyers, posters, and product packaging. - **Plain text:** Encode a short message, instructions, or serial number that displays when scanned. - **WiFi credentials:** Encode your network name, password, and encryption type. Guests scan the code and connect instantly — no typing long passwords. - **Email addresses:** Scanning opens a pre-filled email draft with the recipient, subject line, and optional body text already populated. - **Phone numbers:** Scanning triggers a phone call or saves the number to contacts. - **SMS messages:** Opens the messaging app with a pre-filled recipient and message. - **Calendar events:**Add an event directly to the scanner's calendar with date, time, location, and description. ## How to Generate a QR Code (Quick Steps) 1. **Open [PDFFlare's QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator)** in any browser. No account required. 2. **Pick what to encode** — URL, plain text, WiFi credentials, email, phone, SMS, or calendar event. 3. **Type your content.** The QR preview updates in real time so you can see what gets generated. 4. **Set error correction level** — Low (7%) for clean digital displays, High (30%) for printed codes that may get smudged or scratched. 5. **Download as PNG or SVG.** PNG for printing, SVG for scaling to any size without quality loss. ## QR Code Error Correction: When to Use Which QR codes can reconstruct missing data using error-correction levels. Higher correction = more redundant data = larger pattern, but tolerates more damage: - **Level L (7%):** Smallest pattern, but fragile. Only use for digital codes shown on a screen with no risk of damage. Bad choice for printed materials. - **Level M (15%):** Default for most uses. Balances size with reasonable damage tolerance. Good for general printed flyers, packaging. - **Level Q (25%):** Use when codes will be placed on surfaces that might smudge — drink coasters, outdoor signage, restaurant menus. - **Level H (30%):** Maximum tolerance. Required when adding a logo over the center of the code (the logo covers some modules; H level can recover from that). Also best for codes printed on uneven surfaces or in industrial environments. ## How to Generate a QR Code: Step-by-Step (Detailed) ### Step 1: Open the QR Code Generator Visit [PDFFlare's QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator). No account or installation needed. ### Step 2: Enter Your Content Type or paste the content you want to encode — a URL, text, WiFi credentials, or any other data. The tool generates the QR code in real time as you type. ### Step 3: Customize (Optional) Adjust the QR code settings to match your needs: - **Size:** Choose the dimensions based on where the code will be used. Larger codes are easier to scan from a distance. - **Error correction:** Higher error correction levels make the code scannable even when partially damaged or obscured. Use high correction if the code will be printed on materials that may get scratched or folded. ### Step 4: Download Download your QR code as a PNG image. The generated image is clean and high-resolution, suitable for both digital use and print. ## QR Code Best Practices - **Test before printing:** Always scan your QR code with at least two different phone cameras before committing to print. Test at the expected scanning distance. - **Maintain contrast:** QR codes need strong contrast between the dark modules and light background. Black on white is the safest choice. Avoid placing codes on busy or dark backgrounds. - **Add a quiet zone:** Leave white space (at least 4 module widths) around the QR code. If text or graphics crowd the edges, scanners may fail to detect the code. - **Size matters:** A QR code should be at least 2 cm x 2 cm (0.8 x 0.8 inches) for close-range scanning (business cards, packaging). For posters or signs, scale up proportionally to the expected scanning distance — roughly 10:1 (10 cm code for 1 meter distance). - **Use URL shorteners for long URLs:** Longer data creates denser QR codes that are harder to scan. If your URL is very long, shorten it first. - **Use higher error correction for physical media:** Printed codes get scratched, folded, and partially covered. Medium or high error correction ensures they still scan. ## Where to Use QR Codes - **Business cards:** Link to your website, LinkedIn profile, or digital portfolio. Saves the recipient from typing a URL manually. - **Restaurant menus:** Link to a digital menu that can be updated without reprinting. Standard practice since 2020. - **Product packaging:** Link to setup guides, warranty registration, or recipe ideas. - **Event materials:** Encode event details, ticket links, or WiFi credentials for attendees. - **Real estate signs:** Link to virtual tours, property listings, or contact forms. - **Classrooms:** Share assignment links, resource pages, or WiFi passwords with students. ## Common Questions ### Do QR codes expire? Static QR codes (like the ones PDFFlare generates) never expire. The data is encoded directly in the image. As long as the destination URL remains active, the code works forever. ### How much data can a QR code hold? A QR code can hold up to about 3,000 alphanumeric characters or 4,300 numeric characters. In practice, shorter data (URLs under 100 characters) produces cleaner, more easily scannable codes. ### Can QR codes be scanned from a screen? Yes. Modern phone cameras scan QR codes from screens, printed materials, and even projected images. Just ensure adequate brightness and contrast. ### Are QR codes secure? QR codes themselves are just data containers — they are as safe or risky as the content they encode. Always be cautious scanning QR codes from unknown sources, just as you would be cautious clicking unknown links. ## Workflow Notes Beyond the Basics QR codes have moved from gimmick to ubiquitous over the past decade, and free generators have followed by fragmenting into too many options with subtle differences. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up QR codes are a simple, powerful tool that connects physical and digital experiences. Whether you are creating a business card, a restaurant menu, or a classroom handout, PDFFlare's free QR code generator creates clean, high-resolution codes in seconds. No watermarks, no signup, no tracking. Just enter your content, generate, and download. It is that simple. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Color Converter](https://pdfflare.com/tools/dev/color-converter) and [Base64 Encoder](https://pdfflare.com/tools/dev/base64-encode-decode). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator) and [URL Encoder](https://pdfflare.com/tools/dev/url-encode-decode). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [URL Encode/Decode](https://pdfflare.com/tools/dev/url-encode-decode) — properly encode URLs before generating QR codes - [Base64 Encode/Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — encode short data payloads - [Color Converter](https://pdfflare.com/tools/dev/color-converter) — pick matching brand colors for styled QR codes --- ## Frequently asked questions **Q: Do QR codes expire?** A: Static QR codes like the ones PDFFlare generates never expire. The data is encoded directly in the image. As long as the destination URL remains active, the code works forever. **Q: How much data can a QR code hold?** A: A QR code can hold up to about 3,000 alphanumeric characters. In practice, shorter data under 100 characters produces cleaner, more easily scannable codes. **Q: Are QR codes secure?** A: QR codes are just data containers — they are as safe or risky as the content they encode. Always be cautious scanning QR codes from unknown sources, just as you would be cautious clicking unknown links. **Q: How long do generated QR codes stay scannable?** A: QR codes generated by PDFFlare are static — the URL or data is encoded directly into the pixel pattern. They never expire and don't depend on any third-party service. Print one on a business card today and it'll still scan ten years from now. The only thing that can “break” the QR code is if the URL it points to goes offline. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Compress a PDF for WhatsApp (Under 100MB Fast) URL: https://pdfflare.com/blog/compress-pdf-for-whatsapp Published: April 15, 2026 Reading time: 6 min read > Compress any PDF to send on WhatsApp. Reduce file size under 100MB in seconds — free, no signup, no quality loss. Step-by-step guide. --- You are trying to send a PDF on WhatsApp and you get that frustrating error: the file is too large. WhatsApp caps file attachments at 100 MB on most devices, and on older phones the practical limit is closer to 16 MB. Meanwhile, your scanned document, presentation, or report is well over that limit. The fix is simple: compress the PDF before sending. In this guide, we will show you exactly how to shrink a PDF for WhatsApp using [PDFFlare's free Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf), what compression settings to use, and how to keep your document looking great after compression. ## WhatsApp File Size Limits Before compressing, it helps to know exactly what WhatsApp allows: - **WhatsApp (most platforms):** 100 MB per document attachment. This applies to Android, iOS, and WhatsApp Web. - **WhatsApp Business API:** 100 MB for document messages sent through the API. - **Practical tip:** Even if your file is under 100 MB, smaller files send faster and download faster for the recipient — especially on mobile data. Aim for under 10 MB for the best experience. ## How to Compress a PDF for WhatsApp (Quick Steps) 1. **Open [PDFFlare's Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf)** in your phone or desktop browser. No app needed. 2. **Upload your PDF.** Drag-drop or browse — files up to 50 MB are accepted. 3. **Choose a quality preset** — Smallest for screen viewing on WhatsApp, Balanced for general use, High Quality if it might be printed. 4. **Click Compress.** Most PDFs shrink 50-80% in under a minute. 5. **Download and share to WhatsApp.** Tap the paper- clip in the chat, choose Document, attach the compressed file. The detailed walkthrough is below if you want the full breakdown. ## How to Compress a PDF for WhatsApp: Step-by-Step ### Step 1: Open the Compress PDF Tool Go to [PDFFlare's PDF Compressor](https://pdfflare.com/tools/pdf/compress-pdf). No app to install, no account to create — it works right in your phone or computer browser. ### Step 2: Upload Your PDF Tap the upload area or drag and drop your file. The tool accepts PDFs up to 50 MB on the free tier. Your file is uploaded securely and deleted immediately after processing. ### Step 3: Compress Click **Compress PDF**. The tool uses smart compression that reduces image resolution inside the PDF, removes unused metadata, and optimizes the internal structure — all while keeping text sharp and readable. ### Step 4: Download and Send Download your compressed PDF and send it on WhatsApp. Most PDFs shrink by 50-80%, easily bringing them under the 100 MB limit. ## What If My PDF Is Still Too Large? If your PDF is still over the limit after compression, try these strategies: - **Split the PDF:** Break a large document into smaller parts using [PDFFlare's Split PDF tool](https://pdfflare.com/tools/pdf/split-pdf). Send each part as a separate message. - **Remove unnecessary pages:** Delete blank pages, cover sheets, or appendices that the recipient does not need using [PDFFlare's Remove Pages tool](https://pdfflare.com/tools/pdf/remove-pdf-pages). - **Convert to images:** For visual-heavy PDFs like presentations or brochures, converting to JPG with [PDFFlare's PDF to JPG tool](https://pdfflare.com/tools/pdf/pdf-to-jpg) often produces much smaller files that display well on phones. ## Why Are Some PDFs So Large? Understanding what makes PDFs big helps you prevent the problem: - **Scanned documents:** Each page is a full-resolution image. A 20-page scanned document can easily be 50+ MB. - **High-resolution images:** PDFs with photos, diagrams, or charts embed those images at their original resolution, which is often far higher than needed for screen viewing. - **Embedded fonts:** Documents with many custom fonts embed the full font files, adding several MB. - **Layers and metadata:** Design files exported from Illustrator, InDesign, or CAD software often include hidden layers, editing metadata, and thumbnail previews that bloat file size. ## Common Mistakes When Sending PDFs on WhatsApp - **Sending a screenshot of the PDF instead of the PDF itself.** Phone cameras snap previews of open PDF pages, but screenshots lose searchability, are pixelated when zoomed, and can't be printed cleanly. Always attach via the document attachment, not the camera. - **Not checking the PDF on your own device first.** Aggressive compression can pixelate diagrams or thin text. Open the compressed file on your phone before sending — if anything looks bad, recompress with a higher quality preset. - **Compressing a multi-language PDF without checking characters.** Some compression workflows downsample non-Latin glyphs (Arabic, Chinese, Hindi). Verify the document still renders correctly, especially for character-heavy scripts. - **Forgetting recipient mobile data costs.**A 95 MB PDF technically fits the 100 MB cap, but downloading 95 MB on cellular eats most of someone's daily data plan. Aim for under 10 MB if your recipient is on mobile data. - **Sending password-protected PDFs without the password.** If you locked the PDF before sending, the recipient can't open it without the password. Either send the password separately or unlock the PDF first via [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf). ## Compressing on Mobile vs Desktop: Which Is Faster? PDFFlare works on both, but performance differs: - **Mobile browser:**Convenient if you're already on the phone with the file. Compression speed depends on the device — modern phones handle 20-30 MB PDFs in seconds, older phones may take a minute. - **Desktop / WhatsApp Web:**Faster for large files (40+ MB). Upload over Wi-Fi, compress, download, then share via WhatsApp Web's drag-drop. Most users find this combination faster end-to-end. - **Recommended workflow:**If the PDF is already on your phone and small (under 20 MB), do it all on mobile. If it's on your computer and larger, use desktop browser + WhatsApp Web. ## Tips for Sending PDFs on WhatsApp - **Send as a document, not a photo:** When sharing a PDF on WhatsApp, use the document attachment option (the paper clip icon) rather than the camera. This preserves the PDF format. - **Add a caption:** WhatsApp lets you add a caption to document attachments. Use it to describe the file so the recipient knows what they are opening. - **Check before sending:** Open the compressed PDF on your own device to make sure text is readable and images look acceptable before sending it to someone else. - **Use WhatsApp Web for large files:** Uploading from a computer via WhatsApp Web is faster than uploading from a phone, especially for files over 20 MB. ## Common Questions ### Does compressing a PDF reduce print quality? Compression reduces image resolution inside the PDF, which can affect print quality for photos. Text always remains sharp. For documents that will be printed, use lighter compression settings. For WhatsApp sharing (screen viewing only), aggressive compression is fine. ### Can I compress a PDF directly on my phone? Yes. PDFFlare works in any mobile browser — Safari on iPhone, Chrome on Android. Just visit the tool, upload your file, and download the compressed version. No app installation needed. ### Is there a limit on how many times I can compress? No. You can compress as many PDFs as you need, completely free. Each file is processed independently. ## Workflow Notes Beyond the Basics WhatsApp's file size limit creates a recurring inconvenience for anyone who relies on the platform for both personal and business document sharing. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Sending a PDF on WhatsApp should not require jumping through hoops. With PDFFlare, you can compress any PDF to fit within WhatsApp's limits in seconds — right from your browser, on any device. No app to download, no account to create. Just compress and send. ## Related Tools - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — break large PDFs into WhatsApp-friendly chunks - [PDF to JPG](https://pdfflare.com/tools/pdf/pdf-to-jpg) — send pages as images instead - [Remove PDF Pages](https://pdfflare.com/tools/pdf/remove-pdf-pages) — delete unneeded pages to shrink further --- ## Frequently asked questions **Q: What is WhatsApp's file size limit?** A: WhatsApp allows document attachments up to 100 MB on most platforms including Android, iOS, and WhatsApp Web. However, files under 10 MB send and download much faster, especially on mobile data. **Q: Does compressing a PDF reduce print quality?** A: Compression reduces image resolution inside the PDF, which can affect print quality for photos. Text always remains sharp. For documents that will only be viewed on screen (like WhatsApp), aggressive compression is fine. **Q: Can I compress a PDF directly on my phone?** A: Yes. PDFFlare works in any mobile browser — Safari on iPhone, Chrome on Android. Just visit the tool, upload your file, and download the compressed version. No app installation needed. **Q: Why does WhatsApp limit PDF size to 100 MB?** A: WhatsApp caps document attachments at 100 MB to keep delivery reliable across spotty mobile networks. Large files frequently fail mid-upload on slower connections, so the cap is really about reliability, not storage. Compressing to under 25 MB also helps when you forward the same file across multiple chats — each forward consumes bandwidth on the recipient's end too. **Q: Will compressing my PDF affect the text readability?** A: Text in compressed PDFs stays sharp at any zoom level — text rendering is vector-based and survives compression unchanged. Only embedded images get downsampled, and even then PDFFlare's “Balanced” preset keeps images visually identical at typical viewing distances. Use “Smallest” only for screen-only viewing where images can be slightly soft. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Make a PDF Smaller for Email Attachments URL: https://pdfflare.com/blog/reduce-pdf-size-for-email Published: April 15, 2026 Reading time: 7 min read > Reduce PDF file size to fit email attachment limits. Shrink PDFs under 25MB for Gmail, Outlook, and Yahoo — free, fast, no software needed. --- You have attached a PDF to an email, hit send, and immediately get a bounce-back: "attachment too large." Gmail caps attachments at 25 MB, Outlook at 20 MB, and many corporate email servers set even lower limits at 10 MB. Meanwhile, your report, presentation, or scanned document is sitting at 30, 40, or 50 MB. This guide will show you how to shrink any PDF to fit email attachment limits using [PDFFlare's free Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf), plus alternative strategies when compression alone is not enough. ## Email Attachment Size Limits Every email provider has a different limit. Here are the most common ones: - **Gmail:** 25 MB per email (total for all attachments combined) - **Outlook / Hotmail:** 20 MB per email - **Yahoo Mail:** 25 MB per email - **Apple iCloud Mail:** 20 MB per email - **Corporate email (Exchange):** Often 10-15 MB, set by IT administrators - **ProtonMail:** 25 MB per email Keep in mind that email encoding (MIME/Base64) adds roughly 33% to the attachment size. A 20 MB file becomes approximately 27 MB after encoding. To stay safe, aim for files under 15 MB for the broadest compatibility. ## How to Reduce PDF Size for Email: Step-by-Step ### Step 1: Open the Compress PDF Tool Go to [PDFFlare's PDF Compressor](https://pdfflare.com/tools/pdf/compress-pdf). It works in any browser — no software or account needed. ### Step 2: Upload Your PDF Drag and drop your oversized PDF or click to browse. The tool accepts files up to 50 MB. ### Step 3: Compress and Download Click **Compress PDF**. The tool optimizes images, strips unused metadata, and restructures the file internally. Most PDFs shrink by 50-80%. Download the result and check the file size — it should now fit within your email limit. ## Step-by-Step: Reduce PDF Size for Email The whole process takes under a minute and runs entirely in your browser: 1. **Open [PDFFlare's Compress PDF tool](https://pdfflare.com/tools/pdf/compress-pdf).** No signup required. 2. **Upload your PDF.** Drag-drop or click to browse. Files up to 50 MB are accepted. 3. **Pick a quality preset.** Smallest file = max compression for screen viewing; Balanced = good middle ground; High quality = preserves print-quality images. 4. **Click Compress.** The tool optimizes images, strips unused metadata, and restructures the file internally. 5. **Check the new size.** The result panel shows the before/after comparison. Most PDFs shrink 50-80%. 6. **Download and attach.** The output file is a standard PDF — open and verify it looks right before sending, then attach to your email. ## How Much Compression Is Realistic? Compression ratios vary widely based on what's inside the PDF: - **Image-heavy PDFs (scanned documents, photo books):** 70-90% reduction is typical. A 50 MB scan often compresses to 5-10 MB without visible quality loss on screen. - **Text-heavy PDFs with some images (reports, articles):** 40-60% reduction is normal. A 20 MB report drops to 8-12 MB. - **Pure text PDFs (ebooks, papers):**10-30% reduction. There's less to compress because text is already compact. If your text-only PDF is huge, the bulk is probably in embedded fonts — see below. - **Already-optimized PDFs:**0-10% additional reduction. PDFs that have been compressed before don't shrink much on a second pass. Don't over-compress — quality degrades faster than size. ## Common Mistakes When Compressing for Email - **Forgetting to leave headroom for encoding overhead.** Email encoding adds ~33%. A 24 MB file fails Gmail's 25 MB limit. Aim for 18 MB or under to be safe. - **Not testing on the recipient's server.** Your provider allows 25 MB, but their corporate server might cap at 10 MB. If a critical email bounces, ask the recipient what their attachment limit is. - **Compressing a password-protected PDF.** Locked PDFs need to be unlocked first via [Unlock PDF](https://pdfflare.com/tools/pdf/unlock-pdf), then compressed, then re-protected with [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf). - **Using maximum compression on a print-bound document.** Aggressive image downsampling looks fine on screen but pixelates when printed. If the recipient may print, use the Balanced or High Quality preset. - **Compressing the wrong way around.**If the issue is too many high-resolution photos in a Word doc that you're going to convert to PDF, resize the photos first with [Resize Image](https://pdfflare.com/tools/image/resize-image), then export to PDF. Compressing after the fact is less efficient than starting smaller. ## Alternative Strategies for Very Large PDFs If your PDF is still too large after compression, here are additional approaches: - **Split into multiple emails:** Use [PDFFlare's Split PDF tool](https://pdfflare.com/tools/pdf/split-pdf) to break the document into smaller parts. Send each part as a separate attachment across multiple emails. - **Remove unnecessary pages:** Does the recipient need the full document? Use [Remove Pages](https://pdfflare.com/tools/pdf/remove-pdf-pages) to strip out cover pages, appendices, or blank pages. - **Use cloud sharing instead:** Upload the full PDF to Google Drive, OneDrive, or Dropbox and share the link via email. This bypasses attachment limits entirely. - **Convert images to lower resolution:** If the PDF contains high-resolution photos, the compression tool reduces their resolution to screen-friendly levels while keeping text sharp. ## Why Are PDF Attachments Bouncing? Email attachment rejections can be confusing because the limits are not always obvious: - **Combined attachment limit:**If you attach multiple files, the limit applies to the total size. Three 8 MB files exceed Gmail's 25 MB limit once encoding overhead is added. - **Recipient's server limit:**Even if your email provider allows 25 MB, the recipient's server may have a lower limit. Corporate servers often cap at 10 MB. - **Base64 encoding bloat:** Email attachments are encoded in Base64 for transmission, which increases the data size by approximately 33%. A 19 MB file may actually fail a 25 MB limit. ## Preventing Large PDFs in the First Place - **Export at lower resolution:** When creating PDFs from Word, PowerPoint, or design tools, export at 150 DPI for screen viewing instead of 300 DPI for print. This can cut file size in half. - **Resize images before inserting:** Resize large photos to the actual display size before inserting them into documents. A 4000px wide photo in an 800px column wastes space. Use [PDFFlare's Resize Image tool](https://pdfflare.com/tools/image/resize-image). - **Avoid scanning at maximum DPI:** 200-300 DPI is plenty for document scans. Scanning at 600 DPI quadruples file size with no visible benefit for normal documents. ## Common Questions ### Will compression make my PDF unreadable? No. Compression reduces image resolution and removes metadata but keeps text perfectly sharp and readable. The visual difference is negligible for screen viewing. For documents that will be printed at high quality, use lighter compression. ### Can I compress password-protected PDFs? You need to remove the password first. Use [PDFFlare's Unlock PDF tool](https://pdfflare.com/tools/pdf/unlock-pdf), compress the file, then [re-add password protection](https://pdfflare.com/tools/pdf/password-protect-pdf) if needed. ### Gmail says "use Google Drive instead" — should I? Gmail automatically suggests Google Drive for files over 25 MB. This works well, but the recipient needs to click a link and open Drive. If you want a direct attachment (easier for the recipient), compressing below 25 MB is the better option. ## Workflow Notes Beyond the Basics PDF size limits in email are among the most-encountered file management constraints in modern work, hitting people who otherwise never think about file formats. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Email attachment limits are a daily annoyance, but they do not have to block your workflow. PDFFlare compresses most PDFs well under email limits in a single click — no software, no signup, and your files stay private. Compress, attach, send. Done. ## Related Tools - [Split PDF](https://pdfflare.com/tools/pdf/split-pdf) — send large PDFs as multiple emails - [Sign PDF](https://pdfflare.com/tools/pdf/sign-pdf) — sign before sending - [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) — secure the email attachment --- ## Frequently asked questions **Q: Will compression make my PDF unreadable?** A: No. Compression reduces image resolution and removes metadata but keeps text perfectly sharp and readable. The visual difference is negligible for screen viewing. **Q: Can I compress password-protected PDFs?** A: You need to remove the password first using PDFFlare's Unlock PDF tool, compress the file, then re-add password protection if needed. **Q: Why does Gmail say my 20MB file is too large?** A: Email encoding (MIME/Base64) adds roughly 33% to the attachment size during transmission. A 20 MB file becomes approximately 27 MB after encoding, exceeding Gmail's 25 MB limit. Aim for files under 15 MB for the broadest compatibility. **Q: Why does my email keep bouncing even after compressing the PDF?** A: Some corporate mail servers reject any PDF above 5-10 MB regardless of the recipient's personal inbox limit. Gmail's 25 MB cap is generous; many enterprise filters are stricter. If a recipient's server bounces a 15 MB compressed PDF, you have two options: compress further (PDFFlare's “Smallest” preset gets most invoices under 5 MB) or share via a cloud link (Google Drive, Dropbox) instead of attaching. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Resize Photos for Passport and Visa Applications URL: https://pdfflare.com/blog/resize-photo-for-passport-visa Published: April 15, 2026 Reading time: 7 min read > Resize photos to exact passport and visa dimensions — 2x2, 35x45mm, 600x600px. Free browser tool with crop and aspect ratio control. --- Every country has specific size requirements for passport and visa photos, and getting them wrong means your application gets rejected. The US requires 2x2 inches (600x600 pixels), most European countries require 35x45mm, and India requires 2x2 inches at specific file sizes. On top of that, many online application portals enforce exact pixel dimensions and file size limits down to the kilobyte. In this guide, we will walk you through resizing photos to meet passport and visa requirements using [PDFFlare's free Resize Image tool](https://pdfflare.com/tools/image/resize-image) and [Crop Image tool](https://pdfflare.com/tools/image/crop-image), with exact dimensions for the most common countries. ## Passport Photo Sizes by Country Here are the exact requirements for the most commonly searched passport and visa photo sizes: - **United States:** 2 x 2 inches (51 x 51 mm). Digital: 600 x 600 pixels minimum, 1200 x 1200 pixels maximum. File size: between 54 KB and 10 MB. Format: JPEG. - **United Kingdom:** 35 x 45 mm. Digital: 600 x 750 pixels minimum. File size: under 10 MB. Format: JPEG. - **European Union (Schengen):** 35 x 45 mm. Most embassies accept 413 x 531 pixels at 300 DPI. - **India:** 2 x 2 inches (51 x 51 mm). Digital: 350 x 350 pixels minimum. File size: 10 KB to 300 KB. Format: JPEG. - **Canada:** 50 x 70 mm for physical prints. Digital: 420 x 540 pixels minimum. File size: under 4 MB. - **Australia:** 35 x 45 mm. Digital: 413 x 531 pixels. File size: under 5 MB. Format: JPEG. - **China:** 33 x 48 mm. Digital: 354 x 472 pixels at 300 DPI. File size: 40 KB to 120 KB. ## How to Resize a Passport Photo (Quick Steps) 1. **Crop to the right aspect ratio first** using [PDFFlare's Crop Image tool](https://pdfflare.com/tools/image/crop-image) — 1:1 square for US, 7:9 for UK/EU. 2. **Resize to the exact pixel dimensions**required by your country's portal — see the table above. 3. **Compress if needed** to stay within the file- size limit. Most portals require 100 KB to 10 MB; some are stricter (India: 10-300 KB). 4. **Save as JPEG.** Almost every portal requires JPG/JPEG — not HEIC, PNG, or WebP. 5. **Preview the final image** at full size to confirm sharpness and that your face is centered before uploading. ## Common Passport Photo Rejection Reasons Most rejection notices fall into one of these buckets — fix before reapplying: - **Wrong dimensions or DPI.** Off by even 5 pixels from the spec, an automated portal rejects it. Always resize to the EXACT spec, not approximate. - **Background not white or off-white.** Most countries require a plain white or light grey background. Patterns, shadows, or other people in the background fail. - **Head too large or too small in frame.** Typically the head should fill 50-69% of the photo height. Too zoomed in or too far away both fail. - **Smiling, glasses, or hat.** Most countries require neutral expression, no glasses (with rare medical exceptions), no head covering except for religious reasons. - **Shadows on face or background.** Even soft shadows can cause rejection. Photograph in even, diffused light — close to a window, no direct sun. - **File size out of range.** Especially common for India (10-300 KB) — a high-resolution photo at 2 MB fails the upper bound. Compress to fit. - **Wrong format.**HEIC files from iPhone won't upload. Convert to JPEG first via [Convert Image](https://pdfflare.com/tools/image/convert-image). ## How to Resize a Photo for Passport: Step-by-Step (Detailed) ### Step 1: Crop to the Correct Aspect Ratio Start with [PDFFlare's Crop Image tool](https://pdfflare.com/tools/image/crop-image). Upload your photo and crop it to the required aspect ratio. For US passports (2x2 inches), use a 1:1 square crop. For UK/EU passports (35x45mm), use a 7:9 ratio. Make sure your head and shoulders are centered in the frame. ### Step 2: Resize to Exact Dimensions Open [PDFFlare's Resize Image tool](https://pdfflare.com/tools/image/resize-image). Upload your cropped photo and enter the exact pixel dimensions required. For example, 600x600 for a US passport or 413x531 for a UK passport. ### Step 3: Check File Size Many portals enforce file size limits (for example, India requires 10-300 KB). If your file is too large, use [PDFFlare's Compress Image tool](https://pdfflare.com/tools/image/compress-image) to reduce the file size. Adjust the quality slider until you hit the target range. ### Step 4: Download and Submit Download your resized, properly sized photo and upload it to the application portal. Double-check the dimensions in the file properties before submitting. ## Photo Content Requirements Getting the dimensions right is only half the battle. Most countries also have strict rules about the photo content: - **Background:** Plain white or off-white for most countries. Some (like India) accept a light-colored background. - **Expression:** Neutral expression with mouth closed. No smiling in most countries. - **Head position:** Straight-on, not tilted or turned. Both ears visible in many countries. - **Head size:** Your head should fill 50-70% of the frame height. Too close or too far will be rejected. - **Glasses:** Most countries now require photos without glasses, even prescription ones. The US banned glasses in passport photos in 2016. - **Lighting:** Even lighting with no shadows on the face or background. No red-eye. ## Tips for Taking a Good Passport Photo at Home - **Use natural light:** Stand facing a window for soft, even illumination. Avoid direct sunlight which creates harsh shadows. - **White wall background:** Stand about 1 meter in front of a plain white wall. Hang a white bedsheet if you do not have a suitable wall. - **Camera height:** Position the camera at eye level. Have someone else take the photo or use a tripod with a timer. - **Phone camera is fine:** Modern smartphones have more than enough resolution for passport photos. Use the rear camera (not selfie camera) for better quality. - **Take multiple shots:** Take 10-15 photos and pick the best one. Small differences in expression, head position, and lighting can mean the difference between acceptance and rejection. ## Common Questions ### Can I use a selfie for a passport photo? Technically yes, if it meets all the requirements. However, selfies often have distortion from the wide-angle front camera and it is difficult to get the correct head-to-frame ratio. Using the rear camera with a timer or having someone else take the photo produces much better results. ### My photo was rejected — what should I check? The most common rejection reasons are: wrong dimensions, file too large or too small, shadows on the face or background, head too large or too small in the frame, and glasses. Fix the issue and re-submit. ### Do I need to convert to JPEG? Most portals require JPEG format specifically. If your photo is PNG or HEIC, use [PDFFlare's Image Converter](https://pdfflare.com/tools/image/convert-image) to convert it to JPEG before uploading. ## Workflow Notes Beyond the Basics Passport and visa photo specifications are deceptively strict, and a photo that looks fine to the eye can still be rejected on technical grounds. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Getting your passport or visa photo rejected wastes time and delays your application. With PDFFlare's free image tools, you can crop, resize, and compress your photo to exact specifications in minutes — all from your browser, on any device. No photo studio visit, no software to install. Just crop, resize, and submit with confidence. ## Related Tools - [Compress Image](https://pdfflare.com/tools/image/compress-image) — hit the maximum file size limit - [Crop Image](https://pdfflare.com/tools/image/crop-image) — perfect the head and shoulder framing - [Convert Image](https://pdfflare.com/tools/image/convert-image) — convert to the required JPEG format --- ## Frequently asked questions **Q: Can I use a selfie for a passport photo?** A: Technically yes if it meets all requirements, but selfies often have distortion from the wide-angle front camera. Using the rear camera with a timer or having someone else take the photo produces much better results. **Q: My photo was rejected — what should I check?** A: The most common rejection reasons are: wrong dimensions, file too large or too small, shadows on face or background, head too large or too small in frame, and glasses. Fix the specific issue and resubmit. **Q: Do I need to convert to JPEG?** A: Most passport application portals require JPEG format specifically. If your photo is PNG or HEIC, use PDFFlare's Image Converter to convert it to JPEG before uploading. **Q: Will my passport photo be rejected if it's 1 pixel off the required size?** A: Most passport-photo authorities accept photos within a small tolerance (typically ±2-5 pixels on each dimension). PDFFlare's passport presets target the exact center of each country's spec, so a converted photo will pass nearly every system. For high-stakes submissions (visa interviews, immigration applications), use the embassy's official preview tool to verify the final photo before printing. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert HEIC to JPG (iPhone Photos for Windows) URL: https://pdfflare.com/blog/convert-heic-to-jpg-iphone-photos Published: April 15, 2026 Reading time: 7 min read > Convert iPhone HEIC photos to JPG for free. Open HEIC files on Windows, upload to websites, or share with anyone — no software needed. --- You took photos on your iPhone, transferred them to your Windows PC, and now you cannot open them. The files end in .HEIC and Windows shows a blank thumbnail or an error. You try to upload one to a website and it says "unsupported format." Welcome to the HEIC problem — one of the most common image compatibility headaches today. HEIC (High Efficiency Image Container) is the default photo format on iPhones since iOS 11. It produces smaller files than JPG at the same quality, which saves storage space. The catch: Windows, many websites, and older apps do not support it natively. The solution is simple — convert to JPG. This guide shows you how using [PDFFlare's free Image Converter](https://pdfflare.com/tools/image/convert-image). ## Why iPhones Use HEIC Instead of JPG Apple adopted HEIC for good reasons: - **Smaller files:** HEIC photos are roughly 50% smaller than equivalent JPGs. A 3 MB JPG becomes a 1.5 MB HEIC with no visible quality difference. This means more photos on your phone. - **Better quality:** HEIC supports 16-bit color depth (vs 8-bit for JPG), wider color gamuts, and better dynamic range. Your photos retain more detail in shadows and highlights. - **Advanced features:** HEIC supports transparency, image sequences (Live Photos), and depth maps — none of which JPG can handle. The downside is compatibility. Until HEIC support becomes universal, converting to JPG remains necessary for sharing, uploading, and cross-platform use. ## How to Convert HEIC to JPG (Quick Steps) 1. **Open [PDFFlare's Image Converter](https://pdfflare.com/tools/image/convert-image)** — works in any browser, no install. 2. **Upload your HEIC files.** Drag-drop or browse — multiple files at once for batch conversion. 3. **Pick JPG as the output format.** Optionally adjust the quality slider (90% is a good default). 4. **Click Convert.** Each file is processed in your browser — fast even on older PCs. 5. **Download.** Save the resulting JPGs anywhere — Windows Photos, websites, email, print services all accept them. ## How to Convert HEIC to JPG: Step-by-Step (Detailed) ### Step 1: Open the Image Converter Visit [PDFFlare's Image Converter](https://pdfflare.com/tools/image/convert-image). No account or software installation needed — it works in any browser on any device. ### Step 2: Upload Your HEIC Files Drag and drop your .HEIC or .HEIF files, or click to browse. You can upload multiple files at once for batch conversion. Everything is processed locally in your browser — your photos never leave your device. ### Step 3: Select JPG as Output Format Choose JPG as the output format. The converter preserves the full quality of your original HEIC photos in the converted JPGs. ### Step 4: Download Click **Convert** and download your JPG files. They are now compatible with every device, website, and application. ## Prevent the Problem: Change iPhone Settings If you frequently need JPGs, you can configure your iPhone to shoot in JPG format instead of HEIC: - **Camera format:**Go to Settings → Camera → Formats → select "Most Compatible." This saves photos as JPG directly. The trade-off is larger files that use more storage. - **Transfer setting:**Go to Settings → Photos → Transfer to Mac or PC → select "Automatic." This converts HEIC to JPG automatically when transferring to a Windows PC, while keeping HEIC on the phone. The "Automatic" transfer setting is the best of both worlds: your phone saves space with HEIC, but Windows gets JPGs automatically. ## Common Mistakes Converting HEIC to JPG - **Converting at 100% quality unnecessarily.** JPG at 90% quality is visually indistinguishable from 100% but roughly 30-40% smaller. For most uses (web, social media, sharing), 85-92% quality is the sweet spot. - **Forgetting EXIF data is partially preserved.** HEIC stores EXIF metadata (date, location, camera settings). Most converters preserve this — including PDFFlare. If you're sharing photos publicly, strip EXIF first to avoid leaking location data. PDFFlare gives you the option to strip metadata during conversion. - **Re-converting JPG back to HEIC, then to JPG again.** Each lossy round-trip degrades quality slightly. Convert once and keep the JPG; don't re-encode unnecessarily. - **Not handling Live Photos correctly.** A Live Photo on iPhone is actually a HEIC + a short MOV video. The converter extracts the still image — the video portion is lost unless you separately export the MOV from the iPhone Photos app. - **Converting one at a time when you have hundreds.** Use batch mode — drop all photos at once. PDFFlare processes them in parallel and downloads a ZIP. ## HEIC vs JPG vs PNG: Which to Convert To? - **JPG:** Best general choice. Smallest file, widest compatibility, looks great. Use for photos, social media uploads, email attachments, websites. - **PNG:** Use when you need lossless quality or transparency. Files are 3-5× larger than JPG. Best for screenshots, graphics, or when the image will be re-edited multiple times. - **WebP:** Modern web format. Smaller than JPG at equivalent quality, supports transparency. Use for website images where modern browsers will display them. Older browsers may need a JPG fallback. - **HEIC (no conversion):**Keep HEIC for storage on modern Apple devices. Convert to JPG only when you need to share with non-Apple recipients or upload to a service that doesn't support HEIC. ## Where HEIC Causes Problems - **Windows (older versions):**Windows 10 and 11 can open HEIC if you install the free "HEIF Image Extensions" from the Microsoft Store. Without it, HEIC files show as blank icons. - **Websites and forms:** Most website upload forms accept JPG and PNG but not HEIC. Social media platforms, job application portals, and government websites often reject HEIC uploads. - **Email:** Recipients on older devices or non-Apple platforms may not be able to view HEIC attachments. - **Older software:** Photo editing tools, document editors, and presentation software that have not been updated may not recognize HEIC files. - **Printing services:** Most online photo printing services require JPG uploads. ## HEIC vs JPG: Quick Comparison - **File size:** HEIC is ~50% smaller at equal quality - **Quality:** HEIC is slightly better (16-bit vs 8-bit color) - **Compatibility:** JPG works everywhere; HEIC needs modern Apple/Android devices - **Transparency:** HEIC supports it; JPG does not - **Editing:** Both are widely supported by modern editors For more on image format differences, read our [PNG vs JPG vs WebP comparison guide](https://pdfflare.com/blog/png-vs-jpg-vs-webp-comparison). ## Common Questions ### Does converting HEIC to JPG lose quality? There is a minimal quality reduction because JPG uses lossy compression while HEIC can preserve more data. In practice, the difference is invisible to the human eye at high quality settings. ### Can I convert HEIC to PNG instead? Yes. PDFFlare's Image Converter supports PNG output as well. Choose PNG if you need lossless quality or transparency support. The files will be larger than JPG. ### Why can my Mac open HEIC but my Windows PC cannot? macOS has native HEIC support built in since macOS High Sierra (2017). Windows requires a separate codec (HEIF Image Extensions from the Microsoft Store). Once installed, Windows handles HEIC natively. ## Workflow Notes Beyond the Basics HEIC support unevenly across the software you use day to day, and the gaps still trip up people who never expected to think about file formats at all. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up The HEIC compatibility problem will eventually go away as more platforms add native support. Until then, converting to JPG is the fastest way to ensure your iPhone photos work everywhere. PDFFlare converts HEIC to JPG right in your browser — no uploads to external servers, no software, no accounts. Just drag, convert, and download. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Resize Image](https://pdfflare.com/tools/image/resize-image) and [Photo to PDF](https://pdfflare.com/tools/pdf/jpg-to-pdf). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Convert Image](https://pdfflare.com/tools/image/convert-image) and [Compress Image](https://pdfflare.com/tools/image/compress-image). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Compress Image](https://pdfflare.com/tools/image/compress-image) — shrink JPGs for web upload - [Resize Image](https://pdfflare.com/tools/image/resize-image) — adjust dimensions after conversion - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim the JPG after converting --- ## Frequently asked questions **Q: Does converting HEIC to JPG lose quality?** A: There is a minimal quality reduction because JPG uses lossy compression while HEIC preserves more data. In practice, the difference is invisible to the human eye at high quality settings. **Q: Can I convert HEIC to PNG instead?** A: Yes. PDFFlare's Image Converter supports PNG output as well. Choose PNG if you need lossless quality or transparency support. Files will be larger than JPG. **Q: Why can my Mac open HEIC but Windows cannot?** A: macOS has native HEIC support built in since 2017. Windows requires a separate codec (HEIF Image Extensions from the Microsoft Store). Once installed, Windows handles HEIC natively. **Q: Will I lose photo quality converting HEIC to JPG?** A: HEIC uses more efficient compression than JPG, so a converted JPG is typically 1.5-2x larger than the original HEIC at equivalent visible quality. PDFFlare uses high-quality JPG encoding (quality 92) by default — visually indistinguishable from the original on any normal screen. If you're archiving photos and want lossless quality, convert to PNG instead. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Create a QR Code for Your WiFi Password URL: https://pdfflare.com/blog/create-qr-code-wifi-password Published: April 15, 2026 Reading time: 6 min read > Generate a WiFi QR code so guests connect instantly — no typing passwords. Free, no signup, works on any phone. Step-by-step guide. --- Every time a guest visits your home or a customer walks into your cafe, the same conversation happens: "What's the WiFi password?" Then you spell out a long, complex password while they fumble with their phone keyboard, mistype it twice, and ask you to repeat it. There is a better way. A WiFi QR code lets anyone scan a small image with their phone camera and connect to your network instantly — no typing, no spelling, no frustration. This guide shows you how to create one in under a minute using [PDFFlare's free QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator). ## How WiFi QR Codes Work A WiFi QR code encodes three pieces of information in a standard format that phones recognize automatically: - **Network name (SSID):** The name of your WiFi network - **Password:** Your WiFi password - **Encryption type:** WPA/WPA2 (most common), WPA3, or WEP When someone scans the code, their phone reads this data and offers to connect to the network with one tap. No manual entry needed. Both iPhone (iOS 11+) and Android (9+) support WiFi QR codes natively through their built-in camera apps. ## How to Create a WiFi QR Code (Quick Steps) 1. **Find your WiFi name (SSID), password, and security type** (almost always WPA2 or WPA3). 2. **Open [PDFFlare's QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator)** in any browser. 3. **Type the WiFi format string:** `WIFI:T:WPA;S:YourSSID;P:YourPassword;;` (replace with your real SSID and password). 4. **Generate.** Download as PNG (best for printing) or SVG (best for digital displays). 5. **Print and place** near your router, on a guest counter, or on a fridge magnet. Detailed walk-through of each step below. ## How to Create a WiFi QR Code: Step-by-Step (Detailed) ### Step 1: Find Your WiFi Details You need three things before starting: - **Network name (SSID):** The exact name that appears in the WiFi list on your devices. It is case-sensitive. - **Password:** Your WiFi password, exactly as configured on your router. - **Security type:** Almost all modern routers use WPA2 or WPA3. If unsure, check your router settings or try WPA2 — it works for the vast majority of networks. ### Step 2: Open the QR Code Generator Go to [PDFFlare's QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator). No account or app needed. ### Step 3: Enter WiFi Details Enter your WiFi credentials in the text field using this format: **WIFI:T:WPA;S:YourNetworkName;P:YourPassword;;** Replace **YourNetworkName** with your actual SSID and **YourPassword** with your actual password. If your network uses WPA3, change WPA to SAE. For open networks (no password), use: WIFI:T:nopass;S:YourNetworkName;; ### Step 4: Download and Print The QR code generates instantly. Download the PNG image. Print it and place it somewhere visible — near your router, on the fridge, at the reception desk, or on a table tent in your cafe. ## Where to Display Your WiFi QR Code - **Home:** Print and frame it near your front door or on the fridge. Guests scan it on arrival. - **Cafe or restaurant:** Print on table tents, menus, or a small sign at the counter. No more staff interruptions for WiFi passwords. - **Office:** Display in meeting rooms, reception areas, and conference spaces. New visitors connect without bothering IT. - **Airbnb or rental:** Include in your welcome packet or frame it in the living room. One fewer question from guests. - **Retail store:** Display near the checkout or entrance so customers can browse your website on fast WiFi. ## Common WiFi QR Code Mistakes - **Wrong security type.**If your router uses WPA3, scanning a QR code generated with WPA2 may fail or fall back silently. Check your router's admin panel — if you see “WPA3” or “SAE,” use SAE in the QR code string. - **Special characters in the password breaking the encoding.** If your password contains `;`, `:`, `,`, or `\`, you must escape them with a backslash: `P:my\;password\:here`. Otherwise the parser stops at the unescaped character and the password is incomplete. - **Hidden SSID networks.** If your network is set to hidden, add `H:true;` to the QR string. Otherwise iPhones often refuse to auto-connect to a hidden network from a QR scan. - **Unicode characters in SSID or password.** SSIDs with emoji or non-Latin characters can render fine in the QR code but trip up some scanners. Test the QR code with both an iPhone and an Android before relying on it for guests. - **Printing too small.**A QR code under 1 inch (2.5 cm) on paper may not scan reliably from arm's length. Print at 1.5-2 inches for guest displays. The QR code algorithm tolerates dirt and partial occlusion well, but only if the modules (the little squares) are large enough. ## How Iphone vs Android Handle WiFi QR Codes - **iPhone (iOS 11+):** Native support via the Camera app. Open Camera, point at the QR code, tap the yellow notification at the top. The phone offers to join the network. - **Android (9+):** Native support via the Camera or Google Lens. Some manufacturers (Samsung, Pixel) embed it in the camera; others require Google Lens or a QR scanner app. - **Older devices:**Need a third-party QR scanner app. Free options abound on both app stores. PDFFlare's generated codes follow the standard `WIFI:` URI scheme and work with every compliant scanner. - **Laptops:** No native scanning, but you can hold up a phone to scan and then connect the laptop manually with the same password. Or use a webcam-based QR reader on Windows/Mac. ## Privacy: Your Data Stays Local PDFFlare's QR generator runs entirely in your browser. The WiFi password you type for encoding never leaves your device. The generated QR image is rendered locally and downloaded directly — no server-side processing, no logs, no risk of password leakage. Safe to use even for sensitive corporate guest networks. ## Security Considerations Sharing your WiFi password via QR code is as secure as writing it on a piece of paper — anyone who can see the code can connect. Here are some tips to stay safe: - **Use a guest network:** Most modern routers support a separate guest network that isolates visitors from your main devices. Create the QR code for the guest network, not your primary one. - **Change passwords periodically:** For businesses, rotate the WiFi password monthly and print a new QR code. This prevents former visitors from having permanent access. - **Do not post publicly:** If you display a QR code outdoors or in a window, anyone passing by can scan it. Keep it inside where only intended guests can access it. - **Use WPA3 if available:** WPA3 provides stronger encryption than WPA2. If your router supports it, use it. ## Common Questions ### Does the QR code stop working if I change my WiFi password? Yes. The password is encoded in the QR code at generation time. If you change your WiFi password, you need to generate and print a new QR code. ### Can iPhones scan WiFi QR codes? Yes. Any iPhone running iOS 11 or later (2017+) can scan WiFi QR codes using the built-in camera app. A prompt appears asking if you want to join the network — tap it and you are connected. ### What about Android phones? Android phones running Android 10 or later scan WiFi QR codes natively through the camera app. Older Android versions can use Google Lens or any QR code scanner app. ### Can I include the QR code in a PDF? Absolutely. Download the QR code image and insert it into any document — a welcome guide, a menu, or a flyer. You can even convert it to a PDF using [PDFFlare's JPG to PDF tool](https://pdfflare.com/tools/pdf/jpg-to-pdf). ## Workflow Notes Beyond the Basics QR codes for Wi-Fi credentials are the small convenience that makes guest networks actually usable, and getting the format right is more involved than the basic concept suggests. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up A WiFi QR code is a tiny quality-of-life upgrade that makes a surprisingly big difference. No more spelling passwords, no more mistyped characters, no more interruptions. Just scan and connect. PDFFlare generates WiFi QR codes for free in seconds. No app, no account, no watermarks. Print it once and you are set. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[URL Encode/Decode](https://pdfflare.com/tools/dev/url-encode-decode) and [Color Converter](https://pdfflare.com/tools/dev/color-converter). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator) — create QR codes for URLs, text, and more - [URL Encode/Decode](https://pdfflare.com/tools/dev/url-encode-decode) — encode URLs for QR code payloads - [Base64 Encode/Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — encode binary data for QR codes --- ## Frequently asked questions **Q: Does the QR code stop working if I change my WiFi password?** A: Yes. The password is encoded in the QR code at generation time. If you change your WiFi password, you need to generate and print a new QR code. **Q: Can iPhones scan WiFi QR codes?** A: Yes. Any iPhone running iOS 11 or later (2017+) can scan WiFi QR codes using the built-in camera app. A prompt appears asking to join the network — tap it and you are connected. **Q: What about Android phones?** A: Android 10 and later scan WiFi QR codes natively through the camera app. Older versions can use Google Lens or any QR code scanner app. **Q: Will my Wi-Fi password be visible to anyone who scans the QR code?** A: Yes — anyone who scans the QR code gets your Wi-Fi password in plain text. That's the whole point of the format. Treat the QR code itself as if it were the password: don't print it on a flyer that goes home with people, don't include it in a publicly-displayed sign for a private network. For a guest network you actively want shared, the QR code is fine. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Sign a PDF Online for Free (Draw, Type, or Upload) URL: https://pdfflare.com/blog/how-to-sign-pdf-online-free Published: April 15, 2026 Reading time: 8 min read > Sign any PDF document for free — draw your signature, type it with a handwriting font, or upload an image. No software, no signup, 100% browser-based. --- You just received a contract in your inbox. It needs your signature and has to be returned by end of day. You could print it, sign it, scan it, and email it back — or you could skip all of that and sign it digitally in 30 seconds. No printer. No scanner. No app to install. In this guide, we will walk through how to sign any PDF document for free using [PDFFlare's Sign PDF tool](https://pdfflare.com/tools/pdf/sign-pdf), explain the three different signature methods (draw, type, and upload), and cover everything you need to know about electronic signatures. ## Why Sign PDFs Digitally? The print-sign-scan workflow is not just inconvenient — it is genuinely wasteful. Here is why digital signing is better in almost every scenario: - **Speed:** A digital signature takes seconds. The print-sign-scan loop takes 10-15 minutes minimum, assuming you have a working printer and scanner nearby. - **No equipment needed:** All you need is a browser. No printer, no scanner, no stylus, no special software. It works on your laptop, tablet, or phone. - **Better quality:** Scanned signatures look grainy and often skew the page. A digital signature is clean, sharp, and placed exactly where you want it. - **Environmental impact:** Printing a document just to sign one page is wasteful. Going paperless for signatures is one of the easiest green choices you can make. - **Remote-friendly:** You can sign a document from anywhere — on a train, at a café, or in bed at midnight. No need to be near a printer. ## How to Sign a PDF with PDFFlare: Step by Step PDFFlare's signing tool runs entirely in your browser. Your PDF is never uploaded to any server — everything happens on your device. 1. **Open the [Sign PDF tool](https://pdfflare.com/tools/pdf/sign-pdf)** — no account or signup needed. 2. **Upload your PDF:** Drag and drop or click to browse. The document preview loads instantly. 3. **Create your signature:** Choose one of three methods — draw it freehand, type your name with a handwriting font, or upload a signature image. More details on each method below. 4. **Position the signature:** Drag your signature to the correct spot on the page. Use the corner handle to resize. Navigate between pages if you need to sign a different one. 5. **Add a date (optional):**Check the date option to include today's date below your signature. You can edit the date text before applying. 6. **Click "Sign & Download PDF":** Your signed document downloads immediately. ## Three Ways to Create Your Signature ### Method 1: Draw Your Signature The draw mode gives you a blank canvas where you can sign with your mouse (on desktop) or your finger (on mobile/tablet). This produces the most natural-looking signature because it captures your actual handwriting. Tips for drawing a clean signature: - Use a steady, confident stroke — hesitant, slow movements look shaky. - On mobile, use the tip of your finger and rest your palm off the screen to avoid accidental marks. - If it does not look right, hit Clear and try again. Practice makes perfect. ### Method 2: Type Your Signature Type your name and choose from five handwriting-style fonts: Dancing Script, Great Vibes, Caveat, Sacramento, and Pacifico. Each font renders your name in a distinct style — from elegant and flowing to casual and relaxed. This method is ideal when you want a clean, consistent signature that looks the same every time. It is also the fastest option — just type and pick a font. ### Method 3: Upload a Signature Image If you already have a signature saved as an image (from a previous scan, a digital drawing app, or a signature pad), you can upload it directly. PDFFlare accepts PNG, JPG, and SVG files. For the best results, use a signature image with a white or transparent background. If your image has a colored background, it will appear as a rectangle on the PDF rather than a clean signature. ## Placing and Resizing Your Signature After creating your signature, it appears as a draggable overlay on the PDF preview. Here is how to position it perfectly: - **Drag to move:** Click (or tap) the signature and drag it to the signing line or wherever you need it. - **Resize:** Grab the small handle at the bottom-right corner and drag to make the signature larger or smaller. The proportions stay locked so it never looks stretched. - **Multi-page PDFs:** Use the page navigation buttons below the preview to move to a different page. Place the signature on whichever page requires it. ## Are Electronic Signatures Legally Valid? In many jurisdictions, electronic signatures carry the same legal weight as handwritten ones. In the United States, the **ESIGN Act** (2000) and the **Uniform Electronic Transactions Act (UETA)** establish that electronic signatures are legally binding for most commercial transactions. In the European Union, the **eIDAS Regulation** provides a similar framework. That said, the type of electronic signature matters: - **Simple electronic signatures (SES):** A typed name, a drawn signature, or a scanned image. These are legally valid for most everyday documents — contracts, permission forms, internal approvals. PDFFlare creates this type of signature. - **Advanced electronic signatures (AES):**Linked to the signer's identity through a digital certificate. Used for higher-security transactions. - **Qualified electronic signatures (QES):** Created with a certified device and backed by a qualified trust service. Required for specific government and regulated transactions. For everyday documents — freelance contracts, rental agreements, school forms, internal approvals — a simple electronic signature is perfectly valid. For regulated industries or government filings, check whether your jurisdiction requires a higher level of assurance. ## Common Documents You Can Sign with PDFFlare ### Freelance Contracts and Invoices Freelancers sign contracts regularly — client agreements, NDAs, statements of work. Instead of printing, signing, and scanning each one, sign them digitally in seconds and email them back. You can also [compress the signed PDF](https://pdfflare.com/tools/pdf/compress-pdf) to keep email attachments small. ### Rental and Lease Agreements Landlords and tenants can sign lease documents remotely. Each party signs on their own device, saving a trip to meet in person. After signing, you can [password-protect the signed lease](https://pdfflare.com/tools/pdf/password-protect-pdf) for added security. ### School and Medical Forms Parents juggle a constant stream of permission slips, medical consent forms, and registration documents. Signing them on your phone beats hunting for a printer every time. ### HR and Onboarding Documents New hire paperwork — offer letters, tax forms, policy acknowledgements — often arrives as a stack of PDFs. Sign everything digitally and return it to HR without leaving your desk. ## Tips for a Professional-Looking Signed PDF - **Size your signature appropriately:** It should fill the signature line without overlapping other text. Use the resize handle to get it just right. - **Add a date:**Most formal documents expect a date next to the signature. PDFFlare auto-fills today's date, which you can edit if needed. - **Sign on the correct page:** For multi-page contracts, the signature usually goes on the last page. Use the page navigation to find the right one. - **Keep your original unsigned copy:** Always keep the original PDF as a backup before signing. This way you can re-sign if something goes wrong. ## What Happens After Signing? After downloading your signed PDF, you might want to take a few extra steps depending on the document: - [Compress the PDF](https://pdfflare.com/tools/pdf/compress-pdf) before emailing it to stay under attachment limits. - [Password protect](https://pdfflare.com/tools/pdf/password-protect-pdf) the signed document if it contains sensitive information. - [Merge multiple signed pages](https://pdfflare.com/tools/pdf/merge-pdf) if you signed different sections of a document separately. ## Workflow Notes Beyond the Basics Signing PDFs digitally has gone from a niche legal-tech concern to a daily workflow expectation, and the tools that support it have evolved alongside that demand. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Signing a PDF should not require a printer, a scanner, or a paid subscription. PDFFlare lets you sign any document in seconds — draw your signature, type it, or upload it. Everything runs in your browser, your files stay private, and the result is a clean, professional signed PDF. Ready to sign? [Open the Sign PDF tool](https://pdfflare.com/tools/pdf/sign-pdf) and get it done. ## Related Tools - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — edit fields and text before signing - [Password Protect PDF](https://pdfflare.com/tools/pdf/password-protect-pdf) — secure the signed document - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine signed pages with other documents --- ## Frequently asked questions **Q: Is signing a PDF online legally valid?** A: Yes, in most jurisdictions. The US ESIGN Act and EU eIDAS Regulation recognize simple electronic signatures as legally binding for most commercial and personal documents. PDFFlare creates simple electronic signatures suitable for contracts, forms, and everyday documents. **Q: Is it safe to sign a PDF online?** A: Yes, when using PDFFlare. Your PDF is processed entirely in your browser and never uploaded to any server. Your document and signature remain completely private on your device. **Q: Can I draw my signature on a phone?** A: Yes. PDFFlare's Sign PDF tool is fully responsive. Draw your signature with your finger on any touchscreen device, position it on the PDF, and download — all from your mobile browser. **Q: What is the difference between a digital signature and an electronic signature?** A: An electronic signature is any mark indicating intent to sign — a typed name, drawn signature, or uploaded image. A digital signature is a specific type that uses cryptographic certificates to verify identity. PDFFlare creates electronic signatures, which are valid for most everyday documents. **Q: Can I sign a password-protected PDF?** A: You need to unlock the PDF first. Use PDFFlare's Unlock PDF tool to remove the password, sign the document, then re-protect it with the Password Protect PDF tool if needed. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Add Page Numbers to a PDF for Free (No Software Needed) URL: https://pdfflare.com/blog/how-to-add-page-numbers-to-pdf Published: April 15, 2026 Reading time: 7 min read > Add page numbers to any PDF online for free. Choose position, format, starting number, and skip the cover page. No software, no signup — works in your browser. --- You have a 40-page report, a thesis draft, or a legal filing — and none of the pages are numbered. Printing it means a shuffled mess. Emailing it means reviewers cannot reference specific pages. The fix takes seconds. In this guide, we will show you how to add page numbers to any PDF for free using [PDFFlare's Add Page Numbers tool](https://pdfflare.com/tools/pdf/add-page-numbers), explain the formatting options available, and cover common scenarios like skipping the cover page and starting from a custom number. ## Why Page Numbers Matter More Than You Think Page numbers seem like a small detail, but they serve several important purposes: - **Navigation:**Readers can jump to a specific page when someone says "see page 12." Without numbers, referencing content becomes frustrating. - **Printing safety:** If a printed document gets dropped or shuffled, numbered pages can be reassembled in order. Unnumbered pages cannot. - **Professional appearance:** Reports, proposals, and manuscripts without page numbers look unfinished. Numbered pages signal attention to detail. - **Legal requirements:** Court filings, contracts, and regulatory submissions often require numbered pages. Missing page numbers can cause a filing to be rejected. - **Table of contents:** A table of contents is useless without page numbers to reference. ## How to Add Page Numbers to a PDF (Step by Step) PDFFlare adds page numbers directly in your browser. Your file never leaves your device — everything is processed locally using pdf-lib. 1. **Go to [PDFFlare's Add Page Numbers tool](https://pdfflare.com/tools/pdf/add-page-numbers)** — no account needed. 2. **Upload your PDF:** Drag and drop or click to browse. Files up to 50 MB are supported. 3. **Choose the position:** Select where the page numbers should appear — bottom center is the most common for reports and academic papers. Six positions are available: top or bottom, aligned left, center, or right. 4. **Pick a format:**Choose from plain numbers (1, 2, 3), "Page 1 of 10", dashes (— 1 —), or parentheses ((1)). The preview updates in real time. 5. **Customize settings:** Set the starting number (useful when your PDF is a chapter of a larger document), adjust the font size, and optionally skip the first page. 6. **Click "Add Page Numbers & Download":** Your numbered PDF downloads instantly. ## Choosing the Right Position for Page Numbers Where you place page numbers depends on the type of document and any formatting requirements you need to follow: - **Bottom center:** The most common position for reports, academic papers, and general documents. It is the standard choice when no specific formatting is required. - **Bottom right:** Common in business documents and book manuscripts. Easy to see when flipping through pages. - **Top right:** Used in some legal and government documents. Places the number where readers naturally look first. - **Alternating left/right:** Used in printed books (odd pages right, even pages left). For a simple numbered PDF, pick one side and stick with it. ## When to Skip the First Page Most formal documents have a title page or cover page that should not be numbered. PDFFlare's "Skip first page" option handles this automatically — the cover page stays clean and numbering starts from the second page. Common documents where you should skip the first page: - Academic theses and dissertations (title page is page i, not 1) - Business proposals with a cover page - Reports with a branded title page - Manuscripts submitted for publication ## Starting from a Custom Number Sometimes your PDF is not a standalone document — it is a chapter or section of a larger work. If your previous section ended on page 45, you want this PDF to start at page 46. Use the "Start from" field to set any starting number. This is also useful when you [split a PDF](https://pdfflare.com/tools/pdf/split-pdf) into sections and need each section's numbering to continue from where the last one left off. ## Page Number Formats Explained PDFFlare offers four formatting options: - **Plain (1, 2, 3):** Clean and minimal. Best for most documents where simplicity is preferred. - **Page X of Y (Page 1 of 10):** Shows total page count. Ideal for reports and handouts where readers want to know how much content remains. - **Dashes (— 1 —):** A decorative style common in book manuscripts and formal documents. - **Parentheses ((1)):** A compact style used in some legal and technical documents. ## Common Scenarios ### Adding Page Numbers to a Scanned PDF Scanned PDFs work the same as any other PDF — upload and number. If the pages are rotated or sideways, fix them first with [PDFFlare's Rotate PDF tool](https://pdfflare.com/tools/pdf/rotate-pdf), then add page numbers. ### Numbering After Merging Multiple PDFs If you [merge several PDFs](https://pdfflare.com/tools/pdf/merge-pdf) into one document, the merged file will not have consistent page numbers. Run it through the Add Page Numbers tool after merging to get clean, sequential numbering across the entire document. ### Numbering Before Printing Always add page numbers before printing — not after. It is much easier to add digital numbers to a PDF than to hand-number printed pages. If the document will be double-sided, bottom center is the safest position since it stays visible regardless of binding. ## Common Mistakes When Adding Page Numbers - **Numbering before reordering pages.** If you add page numbers and THEN use [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages), the numbers no longer match the order. Reorder first, then number — or strip and re-number after the reorder. - **Forgetting to skip the cover page.**A title page or cover stamped “Page 1” looks unprofessional. Use the “Skip first page” option, or set the start number to 0 and skip page 1. - **Picking a font size that overlaps content.** Default 10-12pt works for most documents. If your margins are tight, drop to 8pt or move to a different position. Always preview before downloading. - **Adding numbers to a PDF that already has them.** Some PDFs already include page numbers from the original authoring tool. Adding more creates duplicate numbering. Inspect the PDF first; if numbers exist, modify the source instead of stamping over. - **Choosing the wrong format for the audience.** “Page X of Y” is great for reports where readers want to know how much remains. Plain numbers work better for long fiction or papers where the total isn't emphasized. ## Page Numbering Conventions by Document Type - **Academic theses / dissertations:**Title page unnumbered, front matter (abstract, TOC) Roman numerals (i, ii, iii), main text Arabic (1, 2, 3). PDFFlare can't handle multi-section numbering directly — you may need to split, number each section separately, then merge. - **Legal filings:** Often required to number every page including exhibits. Top-right is the most common position in US courts; check local rules. - **Books and novels:** Front matter (title, copyright, dedication) is unnumbered. Main content starts at page 1. Even pages on the left, odd on the right (mirror margins). - **Business reports:** Cover unnumbered, executive summary often unnumbered, main body numbered from 1. Bottom-center is standard. ## Workflow Notes Beyond the Basics Adding page numbers to a PDF is one of those finishing touches that separates a draft from a deliverable, and yet most online tools either skip this option or hide it behind a pay wall. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Adding page numbers to a PDF takes about 10 seconds on PDFFlare. Choose your position, pick a format, and download the numbered file. No software to install, no account to create, and your documents never leave your browser. Next time you have a report, thesis, or legal filing that needs page numbers — skip the desktop software and use PDFFlare instead. ## Related Tools - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — add custom text and shapes to PDFs - [Rearrange PDF Pages](https://pdfflare.com/tools/pdf/rearrange-pdf-pages) — reorder pages before numbering - [Merge PDF](https://pdfflare.com/tools/pdf/merge-pdf) — combine files before adding page numbers --- ## Frequently asked questions **Q: Can I add page numbers to a password-protected PDF?** A: You need to unlock the PDF first. Use PDFFlare's Unlock PDF tool to remove the password, add page numbers, then re-protect the file if needed using the Password Protect PDF tool. **Q: Will the page numbers overlap existing content?** A: Page numbers are placed in the margin area (40px from the edge). If your document has very small margins, numbers may overlap content. In that case, use a smaller font size (8pt or 10pt) or choose a position with more available space. **Q: Can I add page numbers to specific pages only?** A: Currently the tool numbers all pages (or all except the first). For selective numbering, use PDFFlare's Split PDF tool to extract the pages you want numbered, add numbers to those, then merge everything back together. **Q: Does adding page numbers increase the file size?** A: The increase is negligible — typically less than 1 KB per page. Text elements are extremely small compared to images and other PDF content. **Q: Can I remove page numbers after adding them?** A: Page numbers are added as text overlays on the PDF. They cannot be selectively removed by PDFFlare. Keep your original unnumbered file as a backup before adding numbers. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Extract Text from a Scanned PDF or Image (OCR Guide) URL: https://pdfflare.com/blog/how-to-extract-text-from-scanned-pdf Published: April 14, 2026 Reading time: 8 min read > Extract text from scanned PDFs, screenshots, and photos for free using OCR. No software needed — works in your browser. Supports 100+ languages. --- You have a scanned contract, a photo of a whiteboard, or a screenshot of a recipe — and you need the text from it. You could retype it word by word, or you could let OCR do the work in seconds. OCR (Optical Character Recognition) is the technology that reads text from images and scanned documents. In this guide, we will explain how OCR works, when you need it, and how to extract text from any scanned PDF or image for free using [PDFFlare's free OCR tool](https://pdfflare.com/tools/pdf/ocr-pdf). ## What Is OCR and How Does It Work? OCR stands for Optical Character Recognition. It is a technology that analyzes the shapes and patterns in an image to identify letters, numbers, and symbols. Modern OCR engines like Tesseract use machine learning models trained on millions of text samples to recognize characters across hundreds of languages and fonts. Here is how the process works under the hood: 1. **Image preprocessing:** The engine converts the image to grayscale, adjusts contrast, and removes noise to make text stand out from the background. 2. **Text detection:** The engine locates regions in the image that contain text — paragraphs, lines, and individual characters. 3. **Character recognition:** Each detected character is compared against trained models to determine what letter or symbol it represents. 4. **Post-processing:** The engine applies language-specific rules and dictionary lookups to correct common misreadings and improve accuracy. ## When Do You Need OCR? If you work with documents regularly, you probably need OCR more often than you realize. Here are the most common situations: ### Extracting Text from Scanned PDFs A scanned PDF looks like a normal document, but it is actually just a picture of each page. You cannot select text, search for a word, or copy a paragraph. This is the most common use case for OCR — turning scanned documents back into editable, searchable text. This includes old contracts, archived paperwork, signed agreements sent by email, and any document that was photocopied or scanned. ### Converting Screenshots to Text Need to grab text from an error message, a social media post, a website screenshot, or a chat conversation? Instead of retyping it manually, run OCR on the screenshot and copy the text in seconds. This is especially useful for **extracting text from images on iPhone and Android** when the built-in text selection does not work. ### Digitizing Receipts and Invoices Freelancers, small business owners, and accountants often need to extract amounts, dates, and vendor names from paper receipts for expense tracking. OCR turns a photo of a receipt into text you can paste into a spreadsheet — saving hours of manual data entry every month. ### Extracting Text from Photos of Books or Notes Students and researchers regularly photograph textbook pages, lecture slides, and handwritten notes. OCR extracts the printed text so you can paste it into your notes app, search for specific terms, or translate the content into another language. ### Making Old Documents Searchable If you have a folder full of scanned PDFs — tax documents, medical records, insurance paperwork — you cannot use Ctrl+F to find anything. Running OCR on these files gives you searchable text, making it dramatically easier to find what you need. ## How to Extract Text from a Scanned PDF (Step by Step) PDFFlare's OCR tool runs entirely in your browser using Tesseract.js. Your files never leave your device — everything is processed locally. Here is how to use it: 1. **Go to [PDFFlare's OCR tool](https://pdfflare.com/tools/pdf/ocr-pdf)** — no signup or account needed. 2. **Upload your file:** Drag and drop a scanned PDF or image file (JPG, PNG, WebP, BMP, or TIFF). Files up to 50 MB are supported. 3. **Select the document language:** Choose the language of the text in your document. English is selected by default, but PDFFlare supports over 100 languages including Spanish, French, German, Arabic, Chinese, Japanese, and Korean. 4. **Click "Extract Text":** The OCR engine will process your document page by page. A progress bar shows the current status. 5. **Copy or download the result:**Once processing is complete, the extracted text appears in a text box. Click "Copy" to copy it to your clipboard, or "Download .txt" to save it as a text file. For multi-page scanned PDFs, PDFFlare processes each page separately and combines the output with page markers so you know which text came from which page. ## How to Extract Text from an Image The process is identical for images. Upload a JPG, PNG, WebP, BMP, or TIFF file and PDFFlare runs OCR on it directly. This works for: - Screenshots from any device - Photos of documents, receipts, or business cards - Photos of whiteboards or handwritten notes (printed text only) - Scanned pages saved as image files - Infographics and images with embedded text For the best results, use clear, high-resolution images. Blurry photos, extreme angles, and very small text reduce OCR accuracy. ## Tips for Getting the Best OCR Results OCR accuracy depends heavily on the quality of your input. Here are practical tips to get the cleanest text possible: ### 1. Use High-Resolution Scans Scan at 300 DPI or higher. Low-resolution scans (72-150 DPI) make characters blurry, and the OCR engine struggles to distinguish between similar letters like "l" and "1" or "O" and "0". ### 2. Ensure Good Contrast Dark text on a white background produces the best results. Faded documents, colored backgrounds, and light gray text reduce accuracy. If your scan is faded, try adjusting brightness and contrast in an [image editor](https://pdfflare.com/tools/image/resize-image) before running OCR. ### 3. Keep the Page Straight Skewed or rotated text confuses the OCR engine. If your scanned PDF has rotated pages, use [PDFFlare's Rotate PDF tool](https://pdfflare.com/tools/pdf/rotate-pdf) to fix the orientation before running OCR. ### 4. Select the Correct Language The OCR engine loads language-specific models. Selecting the wrong language can cause misreadings — especially for non-Latin scripts like Arabic, Chinese, or Korean. If your document contains multiple languages, run OCR separately for each language section. ### 5. Clean Up Noise Coffee stains, wrinkles, stamps, and other marks over text can confuse OCR. If possible, scan a clean copy of the document. For photos, ensure even lighting without shadows. ## OCR Limitations: What It Cannot Do OCR is powerful, but it has real limitations you should be aware of: - **Handwriting:** Current OCR engines work best with printed text. Handwritten text recognition is unreliable, especially for cursive writing. Block letters in neat handwriting may work, but do not count on it. - **Complex layouts:** Tables, multi-column text, and heavily formatted documents may produce jumbled output. OCR reads text in the order it detects it, which may not match the visual reading order of complex layouts. - **Very small text:** Text below 8pt in the original document often gets misread, especially in low-resolution scans. - **Decorative fonts:** Ornamental, script, and highly stylized fonts reduce accuracy. Standard serif and sans-serif fonts work best. ## Is It Safe to Use Online OCR Tools? Most online OCR tools upload your files to a server for processing. If your document contains sensitive information — contracts, medical records, financial statements — this is a legitimate privacy concern. PDFFlare is different. **Your files never leave your device.**The OCR engine (Tesseract.js) runs entirely in your browser. No upload, no server processing, no data collection. This makes it safe for confidential documents that you would not want stored on someone else's server. ## OCR vs. Copy-Paste: Why You Cannot Just Select Text If you have ever tried to select text in a scanned PDF and nothing happened, you have encountered the fundamental problem OCR solves. Regular PDFs store text as vector data — each character has a defined position, font, and encoding. Scanned PDFs store pages as flat images. To the computer, a scanned page is just a picture — the same as a photo of a landscape. There are no text characters to select. OCR bridges this gap by analyzing the image, finding text-like patterns, and converting them into actual characters you can select, copy, and search. ## What to Do After Extracting Text Once you have the extracted text, here are some common next steps: - **Paste into a Word document:** Create an editable version of the scanned document. Use [PDFFlare's Word to PDF tool](https://pdfflare.com/tools/pdf/word-to-pdf) to convert it back to PDF when done editing. - **Search for keywords:** Use Ctrl+F in the text file to find specific names, dates, or amounts in long documents. - **Translate the content:** Paste extracted text into Google Translate or DeepL for instant translation. - **Import into a spreadsheet:** Paste receipt or invoice data into Excel or Google Sheets for accounting. - **Archive and index:** Save the text alongside the original scan for full-text search capability. ## Wrapping Up OCR turns images and scanned documents into usable text — saving you from retyping content that is already right there on the page. Whether you are digitizing old paperwork, extracting data from receipts, or grabbing text from a screenshot, OCR handles it in seconds. PDFFlare's OCR tool is free, runs in your browser, and supports 100+ languages. No signup, no upload, no privacy concerns. Try it with your next scanned document and see how much time it saves. ## Related Tools - [PDF to Word](https://pdfflare.com/tools/pdf/pdf-to-word) — convert the OCR output into an editable Word file - [PDF to JPG](https://pdfflare.com/tools/pdf/pdf-to-jpg) — extract scanned pages as images - [Edit PDF](https://pdfflare.com/tools/pdf/edit-pdf) — add searchable text annotations --- ## Frequently asked questions **Q: Can OCR extract text from handwritten documents?** A: OCR works best with printed text. Handwritten text — especially cursive — is unreliable. Neat block handwriting may work partially, but do not expect high accuracy with handwritten content. **Q: Is it safe to use online OCR on confidential documents?** A: PDFFlare's OCR runs entirely in your browser using Tesseract.js. Your files never leave your device — nothing is uploaded to any server. This makes it safe for sensitive documents like contracts, medical records, and financial statements. **Q: What image resolution works best for OCR?** A: 300 DPI or higher produces the best results. Low-resolution scans (72-150 DPI) cause blurry characters that the OCR engine struggles to recognize. If your scan is low quality, try re-scanning at a higher resolution. **Q: Can I OCR a multi-page scanned PDF?** A: Yes. PDFFlare processes each page automatically, one by one. The extracted text includes page separators so you can identify which text came from which page. **Q: Why is the OCR output jumbled or out of order?** A: Complex layouts with multiple columns, tables, or text boxes can confuse the OCR engine. It reads text in the order it detects it, which may not match the visual layout. For best results, use documents with simple single-column layouts. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Crop an Image Online for Free (Rotate, Batch & All Aspect Ratios) URL: https://pdfflare.com/blog/how-to-crop-image-online-free Published: April 22, 2026 Reading time: 10 min read > Crop, rotate, and batch crop images online for free. 10+ aspect ratios for Instagram, TikTok, YouTube. Grid overlays, flip, quality control. No signup. --- You need to crop an image online for free — quickly, without installing software, and without signing up for anything. Maybe it's a photo that needs to be 1:1 for Instagram, 9:16 for TikTok, or 16:9 for a YouTube thumbnail. Or maybe you just want to cut out the background clutter and focus on the subject. Either way, you should not need Photoshop for this. In this guide you will learn how to crop, rotate, flip, and batch process images using [PDFFlare's free Crop Image tool](https://pdfflare.com/tools/image/crop-image). It runs entirely in your browser — your photos never leave your device. It supports JPG, PNG, and WebP, offers 10+ aspect ratio presets, includes a visual rotation slider, composition grid overlays, output quality control, and even batch cropping with ZIP download. ## When You Need to Crop an Image Cropping is not just about removing edges — it is about framing, composition, and making every pixel count. Here are the most common scenarios: - **Social media posts with exact aspect ratios.** Instagram, TikTok, YouTube, Pinterest, and Facebook each expect different image dimensions. A single photo rarely fits every platform without cropping. - **Profile pictures and avatars.**Platforms display avatars as circles or squares. Cropping a headshot to 1:1 with the face centered ensures nothing important gets clipped by the platform's mask. - **E-commerce product photography.** Clean, consistently sized product images look professional and build trust. Crop each shot to the same ratio for a uniform catalog. - **Straightening tilted photos.** A slightly crooked horizon in a landscape photo or a leaning building in a cityscape can be fixed by rotating and then cropping the result. - **Batch processing for content creators.** If you shot 50 product photos and they all need a 4:5 crop for Instagram, doing it one by one is painful. Batch crop handles them all at once. - **Removing borders and distracting backgrounds.** Screenshots, scanned documents, and camera photos often have extra whitespace or clutter that distracts from the subject. ## How to Crop an Image Online for Free (Step by Step) Follow these steps to crop any image using [PDFFlare's Crop Image tool](https://pdfflare.com/tools/image/crop-image): 1. **Open the tool:**No signup required. Choose “Single Image” for one photo, or “Batch Crop” to process multiple files at once. 2. **Upload your image:** Drag and drop a JPG, PNG, or WebP file into the upload area, or click to browse. Files up to 50 MB are supported. 3. **Select an aspect ratio:**Choose from 10+ presets: 1:1 (square), 4:5 (Instagram portrait), 9:16 (TikTok/Stories), 16:9 (YouTube), 2:3 (Pinterest), 3:2 (photography), 5:4 (print), or 21:9 (ultrawide banner). Or select “Free” for a custom shape. 4. **Drag the crop box:** Click and drag the corners or edges of the crop overlay to select exactly the region you want. The dimension badge shows the exact pixel size in real time as you drag. 5. **Rotate and flip (optional):**Use the rotation slider to straighten a tilted photo, click the 90° buttons for quick turns, or flip horizontally or vertically. The image updates visually so you can see the result before committing. 6. **Choose output settings:** Pick your output format (Original, PNG, JPG, or WebP) and adjust the quality slider to balance file size and clarity. 7. **Crop and download:**Click “Crop Image”, review the result, then download. No watermark, no signup, no catch. ## Best Aspect Ratios for Every Social Media Platform Choosing the right aspect ratio is half the battle. Here is a quick reference for every major platform — and each one is available as a one-click preset in PDFFlare's cropper. ### 1:1 (Square) — Instagram Feed, Profile Photos, Facebook The 1:1 square is the safest default. Instagram feed posts display beautifully at 1:1, and every profile picture on every major platform (LinkedIn, Slack, Zoom, Discord, Gmail) is displayed inside a square or circle container. When in doubt, crop to 1:1. ### 4:5 (Portrait) — Instagram Feed Maximum Real Estate 4:5 is the tallest aspect ratio Instagram allows in the main feed. It takes up more vertical screen space than a 1:1 square, making your post more prominent and driving higher engagement. This is one of the most under-used tricks for Instagram creators. ### 9:16 (Vertical Full-Screen) — TikTok, Stories, Reels, Shorts All vertical video and full-screen story formats — Instagram Stories, TikTok, YouTube Shorts, Facebook Reels — use 9:16. Cropping a horizontal photo to 9:16 requires creative composition: center your subject and accept tight crops on the sides. ### 16:9 (Widescreen) — YouTube Thumbnails, Blog Headers, Banners 16:9 is the standard widescreen format. YouTube thumbnails (1280×720), website hero images, and blog post headers almost universally use this ratio. If you are cropping a screenshot for a presentation or article, 16:9 is the go-to. ### 2:3 (Portrait) — Pinterest, Classical Photography Pinterest pins perform best at 2:3. Traditional portrait photographers use 2:3 as well — it is derived from the 35mm film ratio and feels natural for full-body or three-quarter portraits. ### Custom Aspect Ratios Need something non-standard like 7:5 or 3:4? Type any two numbers into the custom ratio inputs and the crop box locks to that proportion instantly. This is useful for print layouts, specific ad placements, or passport photos with unusual dimension requirements. ## How to Crop and Rotate an Image at the Same Time One of the most common frustrations with online crop tools is that they only crop — if your photo is tilted, you need a separate tool to straighten it first. PDFFlare's cropper includes built-in rotation so you can fix both problems in one step. Here is how to straighten a tilted photo while cropping: 1. **Upload your image** and set your desired crop area and aspect ratio. 2. **Drag the rotation slider**to straighten the image. The slider covers the full −180° to +180° range. For small adjustments (fixing a slightly crooked horizon), a few degrees is usually enough. 3. **Use the 90° buttons** for quick quarter-turns — useful when a phone photo was saved in the wrong orientation. 4. **Flip horizontally or vertically** if the image is mirrored (common with selfies and scanned documents). The image updates visually as you adjust, so you always see exactly what the final result will look like. Rotation, flip, and crop are all applied together when you download. ## How to Batch Crop Multiple Images at Once If you have a set of product photos, event shots, or social media content that all need the same crop, batch mode saves you from repetitive manual work. 1. **Select “Batch Crop”** mode before uploading. 2. **Upload all your images** at once (up to 20 files, 50 MB each). 3. **Configure crop settings on the first image:** pick your aspect ratio, rotation, flip, and output format. 4. **Click “Crop All Images”** to apply the same settings to every file in the batch. A progress bar shows how many have been processed. 5. **Download as a ZIP:** Once processing is complete, download all cropped images in a single ZIP archive. No need to download one by one. Batch crop is particularly useful for e-commerce sellers who need consistent product image dimensions, content creators preparing a week's worth of Instagram posts, or photographers delivering a set of client proofs. ## Composition Tips: Grid Overlays for Better Crops A good crop is not just about aspect ratio — it is about where the subject sits within the frame. PDFFlare includes three composition grid overlays to help you make better cropping decisions: ### Rule of Thirds The rule of thirds divides your image into a 3×3 grid. Placing your subject at one of the four intersection points (rather than dead center) creates a more visually balanced and engaging composition. This works for landscapes, portraits, product photos, and food photography. ### Golden Ratio The golden ratio places guide lines at approximately 38.2% and 61.8% of the frame — slightly tighter than the rule of thirds. This produces a more classical, art-inspired composition. It is popular with fine art photographers and designers who want a sophisticated feel. ### Center Crosshair A simple crosshair through the center of the crop area. Useful when you need to center a subject precisely — common for headshots, logos, product shots, and any image that needs perfect symmetry. ## How to Crop an Image for Instagram Instagram uses three main aspect ratios. Here is the quick guide: - **Feed posts:** 1:1 (square) for classic grid look, or 4:5 (portrait) for maximum vertical impact. - **Stories and Reels:** 9:16 (full-screen vertical). Center your subject — the edges will be tight. - **Profile photo:** 1:1 with face centered. Instagram displays it as a circle, so keep important elements away from the corners. In [PDFFlare's crop tool](https://pdfflare.com/tools/image/crop-image), these are all one-click presets under the “Social Media” group. Select the preset, adjust the crop position, and download. ## How to Crop an Image for TikTok and Stories TikTok, Instagram Stories, YouTube Shorts, and Facebook Reels all use the 9:16 vertical format. The ideal approach: 1. Select the **9:16** preset from the Social Media group. 2. Position the crop box so your subject is centered — the sides will be cut off. 3. If you are cropping from a 16:9 landscape photo, consider which portion tells the story best. 4. Download as JPG for photos, or WebP for smaller file sizes on web. ## Output Format and Quality Control PDFFlare lets you choose your output format and compression level, so you do not need a separate [image converter](https://pdfflare.com/tools/image/convert-image) or [compressor](https://pdfflare.com/tools/image/compress-image) after cropping: - **Original:** keeps the same format as the uploaded file. - **PNG:** lossless, best for screenshots, logos, and graphics with text. - **JPG:** good for photos. Use the quality slider (10-100) to balance file size and clarity. - **WebP:** modern format with the best balance of quality and file size. Supported by all modern browsers. If you need to hit exact pixel dimensions after cropping, use the [Resize Image tool](https://pdfflare.com/tools/image/resize-image) as a second step. The workflow is: crop to the right aspect ratio, then resize to the exact pixel target. ## Undo, Redo, and Experimenting Freely PDFFlare's crop tool includes full undo and redo support. Use Ctrl+Z (Cmd+Z on Mac) to step backward and Ctrl+Shift+Z to step forward. Your entire editing history — every crop adjustment, rotation change, aspect ratio swap, and flip toggle — is preserved until you clear the image. This means you can experiment freely without worrying about losing your place. ## Common Mistakes When Cropping Images ### Cropping Too Tight Leaving zero margin around your subject feels claustrophobic. Give 10-15% breathing room on each side, especially for portraits. The viewer's eye needs context. ### Ignoring the Platform's Aspect Ratio If you upload a 16:9 image to an Instagram feed post (which expects 1:1 or 4:5), the platform will auto-crop it — often poorly. Always crop to the target ratio yourself so you control what is kept and what is cut. ### Not Straightening First A tilted horizon line or a leaning building makes the whole image feel off. Use the rotation slider to straighten before finalizing the crop — the difference is dramatic. ### Forgetting to Keep the Original Cropping is permanent — once pixels are discarded, they are gone. Always keep an uncropped copy of the original file in case you need a different crop later (like repurposing an Instagram square for a YouTube thumbnail). ## Privacy and Security Unlike most online image croppers that upload your file to a server for processing, PDFFlare processes everything locally in your browser using the Canvas API. Your photo never touches a remote server — which means it is fast (no upload wait), completely private (nothing leaves your device), and works even offline once the page has loaded. There are no file size limits beyond your device's available memory. ## Related Tools - [Resize Image](https://pdfflare.com/tools/image/resize-image) — change the pixel dimensions of your cropped image to exact targets - [Compress Image](https://pdfflare.com/tools/image/compress-image) — reduce file size of the cropped photo for faster web loading - [Convert Image](https://pdfflare.com/tools/image/convert-image) — switch between PNG, JPG, and WebP after cropping - [Flip Image](https://pdfflare.com/tools/image/flip-image) — mirror or rotate images without cropping ## Wrapping Up Cropping an image online should take seconds, not require expensive software or yet another account. [PDFFlare's free Crop Image tool](https://pdfflare.com/tools/image/crop-image) gives you everything a professional cropper offers — 10+ aspect ratio presets, visual rotation and straightening, flip controls, composition grid overlays, output quality settings, batch processing, and undo/redo — all running privately in your browser. Upload a photo, drag the crop box, and download the result. --- ## Frequently asked questions **Q: Does cropping an image reduce its quality?** A: No. Cropping only removes pixels outside the selection — the remaining pixels are preserved exactly as they were in the original image. There is no recompression or quality loss unless you choose to export as JPEG or WebP at a lower quality setting. **Q: What aspect ratio should I use for Instagram posts?** A: Use 1:1 (square) for feed posts, 4:5 (portrait) for the maximum vertical space allowed in the feed, and 9:16 for Stories and Reels. PDFFlare's crop tool has all of these ratios as one-click presets. **Q: Can I crop and rotate an image at the same time?** A: Yes. PDFFlare's Crop Image tool lets you rotate with a fine-tuning slider (-45° to +45°), use 90-degree rotation buttons, and flip horizontally or vertically — all while the visual crop box updates in real time. The rotation and crop are applied together when you export. **Q: How do I crop multiple images at once?** A: Use PDFFlare's batch crop mode. Upload multiple images, configure your crop settings on the first image, then click “Crop All Images” to apply the same crop to every file. Download all results as a single ZIP file. **Q: What are grid overlays and how do they help with cropping?** A: Grid overlays are composition guides displayed on top of your crop area. PDFFlare offers Rule of Thirds (places key elements at intersection points), Golden Ratio (uses the 1.618 proportion for natural balance), and Center Crosshair (for centering subjects). They help you frame your crop for more visually appealing results. **Q: Can I undo a crop if I make a mistake?** A: Yes. PDFFlare's crop tool includes full undo and redo support. Use Ctrl+Z (or Cmd+Z on Mac) to undo and Ctrl+Shift+Z (or Cmd+Shift+Z) to redo. You can also click the undo/redo buttons in the toolbar. **Q: What output formats can I save my cropped image in?** A: You can save as the original format, or convert to PNG, JPEG, or WebP. For JPEG and WebP, a quality slider lets you balance file size against image quality. An estimated file size is shown as you adjust the slider. **Q: Is it safe to crop images online?** A: Yes. PDFFlare processes your image entirely in your browser using the Canvas API. Nothing is uploaded to a server, so your photos stay completely private on your device. No signup or account is required. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Flip an Image Horizontally or Vertically (Mirror Photos Free) URL: https://pdfflare.com/blog/how-to-flip-image-horizontally-vertically Published: April 16, 2026 Reading time: 6 min read > Flip any image horizontally or vertically for free. Mirror photos, fix reversed selfies, or rotate 90° — works in your browser, no software or signup. --- You took a selfie and the text on your shirt is backwards. Or you are designing a layout and need a mirrored version of a product shot. Or you scanned a document that came out upside-down. All of these problems have the same fix: flip the image. In this guide you will learn how to flip an image horizontally or vertically using [PDFFlare's free Flip Image tool](https://pdfflare.com/tools/image/flip-image). It handles JPG, PNG, and WebP, runs entirely in your browser, and outputs the result at full original quality. ## Horizontal Flip vs Vertical Flip vs Rotate These three operations are easy to confuse, so let us be specific: - **Horizontal flip (mirror):** Left becomes right. Useful for fixing mirrored selfies, creating symmetrical designs, or flipping faces so they look in a different direction. - **Vertical flip:** Top becomes bottom. Less common, but useful for reflections, fixing upside-down scans, and creative compositing. - **Rotate (90°, 180°, 270°):** Turns the image around a center point. Use this to fix photos taken sideways with a phone. A mirror is not the same as a rotation. If you rotate a selfie 180°, the text becomes upside-down and still backwards. If you flip it horizontally, the text reads normally (and your face looks slightly different — more on that below). ## How to Flip an Image for Free (Step by Step) 1. **Go to the tool:** [PDFFlare's Flip Image tool](https://pdfflare.com/tools/image/flip-image). 2. **Upload your image:** Drag and drop a JPG, PNG, or WebP file, or click to browse. Your image loads locally — it never uploads anywhere. 3. **Choose the operation:** Click _Flip Horizontally_, _Flip Vertically_, or one of the _Rotate_ options (90° left, 90° right, 180°). 4. **Preview and adjust:** You can stack operations — flip horizontally then rotate 90°, for example — to get the exact orientation you want. 5. **Download:** Click **Download** to save the flipped image in its original format. ## Why Do My Selfies Look Different Flipped? Most phone cameras save selfies un-mirrored by default, even though they show a mirrored preview while you are composing. When you look at the saved photo, your face looks subtly wrong because you are used to seeing yourself in a mirror — and a photo shows you the way other people see you. Flipping a selfie horizontally gives you the “mirror version” that matches how you see yourself in the bathroom. Some people prefer the mirrored version, others prefer the un-mirrored version. Both are correct — it is a matter of preference. ## Common Use Cases for Flipping Images ### Fixing a Mirrored Selfie Your iPhone or Android took a selfie and the text on your shirt or a background sign reads backwards. Flip horizontally to fix it. The whole image (including your face) will feel slightly different, but any text will read correctly. ### Creating Symmetrical Designs Graphic designers often need mirrored pairs — a left-facing arrow next to a right-facing arrow, or two versions of a character facing each other. Flipping horizontally gives you the mirror pair instantly. ### Fixing an Upside-Down Scan Some scanners save images flipped vertically. If your scanned document loaded upside-down, a vertical flip restores the correct orientation. For a document that is on its side, use _Rotate 90°_ instead. ### Matching a Layout Direction You are placing a stock photo in a design and the subject is looking toward the left edge of the page — but the flow of the layout needs them to look right. A horizontal flip solves this without having to re-license a different photo. ## Things to Watch Out For ### Text Becomes Backwards The most common mistake: flipping an image that contains text (like a sign, a book cover, or a T-shirt logo). The text will read backwards in the flipped version. Check for text before flipping, or be prepared to accept the reversed text. ### Watches and Asymmetric Features People who wear watches on their left wrist will have them on the right wrist in a flipped photo. Clothing with one-sided designs (like a logo on the chest) ends up on the opposite side. These can be subtle giveaways that an image has been flipped. ### Quality Is Preserved Flipping is a lossless operation — no pixels are lost or recompressed. The output is visually identical to the input, just mirrored. ## Common Mistakes When Flipping Images - **Confusing flip with rotate.** A 180° rotation gives you the same shape but everything is upside-down. A horizontal flip mirrors left-right but keeps top-top and bottom-bottom. They produce different results — pick based on what you actually want. - **Flipping when you really need to rotate.** A sideways photo from a phone is a rotation problem, not a flip problem. Use the 90° / -90° rotate buttons. - **Forgetting that watches and accessories swap sides.** People who wear glasses with asymmetric frames, watches, or jewelry on a specific side end up with those items on the opposite side after a horizontal flip. For portraits, always preview before sharing. - **Stacking flips by accident.**Two horizontal flips cancel out — you're back to the original. If you click flip twice and the image looks unchanged, that's why. - **Ignoring text that becomes backwards.** If the image contains a sign, book cover, T-shirt logo, or any text, a flip makes it unreadable. Either crop out the text first or accept the reversal as intentional. ## How Different Apps Handle Selfie Mirroring - **iPhone (default):** Saves selfies un-mirrored (showing you as others see you), even though the live preview is mirrored. Toggle: Settings → Camera → Mirror Front Camera. - **Samsung Galaxy:** Default depends on the model; most save un-mirrored. Toggle in Camera Settings → Save options as previewed. - **Pixel and stock Android:** Default un-mirrored. Some camera apps offer the mirror toggle in advanced settings. - **Snapchat / Instagram filters:**Save mirrored by default — what you see is what you get. So selfies from these apps look right to you but “wrong” when converted to standard format. If text consistently looks backwards in your selfies, your camera is set to save mirrored. If your face looks “not quite right” (but text reads normally), it's saving un-mirrored — flip horizontally to get the mirror version you recognize from the bathroom mirror. ## Combine with Other Image Tools After flipping, you can [crop the image](https://pdfflare.com/tools/image/crop-image) to a specific aspect ratio, [resize it](https://pdfflare.com/tools/image/resize-image) to exact pixel dimensions, or [compress it](https://pdfflare.com/tools/image/compress-image) for the web. All PDFFlare tools run in your browser and work on the same local file — no re-uploading. ## Workflow Notes Beyond the Basics Flipping images sounds trivial until you find yourself doing it across a hundred product photos for an e-commerce catalog or trying to mirror a logo without subtly distorting the type. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Flipping an image is one of those tasks that should take five seconds — and with [PDFFlare's free Flip Image tool](https://pdfflare.com/tools/image/flip-image), it does. Drag in your photo, pick horizontal or vertical, download. Your image never leaves your device, and the result is lossless — exactly like the original, just mirrored. ## Related Tools - [Crop Image](https://pdfflare.com/tools/image/crop-image) — trim the image after flipping - [Resize Image](https://pdfflare.com/tools/image/resize-image) — adjust dimensions of the flipped image - [Compress Image](https://pdfflare.com/tools/image/compress-image) — reduce the file size of your flipped output --- ## Frequently asked questions **Q: What is the difference between flipping and rotating an image?** A: Flipping creates a mirror image — left becomes right (horizontal flip) or top becomes bottom (vertical flip). Rotating turns the image around its center by a specific angle (90, 180, or 270 degrees) without mirroring the content. **Q: Does flipping an image lose quality?** A: No. Flipping is a lossless operation — it simply reverses the order of pixels along the chosen axis without recompressing them. The output image is pixel-for-pixel identical in quality to the input. **Q: Should selfies be flipped before posting?** A: It depends on your phone and camera app. iPhones save selfies un-mirrored (showing you as others see you), while many Android phones save them mirrored. If text in your selfie appears backwards, flip horizontally to fix it. **Q: Can I flip only part of an image?** A: PDFFlare's Flip Image tool flips the entire image at once. To flip just a portion, first use PDFFlare's Crop Image tool to isolate the section you want flipped, then run the flip operation. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Add a Watermark to Photos (Protect Your Images Online) URL: https://pdfflare.com/blog/how-to-add-watermark-to-photos Published: April 16, 2026 Reading time: 7 min read > Add a text watermark to any image for free. Protect your photos, logos, and designs from unauthorized use — customize font, size, opacity, and position. --- If you post photos online — whether you are a photographer sharing portfolio shots, a small business showing product images, a real estate agent posting property photos, or a creator sharing original artwork — there is a real risk someone will download your images and use them without credit. A watermark does not make theft impossible, but it makes attribution automatic and reposting obvious. In this guide you will learn how to add a watermark to your photos for free using [PDFFlare's Add Watermark tool](https://pdfflare.com/tools/image/add-watermark). It is browser-based, private (your images never upload), and gives you full control over the text, size, opacity, and position of your mark. ## Why Watermark Your Photos? - **Deter casual theft:** Most image theft is opportunistic. A visible watermark is enough to make people scroll past and find an unmarked image instead. - **Ensure credit when images are shared:** Every time someone reposts your watermarked image, your name or site goes with it — effectively free marketing. - **Protect business assets:** Product photos, architectural renderings, and branded content all benefit from visible ownership marks. - **Make tracking easier:** If a watermarked image shows up somewhere unexpected, you can search for it by the watermark text. - **Client proofs:** Photographers delivering previews to clients watermark proofs to prevent the client from using them before payment. ## How to Add a Watermark to an Image (Step by Step) 1. **Open the tool:** Visit [PDFFlare's Add Watermark tool](https://pdfflare.com/tools/image/add-watermark). 2. **Upload your image:** Drag and drop a JPG, PNG, or WebP. The image loads in the preview area. 3. **Enter your watermark text:**Your name, website, copyright notice (© 2026 Your Name), or social handle. Shorter text reads more clearly at a glance. 4. **Customize the look:** Adjust the font size, color, and opacity (usually 30-50% for a subtle look, 70%+ for bold protection). 5. **Place the watermark:** Choose a position — corners for subtle branding, center for maximum theft deterrence, or tiled across the whole image for pre-purchase client proofs. 6. **Download:** Click **Add Watermark** and save the result. ## How to Design a Watermark That Actually Works ### Keep the Text Short “© J. Smith Photography” is memorable. “© 2026 Jonathan Smith Photography LLC — All Rights Reserved” is a wall of text that nobody reads. Use your name or your site domain — nothing more. ### Pick the Right Opacity Too subtle (below 15%) and the watermark disappears — anyone can crop or edit it out with minimal effort. Too opaque (above 80%) and it dominates the image, making the photo itself less appealing. For most photos, **30-50%** opacity hits the balance: visible but not distracting. ### Pick the Right Position - **Bottom right corner:** The industry default. Subtle, professional, easy for viewers to ignore once they register whose photo it is. - **Center:** Maximum theft protection — anyone who wants to reuse the image has to edit directly over the subject, which is technically difficult and visually obvious. - **Tiled (repeated across the whole image):** Use for client proofs, stock photo previews, or pre-release content. Impossible to crop out. - **Along one edge:** Corners can be cropped off easily. A watermark along the full bottom or side edge is harder to trim without destroying the composition. ### Contrast Matters A white watermark vanishes on a bright sky. A black watermark vanishes on dark fabric. For photos with mixed backgrounds, try using white text with a subtle drop shadow or semi-transparent background — it stays legible against anything. ## Can Watermarks Be Removed? Honest answer: yes, with effort. Modern AI tools can inpaint over a small, semi-transparent corner watermark in seconds. But the calculus is not whether a watermark can theoretically be removed — it is whether a thief thinks it is worth the effort. For the vast majority of casual image theft (right-click, save, repost), a visible watermark is enough. For truly high-value protection, combine a visible watermark with: - A lower-resolution public version (keep the full-res original private). - Centered or tiled watermarks that cover the subject, not the margins. - EXIF metadata containing your copyright information. - Reverse image search alerts (Google Images, TinEye). ## Common Mistakes to Avoid ### Making the Watermark Too Big A watermark is not a billboard. If it overpowers the image, people scroll past instead of engaging. Keep the font size around 3-5% of the image's shorter dimension. ### Watermarking the Original Never watermark your master file. Always keep a clean, unwatermarked copy — you will want it for print work, licensing, or a different watermark design down the road. PDFFlare's tool outputs a separate watermarked file and leaves your original untouched. ### Using an Unreadable Font Fancy script fonts look elegant but blur into unreadable smudges at small sizes. Stick to clean sans-serif fonts (Arial, Helvetica, Inter) for watermarks — legibility beats style. ## Watermarking Multiple Photos If you need to watermark dozens or hundreds of photos with the same mark, repeat the process per image — PDFFlare's tool is optimized for the common case of watermarking a handful of photos at a time. For larger batches, you can also [compress](https://pdfflare.com/tools/image/compress-image) the results for web use and [resize](https://pdfflare.com/tools/image/resize-image) them to a uniform size. ## Common Watermarking Mistakes - **Watermark too faint to actually deter copying.** 10% opacity looks elegant but can be removed by anyone with basic photo editing skills. For real protection, 40-60% opacity is necessary even though it's more visible. - **Putting the watermark in the corner.** Corner watermarks are trivial to crop out. A diagonal watermark across the center of the image (or repeated tiles) is much harder to remove cleanly. - **Using a single color that blends with parts of the image.**A white watermark on a sky-only photo disappears. Use a watermark that combines white text with a black drop-shadow (or vice versa) so it's legible against any background. - **Watermarking the master file instead of a copy.** Always keep an unwatermarked master. If you need to update branding, regenerate from the master rather than working backward from a watermarked version. - **Using too much text in the watermark.** A long URL or copyright statement at large size dominates the image. Keep watermarks concise — just your name, handle, or domain. - **Inconsistent placement across a portfolio.** Mixing top-left, bottom-right, and center watermarks on a portfolio looks unprofessional. Pick one position and use it everywhere — the consistency is part of the brand. ## Watermark Types: Which Should You Use? - **Text watermark:**Fastest to make, easy to update. Best for personal branding or one-off use. PDFFlare's tool generates these in seconds. - **Logo watermark:** Stronger brand signal. Use a transparent PNG of your logo at 30-50% opacity. Best for commercial photographers and design studios. - **Tiled / pattern watermark:** Watermark repeated across the image. Maximum protection — impossible to crop out without destroying the image. Best for behind-paywall preview images. - **Invisible watermark (steganography):** Embeds hidden data in image pixels — not visible, but provable ownership through forensic tools. Used by stock photo agencies. Different problem domain — out of scope for typical user protection. ## Workflow Notes Beyond the Basics Photo watermarks serve a tactical purpose: they discourage casual reuse of your work without preventing the sophisticated theft that watermarks were never designed to stop. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up A watermark is the simplest, cheapest form of image protection — and in most real-world situations, it is enough. [PDFFlare's free Watermark tool](https://pdfflare.com/tools/image/add-watermark) lets you customize the text, size, opacity, and position in seconds, all in your browser. No signup, no uploads, no watermarks on the watermarking tool itself. ## Related Tools - [Compress Image](https://pdfflare.com/tools/image/compress-image) — shrink watermarked photos for upload - [Resize Image](https://pdfflare.com/tools/image/resize-image) — resize photos before watermarking - [Convert Image](https://pdfflare.com/tools/image/convert-image) — change format of watermarked images --- ## Frequently asked questions **Q: Does adding a watermark prevent image theft?** A: A visible watermark does not stop determined thieves, but it dramatically reduces casual copying and ensures that any unauthorized reuse still credits you. Watermarks also protect against reverse-image searches leading back to uncredited copies. **Q: Where is the best place to put a watermark?** A: A semi-transparent watermark placed diagonally across the center is hardest to remove without destroying the image. Corner watermarks are easily cropped out, so only use them when visual impact matters more than protection. **Q: What opacity should my watermark use?** A: For protection, use 40-60% opacity — dense enough to resist removal but light enough to let the image show through. For subtle branding, use 20-30% opacity. Full opacity (100%) blocks too much of the image. **Q: Can I add a watermark to multiple photos at once?** A: Yes. PDFFlare's Add Watermark tool supports batch processing. Upload multiple images, configure your watermark text once, and apply it to every image with a single click. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How Many Words Is 1 Page? (Word Count Guide for Essays & Books) URL: https://pdfflare.com/blog/how-many-words-is-one-page-word-count-guide Published: April 16, 2026 Reading time: 8 min read > How many words is 1 page, 5 pages, or 10 pages? A complete guide to word counts for essays, novels, articles, and speeches — plus a free word counter. --- “Write a 5-page essay.” “Give me a 1,000-word article.” “Your cover letter should be one page.” Depending on who is giving you instructions, word count and page count mean wildly different things — and getting the conversion wrong means either writing too little and losing marks, or writing too much and wasting hours. This guide breaks down exactly how many words fit on a page under common formatting standards, gives you a cheat sheet for essays, novels, speeches, and articles, and points you to a fast, free [word counter](https://pdfflare.com/tools/text/word-counter) for checking your own writing. ## The Short Answer: How Many Words Is 1 Page? For standard academic or professional formatting (Times New Roman 12pt, 1-inch margins, double-spaced), **1 page is about 250 words**. Single-spaced, the same page holds roughly **500 words**. Here is the quick conversion for the most common setups: - **1 page single-spaced:** ~500 words - **1 page double-spaced:** ~250 words - **2 pages double-spaced:** ~500 words - **3 pages double-spaced:** ~750 words - **5 pages double-spaced:** ~1,250 words - **10 pages double-spaced:** ~2,500 words - **20 pages double-spaced:** ~5,000 words ## How Many Pages Is X Words? Flipped the other way, here is what common word counts look like on the page: - **500 words:** 1 page single-spaced, 2 pages double-spaced - **750 words:** 1.5 pages single, 3 pages double - **1,000 words:** 2 pages single, 4 pages double - **1,500 words:** 3 pages single, 6 pages double - **2,000 words:** 4 pages single, 8 pages double - **3,000 words:** 6 pages single, 12 pages double - **5,000 words:** 10 pages single, 20 pages double - **10,000 words:** 20 pages single, 40 pages double ## What Changes the Word-Per-Page Count? The 250 / 500 rule assumes standard formatting. In practice, four things push the number up or down: - **Font choice:** Times New Roman packs more words per page than Arial. Calibri (the Microsoft Word default) sits between them. Courier (monospaced) uses dramatically more space. - **Font size:** Going from 12pt to 14pt reduces words-per-page by roughly 20-25%. Going from 12pt to 11pt adds about 15%. - **Line spacing:** Single-spacing (1.0) fits twice as many words as double-spacing (2.0). 1.15 (the Word default for modern documents) sits in between. - **Margins:** 1-inch margins are the norm. Narrower margins (0.5 inch) add 20-30% more words per page. Wider margins (1.5 inch) subtract about the same amount. ## Word Count Standards by Type of Writing ### Academic Essays - **High school essays:** 300-1,000 words (1-4 pages) - **Undergraduate essays:** 1,500-3,000 words (6-12 pages) - **Graduate essays / term papers:** 3,000-6,000 words (12-24 pages) - **Master's thesis:** 15,000-25,000 words (60-100 pages) - **PhD dissertation:** 70,000-100,000 words (280-400 pages) ### Books and Novels - **Flash fiction:** under 1,000 words - **Short story:** 1,000-7,500 words - **Novella:** 17,500-40,000 words - **Novel (standard):** 60,000-90,000 words - **Fantasy / epic novel:** 90,000-150,000+ words - **Non-fiction book:** 50,000-80,000 words ### Articles and Blog Posts - **News article:** 300-800 words - **Standard blog post:** 600-1,500 words - **In-depth blog post (SEO-optimized):** 1,500-3,000 words - **Feature article / long-form:** 3,000-8,000 words - **Listicle:** 1,000-2,000 words ### Business and Professional Writing - **Cover letter:** 250-400 words (1 page) - **Resume:** 400-800 words (1-2 pages) - **Executive summary:** 250-750 words - **White paper:** 2,500-5,000 words - **Press release:** 300-500 words ### Speeches and Presentations The standard speaking pace is **130-150 words per minute**. Use this for estimating speech length: - **1-minute speech:** ~130-150 words - **3-minute speech:** ~400-450 words - **5-minute speech:** ~650-750 words - **10-minute speech:** ~1,300-1,500 words - **TED talk (18 minutes):** ~2,300-2,700 words ## How to Count Words Accurately Microsoft Word and Google Docs have built-in word counts (_Tools → Word Count_ in Word; _Tools → Word count_ in Google Docs). But if you are working in a plain text editor, pasting from an email, or want a character count too, you need a dedicated tool. [PDFFlare's Word Counter](https://pdfflare.com/tools/text/word-counter) shows words, characters (with and without spaces), sentences, and paragraphs in real time as you type. It also gives you the estimated reading time and speaking time, which is genuinely useful for speeches and presentations. ## Word Count vs Character Count Some platforms limit by character count rather than word count. The most common character limits: - **Twitter (X) post:** 280 characters (free), 25,000 (Premium) - **Meta description (SEO):** ~155-160 characters - **Page title (SEO):** ~60 characters - **Instagram caption:** 2,200 characters - **LinkedIn headline:** 220 characters - **YouTube title:** 100 characters - **TikTok caption:** 2,200 characters - **SMS text message:** 160 characters (single segment) ## Tips for Hitting a Word Count ### If You Are Short - Add a specific example or two — concrete details flesh out abstract claims. - Anticipate a counter-argument and address it. - Expand on the “why it matters” section — implications and context. - Add a brief related case study, statistic, or quote. ### If You Are Long - Cut adverbs (“very”, “really”, “quite”) — they rarely add meaning. - Replace “in order to” with “to”, “due to the fact that” with “because”. - Combine short related sentences into one. - Delete the opening throat-clearing paragraph that restates the prompt. ## Workflow Notes Beyond the Basics Word counts are one of those numbers everyone treats as a hard rule when in fact they vary wildly with format, font, spacing, and audience expectations. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up The 250-words-per-page rule is the single most useful number in academic and professional writing — it lets you estimate page count from word count (or vice versa) without ever having to format the document first. For exact counts, use a [free word counter](https://pdfflare.com/tools/text/word-counter) that shows words, characters, sentences, and reading time as you type. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator) and [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Word Counter](https://pdfflare.com/tools/text/word-counter) and [Text Diff](https://pdfflare.com/tools/text/text-diff). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator) — generate exact word-count placeholder text - [Text Diff](https://pdfflare.com/tools/text/text-diff) — compare two text versions - [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html) — convert plain Markdown notes to HTML One more habit worth mentioning: keep a small log of the settings you actually use for recurring workflows, ideally in plain text in a folder you can search later. The first time you find yourself trying to remember whether you used eighty percent quality or eighty-five, or whether the last conversion targeted Letter or A4, the value of the log becomes obvious. Most professionals lose more time re-deriving settings they have already chosen than they do on the underlying conversion work, and a five-line note in a project README solves the problem permanently. The discipline of writing down your decisions and the reasoning behind them turns ad-hoc workflow tweaking into a maintainable practice that survives team turnover, sabbatical months, and your own forgetfulness across enough time that the original context fades. This is the kind of small investment that distinguishes someone who has been doing this work for ten years from someone who has been doing it for one. The point is not to be perfect but to be slightly more deliberate than yesterday, which compounds remarkably over time. --- ## Frequently asked questions **Q: How many words is one page?** A: A typical single-spaced page is 450-500 words in 12pt Times New Roman or Arial. Double-spaced, it is 250-300 words. This varies slightly depending on font, font size, and margins. **Q: How long does it take to read 1000 words?** A: At the average adult reading speed of 200-250 words per minute, 1000 words takes 4-5 minutes to read silently. Reading aloud is slower — about 7-8 minutes at 130 words per minute. **Q: Does the word counter include headings and captions?** A: Yes. PDFFlare's Word Counter counts every word in the text you paste, including headings, subheadings, captions, and bullet list items. For a more selective count, paste only the main body text. **Q: What counts as one word?** A: Any sequence of characters separated by whitespace counts as one word. Hyphenated compounds like 'state-of-the-art' count as one word. Numbers like '2026' also count as one word. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Encode or Decode Base64 Online (Images, Text, URLs) URL: https://pdfflare.com/blog/how-to-encode-decode-base64-online Published: April 16, 2026 Reading time: 7 min read > Encode and decode Base64 online for free. Handle text, images, URLs, and data URIs — step-by-step guide with examples and a free browser tool. --- Base64 shows up everywhere once you start looking for it — JWT tokens, data URIs inside CSS, image attachments in emails, basic auth headers, API keys in .env files. If you have ever seen a long string of letters, numbers, `+`, `/`, and `=` and wondered what it actually contained, Base64 is the answer. In this guide you will learn what Base64 is, when it is used, and how to encode or decode Base64 online using [PDFFlare's free Base64 Encode/Decode tool](https://pdfflare.com/tools/dev/base64-encode-decode). ## What Is Base64 (and What It Is Not) Base64 is an **encoding**, not encryption. It converts binary data into a text format made up of 64 safe ASCII characters: A-Z, a-z, 0-9, plus `+`, `/`, and the padding character `=`. Anyone can decode Base64 — it provides zero security. It exists to make binary data travel safely across systems designed for text (email, URLs, JSON, HTTP headers). A Base64-encoded string is about 33% larger than the original binary. That is the cost of representing 256 possible byte values using only 64 characters. ## How to Encode and Decode Base64 (Step by Step) 1. **Open the tool:** [PDFFlare's Base64 Encode/Decode tool](https://pdfflare.com/tools/dev/base64-encode-decode). 2. **Choose a direction:**Encode (plain text → Base64) or Decode (Base64 → plain text). 3. **Paste your input:** Any string works — passwords, JSON payloads, even emoji. 4. **Click Encode / Decode:** The result appears instantly below the input. 5. **Copy the output:** One click to clipboard. ## Common Use Cases for Base64 ### Data URIs (Images Inside CSS or HTML) Instead of linking to an image file, you can embed the image directly in your HTML or CSS as a data URI: `` This eliminates a network request (useful for tiny icons). The trade-off: larger CSS/HTML file sizes. Use for images under ~5 KB. ### Basic Authentication Headers HTTP Basic Auth sends credentials Base64-encoded: `Authorization: Basic YWxpY2U6c2VjcmV0` That string decodes to `alice:secret`. Which is why Basic Auth is **only safe over HTTPS** — over plain HTTP, anyone can decode the credentials. ### JSON Web Tokens (JWTs) JWTs have three Base64-encoded parts separated by dots: `header.payload.signature`. The header and payload are Base64-encoded JSON — meaning anyone can decode them to see what is inside. Only the signature is cryptographically protected. ### Email Attachments (MIME) Email protocols (SMTP) were designed for 7-bit ASCII. Every attachment — PDFs, images, spreadsheets — is Base64-encoded to survive the journey. That is why email attachments take about 33% more bandwidth than the raw file. ### Storing Binary Data in JSON or Databases JSON has no native binary type. To store binary data (file contents, encryption keys, hashes) in a JSON field, you Base64-encode it first, then decode on read. ### Encoding API Keys and Secrets Some services (e.g., Firebase, AWS) distribute credentials as Base64-encoded JSON blobs. You decode them to get your actual key material. ## Base64 vs URL-Safe Base64 Standard Base64 uses `+` and `/` — both reserved characters in URLs. When embedding Base64 in a URL, use URL-safe Base64, which replaces them with `-` and `_` and drops the `=` padding. JWTs, for example, use URL-safe Base64. ## Encoding Images as Base64 Data URIs require Base64-encoded image data: 1. Upload or read your image file as binary. 2. Base64-encode the binary. 3. Prefix with `data:image/png;base64,` (or the correct MIME type). 4. Use as the `src` of an `` tag or the `url()` value in CSS. Only encode tiny images (under 5 KB) this way. For larger images, the size bloat and loss of caching make a regular `` tag a better choice. If you need to compress images first, use [PDFFlare's image compressor](https://pdfflare.com/tools/image/compress-image). ## Troubleshooting Base64 ### “Invalid Base64” Error The most common cause: copy-paste artifacts. Newlines, trailing spaces, or pasted `=` padding being dropped. Before decoding, strip all whitespace from the input. ### Decoded Output Looks Like Gibberish The source data is probably binary (an image, a PDF, a compressed archive). Base64 decoders are designed for text — decoding a PNG into a text window will show control characters and gibberish. Save the decoded bytes to a file with the right extension instead. ### Character Encoding Issues Base64 operates on bytes, not characters. If your text contains non-ASCII characters (emoji, accented letters, CJK), the encoder first converts to UTF-8 bytes, then Base64-encodes. Decoding goes the other way. Mismatched encodings (Latin-1 vs UTF-8) cause garbled output. ## Common Base64 Mistakes - **URL-safe vs standard Base64 confusion.** Standard Base64 uses `+`, `/`, and `=`. URL-safe Base64 (RFC 4648) substitutes` -`, `_`, and drops padding. Trying to decode URL-safe Base64 with a standard decoder fails. Always check which variant the source produced. - **Forgetting padding in re-encoded output.** Strict decoders require the trailing `=` padding characters. If you stripped them for URL inclusion, add them back before decoding (calculate based on input length mod 4). - **Encoding binary data twice.**Reading a file as text first then Base64-encoding the text yields garbage. Always read binary files as raw bytes (e.g. Node's `readFileSync` with no encoding) before encoding. - **Using Base64 to “hide” data.** Base64 is reversible by anyone — it's an encoding, not encryption. Never store passwords, API keys, or sensitive tokens in Base64-only form thinking it provides security. - **Choking on whitespace in the input.** Base64 strings sometimes wrap with newlines (PEM certificates do this). Some decoders strict-reject whitespace; others tolerate it. If decode fails, strip all whitespace and retry. - **Confusing Base64 with Base32 or Base58.** They're different alphabets (Base64 = 64 chars, Base32 = 32, Base58 = 58 — used in Bitcoin). They look similar but aren't interchangeable. ## Where Base64 Shows Up in Real Systems - **JWT tokens:**Three Base64-URL-safe-encoded sections joined by dots: header, payload, signature. Decode the first two to inspect a JWT's claims. - **HTTP Basic auth:** `Authorization: Basic dXNlcjpwYXNz`— that's` user:pass` in Base64. Anyone watching the request can decode it (which is why Basic auth must always be paired with HTTPS). - **data: URIs in HTML/CSS:** `data:image/png;base64,iVBORw0...` — embeds an image directly in a stylesheet or HTML attribute, no separate file fetch. - **Email attachments (MIME):** Email transmits as 7-bit ASCII; binary attachments are Base64-encoded inside the email body. - **X.509 certificates (PEM):** The Base64-encoded block between `-----BEGIN CERTIFICATE-----` and` -----END CERTIFICATE-----` is the actual cert DER-encoded then Base64-wrapped. - **Crypto signatures and hashes:** Many APIs return signatures or hashes as Base64 strings — shorter than hex (66% the length). ## Privacy Note Base64 is not encryption. Never rely on Base64 to hide passwords, API keys, or personal information — anyone with a decoder (like the one you are reading about) can read the original data instantly. For genuine protection, use encryption (AES, RSA) and store secrets in dedicated secret managers. Use a [hash generator](https://pdfflare.com/tools/dev/hash-generator) for one-way fingerprints you do not need to reverse. ## Workflow Notes Beyond the Basics Base64 encoding is the format you reach for when you need to embed binary data in a context that only accepts text, and it comes up far more often than most engineers realize. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Base64 is one of those tools that feels magic until you understand it — then feels mundane. It is not encryption, it is not compression, it is not security. It is just a way to represent binary data in text. [PDFFlare's Base64 tool](https://pdfflare.com/tools/dev/base64-encode-decode) handles both directions in your browser — no data leaves your device. ## Related Tools - [URL Encode/Decode](https://pdfflare.com/tools/dev/url-encode-decode) — encode URL-unsafe characters in Base64 output - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — validate JSON before encoding to Base64 - [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) — hash encoded data for integrity --- ## Frequently asked questions **Q: Why is Base64-encoded data longer than the original?** A: Base64 encoding represents 3 bytes of binary data using 4 ASCII characters, creating roughly 33% size inflation. A 1 MB image becomes approximately 1.37 MB when Base64-encoded. This overhead is the price of safe transmission through text-only channels. **Q: Is Base64 encryption?** A: No. Base64 is encoding, not encryption. Anyone can decode Base64 text back to its original form with no password or key. Never use Base64 to 'hide' sensitive data — use real encryption (AES, for example) for security. **Q: Why does my Base64 string end with = signs?** A: The = signs are padding characters. Base64 requires input sizes to be a multiple of 3 bytes. When the input is shorter, padding is added to the end: one = for 2-byte input, two = for 1-byte input. Padding preserves round-trip accuracy. **Q: Can I Base64-encode an image file?** A: Yes. PDFFlare's Base64 tool accepts image uploads and outputs the complete data URI (data:image/png;base64,...) ready to paste into HTML src attributes or CSS background-image properties. This embeds the image directly without requiring a separate file. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # What Is Lorem Ipsum and How to Generate It (A Designer's Guide) URL: https://pdfflare.com/blog/what-is-lorem-ipsum-how-to-generate Published: April 16, 2026 Reading time: 7 min read > Lorem ipsum explained — its Latin origin, why designers use it, and how to generate custom placeholder text free. Paragraphs, sentences, and words. --- “Lorem ipsum dolor sit amet...” You have seen it in every design mockup, every website template, every empty CMS field. It is the most famous dummy text in the world — and most designers who use it every day have no idea where it came from, why it became the standard, or how to generate a version tailored to their own layouts. This guide covers the unlikely history of lorem ipsum, why it is still the designer's default after 500+ years, and how to generate custom placeholder text for your own projects using [PDFFlare's Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator). ## What Is Lorem Ipsum? Lorem ipsum is a block of pseudo-Latin placeholder text used in the publishing and design industries since the 1500s. It is not meaningful Latin — the phrases were deliberately scrambled centuries ago to make the text unreadable while preserving a natural Latin-looking appearance. Designers use it because it lets the eye focus on the visual design — typography, spacing, hierarchy, color — without getting distracted by the meaning of the words. ## Where Lorem Ipsum Comes From The passage traces back to a text written by Roman philosopher **Cicero** in 45 BC called _De Finibus Bonorum et Malorum_(“On the Ends of Good and Evil”). The original Latin passage begins: _“Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...”_ Translation: “Nor is there anyone who loves, pursues, or wishes to obtain pain of itself, because it is pain...” In the 1500s, an unknown printer took this Cicero text and scrambled it to create a typography specimen. The scrambling removed meaning but kept the natural letter distribution of Latin, making it ideal for showing off typefaces. The modern “Lorem ipsum dolor sit amet” we know today was popularized in the 1960s by Letraset rub-on transfer sheets and became the desktop publishing default once Aldus PageMaker shipped it as a built-in placeholder in the 1980s. ## Why Designers Still Use Lorem Ipsum ### Focus on Design, Not Content If you drop real English copy into a wireframe, stakeholders read the words. They critique the messaging. They ask why the headline says that specific thing. The design review derails into a copy review. Lorem ipsum solves this by being visibly non-English. Nobody reads it, so discussion stays on the design. ### Natural Letter Distribution Lorem ipsum mimics the letter frequency distribution of real Latin and Western European languages — lots of vowels, moderate word lengths, varied sentence structures. This makes line breaks, word spacing, and justification render realistically. Random keyboard mashing (“asdf asdf asdf”) does not produce the same typographic texture. ### It Is the Industry Default Designers, developers, and clients are all used to seeing lorem ipsum in mockups. Anyone who sees it immediately recognizes it as placeholder, not final copy — no explanation needed. ## How to Generate Lorem Ipsum (Step by Step) 1. **Open the tool:** [PDFFlare's Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator). 2. **Choose your unit:** Paragraphs, sentences, or words — pick the one that matches your layout need. 3. **Set the count:** How many paragraphs (e.g., 3), sentences (e.g., 5), or words (e.g., 50) you need. 4. **Generate:** The placeholder text appears instantly. 5. **Copy to clipboard:** One click — paste into your design, CMS, or code. ## When to Use Lorem Ipsum vs Real Content ### Use Lorem Ipsum For: - Wireframes and early design mockups - Typography specimens and type-testing - Template previews and design system documentation - Client presentations focused on layout, not copy - Stress-testing components with different text lengths ### Use Real Content For: - Final design reviews (real copy reveals design issues lorem hides) - Accessibility testing (lorem ipsum has no meaningful semantic structure) - SEO considerations (search engines need real text, not placeholder) - User testing (participants should read real language) - Anything going to production (lorem ipsum in a live site is a rookie mistake) ## Variants of Lorem Ipsum Some designers have moved beyond Cicero. Popular alternatives: - **Bacon Ipsum:**Random meat and food words (“bacon ipsum dolor amet ham hock shank...”). - **Hipster Ipsum:**Random hipster vocabulary (“artisan vinyl etsy fixie pour-over...”). - **Corporate Ipsum:**Business buzzwords (“leverage synergies paradigm shift...”). - **Pirate Ipsum:** Nautical and pirate-themed gibberish. These variants are fun for client presentations and blog posts. But for serious typography work, classic lorem ipsum remains unbeatable because of its realistic letter distribution. ## Troubleshooting ### “My Generated Text Looks Too Repetitive” Lorem ipsum has a limited word pool. For very long blocks (100+ paragraphs), the pool recycles and the text becomes obviously repetitive. For those cases, use multiple different generators or accept the repetition — end users never read it anyway. ### “My Client Thinks It Is Broken” Non-technical clients sometimes see lorem ipsum and assume there is an error. Label the placeholder clearly (“Placeholder text — will be replaced with final copy”) or use a variant like Bacon Ipsum that is obviously nonsense. ### “Lorem Ipsum Shipped to Production” It happens more than you think. Before launching, run a quick search for “lorem ipsum”, “dolor sit amet”, and “consectetur” across your codebase and CMS. One found string saves serious embarrassment. ## Lorem Ipsum Variants and When to Use Each - **Classic Latin Lorem Ipsum:**The default. Looks like Latin, doesn't distract designers. Best general choice. Use when your design audience is English-speaking and the goal is to keep them looking at layout, not content. - **Hipster Ipsum:**Replaces Latin words with modern hipster vocabulary (“artisan”, “cold-pressed”, “mason jar”). Fun for client demos but creates real distraction. Use sparingly. - **Bacon Ipsum / Veggie Ipsum:** Themed filler. Good for food and lifestyle brands during pitch decks. Same distraction risk as Hipster Ipsum. - **Cat Ipsum / Corporate Ipsum:** Niche themed generators. Memorable but draws attention to itself rather than the design. - **Localized Ipsum (Greek, Cyrillic, CJK):** Critical when designing for non-Latin languages — Latin Lorem Ipsum gives the wrong sense of word length and character density. Use a localized generator. - **Real-content placeholder:** For final-stage mockups, use real content lengths and themes. Lorem Ipsum is a tool for early design, not the final approval. ## Common Lorem Ipsum Mistakes - **Using Latin filler in non-Latin layouts.** Designing a Japanese site? Latin Lorem Ipsum has dramatically different word and character widths than CJK text. Use `あいうえお`-style placeholders or real Japanese sample text. - **Using too short or too long blocks.** Generate roughly the same length as your real content will be. A two-sentence Lorem Ipsum block where the real content will be 500 words gives a misleading layout. - **Forgetting to replace before launch.**Add a pre-deploy check for “lorem ipsum” substrings. Many high-profile site launches have shipped with placeholder text in the wild. ## Workflow Notes Beyond the Basics Lorem ipsum is one of the few Latin phrases working designers reference daily, and its history reveals why placeholder text matters even in an era of generative AI. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Lorem ipsum is the silent workhorse of visual design. A scrambled passage from 45 BC, rediscovered in the 1500s, standardized in the 1960s, and still the industry default today. [PDFFlare's generator](https://pdfflare.com/tools/text/lorem-ipsum-generator) gives you paragraphs, sentences, or words in one click, no signup, with a real one-click copy button. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Text Diff](https://pdfflare.com/tools/text/text-diff) and [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Lorem Ipsum Generator](https://pdfflare.com/tools/text/lorem-ipsum-generator) and [Word Counter](https://pdfflare.com/tools/text/word-counter). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Word Counter](https://pdfflare.com/tools/text/word-counter) — check the word count of your Lorem Ipsum - [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html) — render Lorem Ipsum Markdown into HTML mockups - [Text Diff](https://pdfflare.com/tools/text/text-diff) — compare mockup text to finalized content --- ## Frequently asked questions **Q: Why is Lorem Ipsum still used today?** A: Lorem Ipsum prevents readers from focusing on content when they should be evaluating design. Using real English text distracts clients with typos, sentence structure, and meaning. Lorem Ipsum's Latin appearance keeps attention on layout, typography, and visual hierarchy where it belongs during design reviews. **Q: What language is Lorem Ipsum?** A: Lorem Ipsum is scrambled Latin derived from a 1st-century BC text by Cicero ('De Finibus Bonorum et Malorum'). Words were shuffled and some altered, so it is not readable Latin — just Latin-looking filler text. **Q: How much Lorem Ipsum should I use?** A: Generate the same approximate length as the real content will be. For a blog intro, 50-80 words. For a full article, 500-800 words. For a paragraph of body copy, 3-5 sentences. Matching the target length produces more accurate layouts. **Q: Is there an alternative to Lorem Ipsum?** A: Yes — 'Bacon Ipsum' (meat-themed), 'Hipster Ipsum' (buzzword-filled), and 'Corporate Ipsum' (business jargon) are playful alternatives. For design work, stick with classic Lorem Ipsum because its neutral Latin does not distract with jokes or themes. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to URL Encode and Decode Online (Special Characters Explained) URL: https://pdfflare.com/blog/how-to-url-encode-decode-online Published: April 16, 2026 Reading time: 7 min read > URL encoding explained with examples. Learn how to encode special characters for URLs and decode percent-encoded strings online for free. --- You paste a link with an emoji or a space into an email, and the recipient gets a broken URL full of `%20` and `%F0%9F%98%80`. You build a search URL with a user query and it breaks when someone types an `&`. You receive a tracking URL and want to see what the parameters actually say. All three situations involve the same fundamental concept: **URL encoding**. In this guide you will learn what URL encoding is, which characters need encoding, and how to encode or decode URLs online using [PDFFlare's URL Encode/Decode tool](https://pdfflare.com/tools/dev/url-encode-decode). ## What URL Encoding Actually Does URLs can only contain a limited set of ASCII characters. Spaces, emoji, accented letters, and reserved characters (`&`,`=`, `?`, `/`, `#`) cannot appear in a URL as-is without confusing the browser. URL encoding (also called **percent-encoding**) converts every unsafe byte into `%XX`, where XX is the hex code for the byte. A space becomes `%20`. An`&` becomes `%26`. An emoji becomes four bytes of UTF-8, each encoded as `%XX`. ## How to URL Encode or Decode (Step by Step) 1. **Open the tool:** [PDFFlare's URL Encode/Decode tool](https://pdfflare.com/tools/dev/url-encode-decode). 2. **Pick a direction:**Encode (plain text → percent-encoded) or Decode (percent-encoded → plain text). 3. **Paste your input:** A full URL, a query parameter value, or any string. 4. **Click Encode / Decode:** The result appears instantly below the input. 5. **Copy:** One click to clipboard. ## Which Characters Need Encoding? ### Always Safe (No Encoding Needed) Letters (A-Z, a-z), digits (0-9), and the four “unreserved” marks: `-`, `_`, `.`, `~`. ### Reserved — Encode When Used as Data These characters are part of URL syntax and need encoding when they appear in a query parameter value or path segment: - `:` → `%3A` - `/` → `%2F` - `?` → `%3F` - `#` → `%23` - `[` → `%5B`, `]` → `%5D` - `@` → `%40` - `!` → `%21`, `$` → `%24` - `&` → `%26`, `=` → `%3D` - `+` → `%2B` ### Always Encode - **Space:** `%20` (or `+` in query strings) - **Quotes and brackets:** `"`, `<`, `>` - **Percent sign itself:** `%` → `%25` - **Any non-ASCII character:** encoded as UTF-8 then percent-encoded ## When You Need URL Encoding (Common Scenarios) ### Building Search and Filter URLs User-generated input — search queries, filter values, sort fields — almost always contains characters that need encoding. A search for “coffee & tea” concatenated naively into `?q=coffee & tea` drops everything after the ampersand. Encode every value before splicing it into a URL. ### OAuth and Authentication Callbacks OAuth redirect URIs, state parameters, and code challenges all travel through query strings. The state parameter especially — often a JSON blob or random token — must be URL-encoded to survive the round trip. Failing to encode breaks the callback and locks users out. ### Share-to-Social URLs Twitter share intents, Slack “send” URLs, mailto links all take a pre-filled message in a query parameter. The message contains spaces, punctuation, possibly emoji — all need encoding. PDFFlare's tool gives you the encoded share URL ready to drop into an . ### Tracking and Analytics URLs UTM parameters with campaign names like “spring sale 2026” need spaces encoded. Reading an inbound URL with strange `%XX` sequences? Decode it first to see what the marketer actually sent — then debug from clean values. ### Deep Links Into Mobile Apps iOS Universal Links and Android App Links pass data through query parameters. Anything containing punctuation, emoji, or non-ASCII text needs encoding. Test with the decode tool to verify the link unpacks correctly on the device. ### API Path Parameters with User IDs REST endpoints like `/users/{id}/posts` with user-supplied IDs need encoding when the ID contains slashes, colons, or non-ASCII characters (common with email-as-ID schemes). Encode at the boundary, decode in the route handler. ## URL Encoding by Position: Path vs Query vs Fragment Different parts of a URL have different escaping rules. Knowing which applies prevents subtle bugs: - **Path segments:** Anything between slashes. Encode the slash itself when it appears inside a value, plus all reserved characters. Spaces become `%20`, never` +`. - **Query string keys and values:** Encode `&`,` =`, `+`, and `?`. In form-style encoding (default for HTML forms), spaces become `+`; in modern URI templates, `%20`. - **Fragment (after `#`):** Slightly more permissive — `?` and `/`don't need encoding. But still encode anything that would terminate the fragment. - **Userinfo (rarely used today):** `user:pass@` in URLs encodes `@` within the username/password, because `@` separates userinfo from host. ## Common URL Encoding Mistakes ### Not Encoding User Input Building a URL from user input without encoding is a classic bug: `/search?q=hello & welcome` The `&` terminates the query parameter, so only `hello` reaches the server. The correct encoding: `/search?q=hello%20%26%20welcome` ### Double Encoding Passing an already-encoded string through an encoder again turns `%20` into `%2520`. The server decodes one layer and gets `%20` instead of a space, leading to broken URLs. Decode first to check, then encode once. ### Space as `+` vs `%20` Both are valid in query strings (after the `?`), but only `%20` is valid in the path portion. When in doubt, use `%20` — it works everywhere. The `+` substitution is a quirk of HTML form submissions. ### Encoding the Whole URL Instead of Just a Value Never encode a full URL, or you break its syntax. Encode _only the value of each query parameter_: **Wrong:** `https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello` **Right:** `https://example.com/search?q=hello` ## Programming Language Equivalents - **JavaScript:** `encodeURIComponent(value)` for values, `encodeURI(url)` for full URLs. - **Python:** `urllib.parse.quote(value)` for values, `urllib.parse.quote_plus(value)` for form encoding. - **Go:** `url.QueryEscape(value)`. - **PHP:** `urlencode($value)` or `rawurlencode($value)`. - **Java:** `URLEncoder.encode(value, "UTF-8")`. ## Related Developer Tools Working with URLs and data encoding often go together: - [Base64 Encode/Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — for JWT tokens and binary data in URLs. - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — for JSON payloads embedded in query strings after decoding. - [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) — for URL signing and integrity checks. ## Workflow Notes Beyond the Basics URL encoding sits at the boundary between human-readable text and machine-parseable URIs, and getting it right is more nuanced than the basic mechanics suggest. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up URL encoding is one of those invisible pieces of plumbing that silently breaks software when ignored. Spaces, emoji, ampersands, and reserved characters all need to be percent-encoded before they hit a URL. [PDFFlare's URL Encode/Decode tool](https://pdfflare.com/tools/dev/url-encode-decode) handles both directions in your browser, no signup, no logging. ## Related Tools - [Base64 Encode/Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — encode binary data for URLs - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format JSON payloads before URL-encoding - [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) — hash URL parameters for signing One more habit worth mentioning: keep a small log of the settings you actually use for recurring workflows, ideally in plain text in a folder you can search later. The first time you find yourself trying to remember whether you used eighty percent quality or eighty-five, or whether the last conversion targeted Letter or A4, the value of the log becomes obvious. Most professionals lose more time re-deriving settings they have already chosen than they do on the underlying conversion work, and a five-line note in a project README solves the problem permanently. The discipline of writing down your decisions and the reasoning behind them turns ad-hoc workflow tweaking into a maintainable practice that survives team turnover, sabbatical months, and your own forgetfulness across enough time that the original context fades. This is the kind of small investment that distinguishes someone who has been doing this work for ten years from someone who has been doing it for one. --- ## Frequently asked questions **Q: Why do URLs contain characters like %20 and %3F?** A: These are URL-encoded (percent-encoded) representations of reserved characters. %20 is a space, %3F is a question mark, %2F is a forward slash. Encoding preserves the character while preventing it from being interpreted as URL syntax. **Q: When do I need to URL-encode a value?** A: Always URL-encode user input, search queries, and any string with special characters before placing it in a URL — especially in query parameters (?key=value) and URL paths. Failing to encode causes broken URLs, incorrect server parsing, or security issues. **Q: What is the difference between encodeURI and encodeURIComponent?** A: encodeURI encodes a full URL and preserves reserved URL characters like /, ?, and &. encodeURIComponent encodes a single piece of a URL (like a query value) and encodes everything including /, ?, and &. Use encodeURIComponent for query parameter values and path segments. **Q: Is URL encoding the same as Base64?** A: No. URL encoding replaces only special characters with %XX sequences while keeping readable text intact. Base64 re-encodes all input into a new alphabet, producing unreadable output. They solve different problems and are not interchangeable. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Generate MD5, SHA-1, and SHA-256 Hashes Online (Free) URL: https://pdfflare.com/blog/how-to-generate-md5-sha256-hash-online Published: April 16, 2026 Reading time: 8 min read > Generate MD5, SHA-1, and SHA-256 hashes online for free. Verify file integrity, create checksums, and understand hash algorithms — browser-based tool. --- You downloaded a large file and want to confirm it was not tampered with. You are comparing two text inputs and need a fast way to know if they are identical without showing them to anyone. You are storing passwords in a database and need a one-way fingerprint. All three situations call for the same tool: **a cryptographic hash**. This guide explains what hashes are, the difference between MD5, SHA-1, and SHA-256, when to use each, and how to generate hashes online using [PDFFlare's free Hash Generator](https://pdfflare.com/tools/dev/hash-generator). ## What Is a Hash? A cryptographic hash function takes any input — a password, a file, a paragraph — and produces a fixed-length “fingerprint” that uniquely represents it. Three key properties: - **Deterministic:** The same input always produces the same hash. Always. - **One-way:** You cannot reverse a hash back to the original input. Unlike Base64, hashing is not encoding — it is irreversible. - **Avalanche effect:** Changing a single character in the input produces a completely different hash. No partial similarity. ## How to Generate a Hash (Step by Step) 1. **Open the tool:** [PDFFlare's Hash Generator](https://pdfflare.com/tools/dev/hash-generator). 2. **Paste your input:** Any text — a password, a sentence, or JSON data. 3. **Pick an algorithm:** MD5, SHA-1, SHA-256, SHA-384, or SHA-512. 4. **View and copy the hash:** Output appears instantly. One-click copy to clipboard. ## MD5 vs SHA-1 vs SHA-256: Which One to Use ### MD5 (128-bit, 32 hex chars) MD5 produces a 32-character hex string: `5d41402abc4b2a76b9719d911017c592`. It is fast, widely supported, and completely broken for security purposes — collisions (different inputs producing the same hash) can be generated in seconds on modern hardware. **Safe for:** Non-security integrity checks, cache keys, de-duplication, checksums for detecting accidental corruption. **Do not use for:** Passwords, digital signatures, any adversarial scenario. ### SHA-1 (160-bit, 40 hex chars) SHA-1 produces a 40-character hex string. It was the standard through the 2000s but is now officially broken — Google publicly demonstrated a SHA-1 collision in 2017. TLS certificates stopped using it in 2016. **Safe for:**Git commit hashes (they do not rely on SHA-1's collision resistance), legacy checksums. **Do not use for:** Anything new. Use SHA-256 instead. ### SHA-256 (256-bit, 64 hex chars) SHA-256 is the current industry standard for general cryptographic use. It is used by TLS certificates, Bitcoin, Git tags, JWT signatures, and checksum files on software release pages. No known collision attacks exist against SHA-256. **Safe for:** Password hashing (with a proper algorithm like bcrypt/Argon2 on top — never use raw SHA-256 for passwords), file integrity checks, digital signatures, blockchain applications. ### SHA-384 and SHA-512 Longer variants of the SHA-2 family. Same security level as SHA-256 in practice, but longer outputs for systems that require them. Rarely needed for everyday use. ## Common Use Cases for Hashes ### File Integrity Verification When you download Ubuntu, Node.js, or any major open-source release, the project publishes a SHA-256 hash alongside the download. After downloading, you compute the SHA-256 hash of the file and compare. Match means the file is intact; mismatch means corruption or tampering. ### Password Storage (Indirectly) You should **never** store raw passwords. Instead, store the hash — and when a user logs in, hash their input and compare. That way, a database breach does not leak passwords. **Critical caveat:** raw SHA-256 is not good enough for password hashing. Use a purpose-built password hashing algorithm like **bcrypt**, **Argon2**, or **scrypt**. These are intentionally slow and salted to resist brute-force attacks. ### Content Addressing Git identifies every commit, tree, and blob by its SHA-1 hash. IPFS (the InterPlanetary File System) uses SHA-256 for the same purpose. Content-addressed storage means identical content always has the same address — enabling perfect deduplication. ### Cache Keys and Deduplication Hash the contents of an asset (CSS, JS, image), use the hash as part of the filename (e.g., `main.a1b2c3d4.js`), and set long cache headers. When the content changes, the hash changes, the URL changes, and browsers pick up the new version automatically. ### Digital Signatures and JWTs Digital signatures start with a hash of the content, then encrypt the hash with the signer's private key. JWTs sign their payload with HMAC-SHA-256 (HS256), producing a signature that can be verified but not forged without the secret. ## Password Hashing Best Practices - **Never use raw MD5, SHA-1, or SHA-256 for passwords.** They are too fast — modern GPUs compute billions of hashes per second, making brute force trivial. - **Use bcrypt, Argon2, or scrypt.** These are designed to be slow and memory-hard, resisting GPU attacks. - **Always salt passwords.** A salt is a random value prepended to the password before hashing, preventing rainbow table attacks. The hashing library handles this automatically. - **Hash server-side, not client-side.** Client-side hashing does not protect against server compromise and actually creates new attack vectors. ## Verifying File Downloads: Step by Step Example: verifying a downloaded Node.js installer. 1. On the Node.js download page, note the published SHA-256 hash next to the file (usually in a `SHASUMS256.txt` file). 2. Compute the SHA-256 of your downloaded file. On macOS/Linux: `shasum -a 256 node-v22.x.x.pkg`. On Windows PowerShell: `Get-FileHash -Algorithm SHA256 node.pkg`. 3. Compare the two hashes character-by-character. If they match, the file is exactly what the Node.js team published. If not, redownload and try again. ## Privacy Note Many online hash generators send your input to a server. That is fine for public test strings — but risky for anything sensitive (API tokens, internal data, partial passwords). [PDFFlare's Hash Generator](https://pdfflare.com/tools/dev/hash-generator) runs entirely in your browser using the native Web Crypto API. Your input never leaves your device. ## Common Hash Generation Mistakes - **Using MD5 or SHA-1 for security.** Both are cryptographically broken — collisions can be generated on consumer hardware. Use SHA-256 or SHA-3 for any security- sensitive context. MD5/SHA-1 are still acceptable for non- adversarial integrity checks (e.g. CDN cache keys). - **Hashing passwords directly.** Plain hashing (even SHA-256) is too fast — modern GPUs can try billions of password guesses per second. Use a slow hash function specifically designed for passwords: bcrypt, scrypt, Argon2, or PBKDF2 with high iteration counts. - **Forgetting to use a salt.** Two users with the same password should get different hashes. Add a unique random salt per user (16+ bytes) before hashing, store the salt alongside the hash. Without salt, attackers can use rainbow tables. - **Comparing hashes with == instead of constant-time compare.** String equality short-circuits on the first differing byte, which leaks timing information. Use a constant-time comparison function (`crypto.timingSafeEqual` in Node, `hmac.compare_digest` in Python). - **Mixing case-sensitive vs case-insensitive comparison.** Hex hash output may be uppercase or lowercase depending on tool. Always lowercase both sides before comparing, or both uppercase. Mismatched case = false mismatch. - **Hashing the same content twice expecting different results.** Hashes are deterministic. Same input always produces same output. If you need different outputs (e.g. unique session IDs), include a nonce or timestamp in the input. ## Hash Algorithm Recommendations by Use Case - **File integrity (downloads, backups):** SHA-256. Standard, widely supported, secure enough for non-adversarial integrity verification. - **Git commits:**Git uses SHA-1 historically; modern Git is migrating to SHA-256. Both work for repo integrity since they're not used for secrets. - **Password storage:** Argon2id (recommended new choice), bcrypt (well-established), or scrypt. Never plain SHA-256. - **API request signing (HMAC):** HMAC-SHA256 is the standard. Modern APIs almost universally use this. - **Data deduplication and caching:** SHA-256 if collisions matter; MD5 or even xxHash (much faster, not cryptographic) for performance-sensitive non-adversarial cases. - **Cryptographic signatures:** SHA-256 or SHA-3-256, paired with a signature algorithm (ECDSA, Ed25519, RSA). ## Workflow Notes Beyond the Basics Hashing is the workflow you reach for when you need to verify file integrity, generate cache keys, or implement security primitives without rolling your own crypto. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. ## Wrapping Up Hashes are one of the most versatile tools in software: file integrity checks, password storage (with proper algorithms), content addressing, cache keys, digital signatures. For modern work, SHA-256 is the default. MD5 is fine for non-security checksums. SHA-1 is legacy only. [PDFFlare](https://pdfflare.com/tools/dev/hash-generator) generates all of them free, browser-based. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[URL Encode/Decode](https://pdfflare.com/tools/dev/url-encode-decode) and [QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Hash Generator](https://pdfflare.com/tools/dev/hash-generator) and [Base64 Encode/Decode](https://pdfflare.com/tools/dev/base64-encode-decode). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Base64 Encode/Decode](https://pdfflare.com/tools/dev/base64-encode-decode) — encode hash outputs as Base64 - [URL Encode/Decode](https://pdfflare.com/tools/dev/url-encode-decode) — URL-encode hash values for safe transport - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format JSON payloads before hashing --- ## Frequently asked questions **Q: What is the difference between MD5 and SHA-256?** A: MD5 produces a 128-bit (32-character hex) hash and is fast but cryptographically broken — it should only be used for non-security purposes like file integrity checks. SHA-256 produces a 256-bit (64-character hex) hash, is slower, and is still considered secure for cryptographic use like password hashing and digital signatures. **Q: Can I reverse a hash to get the original input?** A: No. Hash functions are one-way — you cannot derive the original input from the hash. However, attackers can try common inputs (dictionary attacks) or precomputed tables (rainbow tables) to find matches. Always salt password hashes to defeat these attacks. **Q: Why do people use hashes to verify downloads?** A: A download's hash uniquely fingerprints its contents. If the file is tampered with or corrupted during transfer, its hash will not match the published one. Comparing hashes gives mathematical proof that the file you received is identical to the file the publisher made available. **Q: Is SHA-1 still safe to use?** A: No. SHA-1 has been demonstrated insecure against collision attacks since 2017. Use SHA-256 or SHA-512 for new projects. SHA-1 is only acceptable for legacy compatibility (old Git, some certificates) where a replacement has not been made yet. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert HEX to RGB (and Back): Color Codes Explained URL: https://pdfflare.com/blog/how-to-convert-hex-to-rgb-color-codes Published: April 16, 2026 Reading time: 7 min read > Convert HEX to RGB, RGB to HEX, and HSL online for free. Learn how color codes work, which format to use when, and convert with a free browser tool. --- CSS uses HEX. Photoshop prefers RGB. Figma shows both plus HSL. Sketch adds HSB. Tailwind classes map to HEX. Brand guidelines arrive as Pantone. Designers and developers deal with the same colors in half a dozen different formats every day — and translating between them by hand is slow, error-prone, and completely unnecessary. This guide explains the three most important color formats — **HEX, RGB, and HSL** — when to use each, and how to convert between them instantly using [PDFFlare's free Color Converter](https://pdfflare.com/tools/dev/color-converter). ## HEX, RGB, HSL: The Three Formats ### HEX (Hexadecimal) HEX is the web standard. `#FF6A00` means 255 red, 106 green, 0 blue — PDFFlare orange. Each pair of hex characters represents one of the three color channels (00-FF in hex = 0-255 in decimal). - **6-digit:** `#FF6A00` — standard form. - **3-digit shorthand:** `#F60` expands to `#FF6600`. Only works when each channel has matching digits. - **8-digit with alpha:** `#FF6A0080` adds 50% opacity. The last two hex digits are the alpha channel. ### RGB (Red, Green, Blue) RGB expresses the same color in decimal: `rgb(255, 106, 0)`. More verbose than HEX but easier for humans to reason about (“add 20 to green” is obvious in RGB, awkward in HEX). Modern CSS also supports `rgb(255 106 0 / 50%)` with spaces and a slash-separated alpha channel. ### HSL (Hue, Saturation, Lightness) HSL is the most human-friendly format: - **Hue (0-360°):** The color on the color wheel. 0° = red, 120° = green, 240° = blue. - **Saturation (0-100%):** How vivid the color is. 0% = gray, 100% = maximum vividness. - **Lightness (0-100%):** Brightness. 0% = black, 50% = the pure hue, 100% = white. Example: `hsl(25, 100%, 50%)` for PDFFlare orange. Want a lighter version? Change 50% to 70%. Darker? 30%. HSL makes building color palettes intuitive in ways HEX and RGB do not. ## How to Convert Colors (Step by Step) 1. **Open the tool:** [PDFFlare's Color Converter](https://pdfflare.com/tools/dev/color-converter). 2. **Enter a color:** Paste a HEX, RGB, or HSL value in any of the input fields, or use the color picker. 3. **See all formats at once:** The tool shows the equivalent HEX, RGB, and HSL values simultaneously. 4. **Copy the format you need:** One-click copy for each format. ## When to Use Each Format ### Use HEX For: - CSS colors — shorter, industry default - Pasting into design tools (Figma, Sketch, Photoshop) - Sharing colors in Slack, email, or documentation - Brand guidelines (every brand book lists HEX values) ### Use RGB For: - Dynamically calculated colors in JavaScript (easier arithmetic) - Colors that need alpha transparency - Legacy graphics software that insists on RGB ### Use HSL For: - Building color palettes (shift hue for variants, shift lightness for shades) - CSS theming (hover states, active states, disabled states) - Accessibility work — lightness controls contrast directly - Dark mode support (flip lightness, keep hue) ## Manual HEX to RGB Conversion If you are somehow without a tool, here is the manual process: 1. Split the 6-digit HEX into three pairs: `#FF6A00` → `FF`, `6A`, `00`. 2. Convert each pair from hex to decimal: - `FF` = 15×16 + 15 = 255 - `6A` = 6×16 + 10 = 106 - `00` = 0 3. Result: `rgb(255, 106, 0)`. For 3-digit shorthand (`#F60`), expand each digit by doubling it: `F` → `FF`, `6` → `66`, `0` → `00`. ## Accessibility: Color Contrast The WCAG accessibility standard requires specific color contrast ratios between text and background: - **4.5:1** for body text (WCAG AA) - **3:1** for large text (18pt+ or 14pt+ bold) - **7:1** for body text at WCAG AAA level HSL makes contrast tuning intuitive. If your text fails the ratio, increase the lightness difference between foreground and background — no trial-and-error HEX edits required. ## Building a Color Palette with HSL Start with a base color in HSL: `hsl(25, 100%, 50%)`. Build variants by modifying one dimension at a time: - **Tints (lighter):** Increase lightness. `hsl(25, 100%, 70%)`, `hsl(25, 100%, 85%)`. - **Shades (darker):** Decrease lightness. `hsl(25, 100%, 30%)`, `hsl(25, 100%, 15%)`. - **Tones (muted):** Decrease saturation. `hsl(25, 60%, 50%)`, `hsl(25, 30%, 50%)`. - **Complementary:** Rotate hue by 180°. `hsl(205, 100%, 50%)` (blue, opposite of orange). - **Analogous:** Rotate hue by ±30°. `hsl(355, 100%, 50%)` (red) and `hsl(55, 100%, 50%)` (yellow). ## Modern CSS Color Formats CSS now supports several newer color formats worth knowing: - **`oklch()`** — perceptually uniform color space, better for smooth gradients and consistent lightness. - **`color-mix()`** — blend two colors by a percentage without manual math. - **`lab()` and `lch()`** — broader gamut for modern displays, supported in most 2024+ browsers. For now, HEX, RGB, and HSL remain the everyday workhorses, and they will not be going anywhere. ## Common Color Conversion Mistakes - **Confusing HEX shorthand vs full notation.** `#F00` equals `#FF0000`; `#F0A`equals `#FF00AA`. The shorthand only works when each channel uses repeated hex digits. Don't shorten arbitrary colors. - **Mixing 0-255 RGB with 0-1 normalized RGB.** CSS uses 0-255 (e.g. `rgb(255, 0, 0)`); shaders, OpenGL, and some graphics APIs use 0-1 floats. `rgb(0.5, 0.5, 0.5)` is invalid CSS. - **Forgetting alpha channel ordering.** CSS: `rgba(255, 0, 0, 0.5)` — alpha last. HEX: `#FF0000FF` — alpha last too (8-digit form). Some graphics tools (PNG metadata, certain APIs) put alpha first as ARGB. Mismatch causes red to appear transparent or white. - **Comparing colors visually across color spaces.** HSL with same lightness but different hue can look very different in perceived brightness — yellow at L:50 looks much lighter than blue at L:50. For visual consistency, use OKLCH or LCH if your audience supports them. - **Color-picking from a screenshot vs the source.** Screenshots may be subtly color-shifted by gamma or display profile. Always pick from the source design file when possible. ## Color Accessibility: Contrast Ratios Converting colors is only half the job — they need to be accessible. WCAG 2.1 contrast guidelines: - **Normal text:** 4.5:1 minimum (AA), 7:1 (AAA). - **Large text (18pt+ or 14pt bold+):** 3:1 (AA), 4.5:1 (AAA). - **UI components and graphical elements:** 3:1 minimum (AA). When converting a color, also check its contrast against your background. A color picker that gives the contrast ratio next to the converted output saves a separate accessibility audit step. ## Workflow Notes Beyond the Basics Color code conversion is one of those small skills that pays off across years of design work because color formats keep multiplying rather than consolidating. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Color formats are a fact of life for anyone working in digital design or development. HEX for sharing, RGB for dynamic calculation, HSL for palette building. Knowing which to use — and being able to convert instantly — turns a small friction into a non-event. [PDFFlare's Color Converter](https://pdfflare.com/tools/dev/color-converter) shows all three simultaneously, free, no signup. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[URL Encode/Decode](https://pdfflare.com/tools/dev/url-encode-decode) and [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Color Converter](https://pdfflare.com/tools/dev/color-converter) and [QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html) — preview HTML with your chosen colors - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format design token JSON files - [QR Code Generator](https://pdfflare.com/tools/dev/qr-code-generator) — generate QR codes styled with your brand colors One more habit worth mentioning: keep a small log of the settings you actually use for recurring workflows, ideally in plain text in a folder you can search later. The first time you find yourself trying to remember whether you used eighty percent quality or eighty-five, or whether the last conversion targeted Letter or A4, the value of the log becomes obvious. Most professionals lose more time re-deriving settings they have already chosen than they do on the underlying conversion work, and a five-line note in a project README solves the problem permanently. The discipline of writing down your decisions and the reasoning behind them turns ad-hoc workflow tweaking into a maintainable practice that survives team turnover, sabbatical months, and your own forgetfulness across enough time that the original context fades. This is the kind of small investment that distinguishes someone who has been doing this work for ten years from someone who has been doing it for one. --- ## Frequently asked questions **Q: What does the # in hex color codes mean?** A: The # (hash/pound sign) is just a prefix used in CSS and web design to indicate that the following characters are a hex color value. The color itself is the six hex digits that follow — the # is not part of the value. **Q: What is the difference between #FFF and #FFFFFF?** A: They are the same color (white). #FFF is the CSS shorthand where each character is doubled — #FFF expands to #FFFFFF, #F0A becomes #FF00AA. Shorthand only works when all three channels have identical digit pairs (#12, #AB, etc.). **Q: When should I use HSL instead of RGB?** A: Use HSL (hue, saturation, lightness) when you want to create color variations programmatically — lighter, darker, or more saturated versions of the same color. Adjusting HSL values produces intuitive results, while RGB adjustments can shift the hue unexpectedly. **Q: What is hex with an alpha channel (#RRGGBBAA)?** A: An 8-character hex code adds a transparency (alpha) channel at the end. #FF000080 is 50%-transparent red. This format is supported in modern browsers and is preferred over rgba() when you want a single hex value to include opacity. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Compare Two Texts Online (Find Differences Between Documents) URL: https://pdfflare.com/blog/how-to-compare-two-texts-online Published: April 16, 2026 Reading time: 6 min read > Compare two texts online and spot every difference instantly. Side-by-side diff with color-coded changes — free, browser-based, no software needed. --- You are reviewing a contract revision and need to know exactly which clauses changed. You pasted code into two different tools and want to spot the one character that is different. A colleague sent a “minor edit” to an article and you need to see what they actually changed. All three scenarios need the same thing: a text diff. This guide shows you how to compare two texts online using [PDFFlare's free Text Diff tool](https://pdfflare.com/tools/text/text-diff), plus when to use it and how to read the results. ## What a Text Diff Actually Shows You A text diff compares two inputs and highlights every difference between them. The standard visualization: - **Green (added):** Text that exists in the second version but not the first. - **Red (deleted):** Text that exists in the first version but not the second. - **Unchanged (plain):** Text that is identical in both — usually grayed out or dimmed to keep focus on the changes. Some diff tools work line-by-line (good for code, configs, and structured text). Others work word-by-word or character-by-character (better for prose). The best tools let you switch modes. ## How to Compare Two Texts (Step by Step) 1. **Open the tool:** [PDFFlare's Text Diff tool](https://pdfflare.com/tools/text/text-diff). 2. **Paste the first text:**In the left panel — the “original” or “before” version. 3. **Paste the second text:**In the right panel — the “modified” or “after” version. 4. **View the diff:** Changes highlight automatically. Red = removed, green = added. 5. **Review line-by-line:** Read through and verify each change was intentional. ## Common Use Cases for Text Diff ### Contract and Legal Document Reviews You receive a revised contract and need to confirm which clauses changed, which were added, and which were removed. A word-by-word diff shows every substitution — critical when a single word can shift legal meaning. ### Code Reviews Before committing to version control, review your changes with a diff. Git handles this for committed files, but for quick comparisons between two pasted snippets (e.g., compiled output vs expected output), a browser-based diff is faster. ### Email and Message Drafts You wrote a long email, then reworded it. Before sending, diff the two drafts to make sure nothing important was accidentally deleted in the revision. ### Content Editing and Proofreading An editor returns your article with “light copy edits.” A word-level diff shows exactly what they changed — helpful for learning from the edits and maintaining your authorial voice in future drafts. ### API Response Comparison Debugging an API by comparing two JSON responses? Paste both, diff, and the unexpected field change jumps out immediately. Combine with [PDFFlare's JSON Formatter](https://pdfflare.com/tools/json/json-formatter) to pretty-print each response first so the line-based diff is meaningful. ### Config File Comparison Something broke after editing `nginx.conf`, `.env`, or `settings.json`. Compare the current file against a known-good backup to find the offending line. ### Translation Comparison Compare two translations of the same text to see where they diverge. Useful for translators, localization QA, and language learners. ## Line-Based vs Word-Based vs Character-Based Diff ### Line-Based The unit of comparison is a line. Any change in a line marks the entire line as added+deleted. Best for code, configs, and any text where lines have structural meaning. ### Word-Based The unit is a word. Useful for prose and natural language — you see which specific words were changed, not just which lines. ### Character-Based The unit is a character. Maximum precision — reveals typos, punctuation changes, whitespace adjustments. Can be noisy on large texts where tiny changes scatter across the whole document. ## How to Read a Diff Efficiently ### Start with a Summary Before reading line by line, scan for the total number of changes. Ten red blocks and ten green blocks means a substantial rewrite. Two blocks means a minor edit. ### Follow the Changes in Order Read top to bottom — changes earlier in the document often affect context for later changes. A deletion on line 5 might explain why line 20 was reworded. ### Pay Attention to Whitespace If two texts look identical but the diff shows differences, the culprit is usually invisible: trailing spaces, tabs vs spaces, line endings (LF vs CRLF), or a Unicode variant of a regular character. ### Ignore Expected Noise Some diffs will show changes you already know about (e.g., a version number at the top). Visually skip these to focus on changes that actually matter. ## Common Mistakes When Diffing Text - **Diffing without normalizing whitespace first.** Trailing spaces, mixed tabs/spaces, and line-ending differences (LF vs CRLF) can flood the diff with false positives. Strip trailing whitespace and normalize line endings before comparing. - **Choosing the wrong granularity.** Line-based diff on a long paragraph is hard to read — every minor edit highlights the whole line. Switch to word-based for prose, line-based for code, character-based for typo hunting. - **Diffing minified vs pretty-printed JSON.** Pretty- print both first via [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) so the diff compares structure, not formatting noise. - **Missing case-only differences.**Some diffs ignore case by default; others don't. Confirm the tool's setting if a perfectly-clean-looking diff still doesn't match expectation. - **Trusting a clean diff after a copy-paste.** Pasting from a Word document or chat app sometimes pastes invisible characters (smart quotes, non-breaking spaces). A character-based diff catches them — line- or word-based may not. ## Text Diff vs Git Diff vs Online Diff Tools - **Text Diff (PDFFlare):** Best for one-off comparisons of pasted text. No setup, runs in browser, your content stays private. - **git diff:** Best for version-controlled files. Tracks history, supports merge tools, integrates with code review. Overkill for ad-hoc paste-and-compare. - **diff command-line tool:** Best for scripted / automated comparisons of files on disk. Powerful flags for ignore-whitespace, ignore-case, etc. Steeper learning curve. - **Other online diff tools:** Many exist; almost all upload your text to a server. Risky for confidential content. PDFFlare runs entirely client-side. ## Privacy Note When diffing confidential documents (contracts, medical records, proprietary code), make sure the tool runs client-side. [PDFFlare's Text Diff](https://pdfflare.com/tools/text/text-diff) does — the entire comparison happens in your browser using JavaScript. Neither text ever touches a server. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Text Diff](https://pdfflare.com/tools/text/text-diff) and [Word Counter](https://pdfflare.com/tools/text/word-counter). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Word Counter](https://pdfflare.com/tools/text/word-counter) — measure the size of both texts before and after edits. - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print JSON before diffing so line-based comparison is meaningful. - [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html) — render two Markdown drafts and compare their HTML output. ## Workflow Notes Beyond the Basics Comparing two text documents to find what changed is a foundational task in writing, code review, and document review workflows, and the tools available range from purpose-built to repurposed. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up A text diff turns “what changed?” from a slow manual hunt into a one-glance answer. Contracts, code, drafts, configs — every one of them is safer to edit when you can see every change. [PDFFlare's free Text Diff tool](https://pdfflare.com/tools/text/text-diff) does it in your browser, with zero uploads and zero signups. --- ## Frequently asked questions **Q: What is a text diff used for?** A: Text diffs are used to compare document revisions, review code changes, spot unauthorized edits in contracts, check for differences between AI responses, and verify that copy-pasted text matches the source. Any task that requires spotting changes between two text versions benefits from a diff tool. **Q: Is it safe to compare sensitive text online?** A: Yes, when using PDFFlare. The diff runs entirely in your browser — neither version of your text is sent to any server. This makes it safe for comparing legal documents, medical records, NDAs, and other sensitive content. **Q: Can a diff tool ignore whitespace?** A: Yes. Most diff tools — including PDFFlare's — offer an option to ignore whitespace-only changes, which is useful when you care about content changes rather than formatting. This prevents noise from indentation or trailing spaces. **Q: What is the difference between a diff and a compare tool?** A: A diff (from the Unix 'diff' command) shows only the changed lines, organized into added, removed, and modified sections. A compare tool typically shows both versions side by side with highlighting. PDFFlare's Text Diff does both — side-by-side view with inline change highlighting. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert Markdown to HTML Online (With Live Preview) URL: https://pdfflare.com/blog/how-to-convert-markdown-to-html-online Published: April 16, 2026 Reading time: 7 min read > Convert Markdown to clean HTML online for free. Live preview, copy-ready output, and full syntax support — perfect for blog posts, docs, and emails. --- You wrote a README in Markdown but your CMS expects HTML. You are drafting an email newsletter in Obsidian and need clean HTML for Mailchimp. You built documentation in Markdown and need to paste it into a WYSIWYG editor that does not understand Markdown syntax. All three situations call for a quick Markdown-to-HTML conversion. In this guide you will learn how Markdown works, how to convert it to HTML online, and when to reach for each format using [PDFFlare's free Markdown to HTML tool](https://pdfflare.com/tools/dev/markdown-to-html). ## What Markdown Is Markdown is a plain-text formatting syntax created by John Gruber in 2004. It lets you write formatted text using simple characters — `**bold**`, `*italic*`, `# Heading`, `[link](url)` — that converts to clean HTML. Its appeal is that Markdown source is readable as-is. You do not need to render it to understand the structure. That is why GitHub READMEs, Reddit comments, Discord messages, Notion, Obsidian, and most modern docs tools all speak Markdown. ## How to Convert Markdown to HTML (Step by Step) 1. **Open the tool:** [PDFFlare's Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html). 2. **Paste your Markdown:** Drop in your README, blog post, docs page, or any `.md` content. 3. **See the live HTML preview:** The converted HTML appears instantly as you type, with a rendered preview alongside. 4. **Copy the HTML output:** One-click copy to clipboard, ready to paste into your CMS, email template, or code editor. ## Markdown Syntax Reference ### Headings Use 1-6 `#` symbols: `# Heading 1` `## Heading 2` `### Heading 3` ### Bold and Italic - `**bold**` → **bold** - `*italic*` → _italic_ - `***bold italic***` → **_bold italic_** - `~~strikethrough~~` → strikethrough (GFM) ### Links and Images - `[link text](https://example.com)` — inline link - `![alt text](image.jpg)` — image - `[link text](url "tooltip")` — link with tooltip ### Lists Unordered — use `-`, `*`, or `+`: `- First item` `- Second item` Ordered — use numbers: `1. First` `2. Second` ### Code - Inline: ``code`` → `code` - Block: three backticks on their own line, optional language, code, three backticks. Example: ````js` for JavaScript. ### Blockquotes `> This is a blockquote.` ### Tables (GitHub Flavored Markdown) Pipes separate columns, dashes mark the header divider: `| Col 1 | Col 2 |` `|-------|-------|` `| Value | Value |` ### Horizontal Rule `---` on its own line. ## Markdown Flavors Over the years, “Markdown” has splintered into multiple dialects: - **CommonMark:** The official standardized spec, adopted by GitHub, Reddit, Discourse, and most modern tools. The safest target for clean conversion. - **GitHub Flavored Markdown (GFM):** CommonMark plus tables, task lists, strikethrough, and automatic URL linking. The de facto standard for READMEs. - **Original (Gruber) Markdown:** The 2004 spec — still used in some legacy tools but ambiguous in edge cases. - **MultiMarkdown, Pandoc Markdown:** Extended variants with footnotes, citations, math, and more. Powerful but not portable. PDFFlare's converter targets CommonMark + GFM — the most widely supported combination. ## When to Use Markdown vs HTML ### Use Markdown For: - READMEs, documentation, wikis - Blog posts you want to edit in any plain-text editor - Note-taking (Obsidian, Notion, Bear) - GitHub issues, PRs, discussions - Forum posts (Reddit, Stack Overflow, Discourse) ### Use HTML For: - CMS platforms that only accept HTML (some WordPress themes, legacy systems) - Email templates — most email clients require inline HTML - Anywhere precise control over markup or styling is required - Complex layouts beyond Markdown's capabilities ## Common Markdown Pitfalls ### Indentation Matters in Lists Nested lists require 2-4 spaces of indentation. Using tabs or inconsistent spaces breaks the nesting silently. ### Line Breaks Are Tricky A single line break in Markdown does _not_ produce a line break in HTML — it is treated as a space inside the same paragraph. For a real line break, end a line with two spaces or a backslash `\`, or leave a blank line for a new paragraph. ### Raw HTML Is Allowed But Not Sanitized Markdown passes through raw HTML. This is useful for embedding rich media (iframes, buttons, custom styles) but also a security risk if you render untrusted user Markdown server-side. Always sanitize before rendering user input. ### Tables Require Exact Syntax Tables need the header row, the divider row with dashes, and correctly aligned pipes. Missing any of these breaks the table. ## Converting the Other Direction (HTML to Markdown) Going HTML → Markdown is trickier — HTML has constructs (nested divs, inline styles, custom classes) that have no Markdown equivalent. Lossy by nature. Tools like Turndown (JS) and html2text (Python) handle the common cases but always inspect the output before shipping. ## Common Markdown-to-HTML Mistakes - **Nesting code blocks inside lists doesn't work without indentation.** A code block inside a bullet point needs 4 spaces of indent or it falls back to the parent level. Most converters now auto-handle this for GFM, but old CommonMark implementations stumble. - **Inline HTML inside Markdown sometimes renders, sometimes doesn't.** Strict CommonMark allows raw HTML; sanitizers in CMS tools like WordPress strip it. Test before relying on inline `
` or` ` tags. - **Smart quotes in source.**If you copied Markdown from Word or Notes, smart quotes (curly “like this”) may end up in code blocks where they break syntax. Always paste via a plain-text editor or strip smart quotes first. - **Forgetting blank lines around block elements.** Headings, lists, and code blocks need a blank line before AND after. Without it, some converters concatenate elements unexpectedly. - **Mixing list markers (`-` vs `*` vs` +`).** Switching mid-list resets numbering in some converters. Pick one marker per list and stick with it. ## Where Markdown HTML Output Goes - **Static-site generators (Hugo, Jekyll, Astro):** They render Markdown to HTML at build time. Use the converter to preview the HTML output before committing. - **WYSIWYG-disabled CMS fields:** Some CMS forms accept HTML but not Markdown. Convert and paste. - **Email templates:** Email clients want HTML. Write the email in Markdown, convert, paste into the template. - **Documentation in code repos:** README.md, CHANGELOG.md, CONTRIBUTING.md are all Markdown — but sometimes you need the rendered HTML for a docs site or PR description. ## Privacy Note Many online Markdown converters send your content to a server for processing. [PDFFlare's Markdown converter](https://pdfflare.com/tools/dev/markdown-to-html) runs entirely in your browser. Internal notes, unpublished blog drafts, and confidential docs stay on your device. ## Workflow Notes Beyond the Basics Converting Markdown to HTML powers a surprising number of modern publishing workflows, from technical documentation to email newsletters to static site generators. The deeper point underneath all of this is that workflow tools earn their place not in the simple cases but in the cases where defaults fail. The simple cases are easy: drag, drop, click convert, done. The interesting cases are the ones where the defaults produce output that does not quite work, and the difference between a tool that survives a year of daily use and one that gets replaced is whether it gives you the knobs needed to handle those edge cases without leaving the tool. PDFFlare is built around that observation: every tool exposes the options that matter, the defaults work for ninety percent of cases, and the remaining ten percent have a clear path forward without requiring a different application or a complicated workflow. Try the tool on a real piece of work, identify where the defaults could be better for your specific use case, and adjust the relevant option. After a few iterations, you have a setting profile that matches your work better than any out-of-the-box default could, and the tool stops being a generic utility and starts being your tool, customized for what you actually do. That gradient — from generic utility to personalized tool — is the real value, and the time spent on the calibration pays back in every subsequent use of the tool over years of work. One pattern worth internalizing about file workflows in general is that the cost of getting a setting wrong scales with how often you repeat the workflow. A one-off conversion where you accept the defaults loses you nothing if those defaults are slightly suboptimal. The same defaults applied to a recurring monthly process across hundreds of files accumulate into real time and quality losses over a year. The right discipline is to invest a few minutes calibrating a workflow the first time you set it up, document the settings somewhere you can find them later, and then run the calibrated workflow without further thought for the next six to twelve months. Re-evaluate when something changes, not on every individual run. This rhythm matches how most professionals work in practice — they have a few well-understood workflows that they execute on autopilot, and a much smaller number of new workflows that get the deliberate setup attention. The trick is to make sure your recurring workflows are the calibrated ones, not the default-accepting ones. PDFFlare's tools support this pattern by exposing the calibration knobs prominently and making them easy to discover, so the time you invest in setting up a workflow once compounds across every later execution. The end result is fewer surprises, more predictable output, and a noticeable reduction in the small frictions that interrupt focused work. ## Wrapping Up Markdown is the fastest way to write formatted text. HTML is the universal format the web renders. A converter that takes you between the two in one step — with a live preview — turns cross-platform content work into a five-second task instead of a slow manual rewrite. [PDFFlare](https://pdfflare.com/tools/dev/markdown-to-html) does exactly that, free, in your browser. ## Useful Companion Tools Two more PDFFlare tools that pair well with this workflow:[Word Counter](https://pdfflare.com/tools/text/word-counter) and [Text Diff](https://pdfflare.com/tools/text/text-diff). Both are free, browser-based, and require no signup — same as the tool covered in this guide. ## Related Workflows Adjacent tools you might find useful while working through this guide: [Markdown to HTML](https://pdfflare.com/tools/dev/markdown-to-html) and [JSON Formatter](https://pdfflare.com/tools/json/json-formatter). They handle different parts of the same workflow and pair naturally with what we've covered here. ## Related Tools - [Text Diff](https://pdfflare.com/tools/text/text-diff) — compare two Markdown drafts - [Word Counter](https://pdfflare.com/tools/text/word-counter) — count words in your Markdown content - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — format JSON frontmatter in Markdown files --- ## Frequently asked questions **Q: Why do blogs and docs use Markdown instead of HTML?** A: Markdown is faster to write and easier to read than HTML. A Markdown file is readable as plain text even without rendering, while raw HTML is cluttered with tags. Writers can focus on content while the Markdown-to-HTML converter handles the presentation layer at build or display time. **Q: Does Markdown support all HTML features?** A: Standard Markdown covers headings, lists, links, images, bold, italic, code blocks, and blockquotes — roughly 90% of what most content needs. For advanced features (tables, footnotes, strikethrough), you need 'GitHub Flavored Markdown' (GFM) or another extended dialect. **Q: Can I embed raw HTML inside Markdown?** A: Yes. Markdown passes through any HTML you include unchanged. This is useful for features Markdown does not support natively — embed videos, custom divs, or styled elements by writing HTML directly in your Markdown file. **Q: Is the generated HTML safe to use on my website?** A: PDFFlare's Markdown to HTML converter produces clean, semantic HTML using standard tags (h1-h6, p, ul, ol, a, img, code, pre, blockquote). The output is compatible with any modern web framework and passes W3C validation without issues. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to Java POJO (Jackson Step-by-Step) URL: https://pdfflare.com/blog/convert-json-to-java-pojo Published: May 2, 2026 Reading time: 8 min read > Convert JSON to Java POJO classes online for free. Generate Jackson @JsonProperty annotations, getters, and setters from any JSON sample — no signup. --- Looking for a fast JSON to Java POJO converter? You're in the right place. You hit a third-party REST endpoint and get back a JSON response. Now you need to map it into a Java object so the rest of your code stays type-safe. The vendor docs are out of date, the example is twenty fields deep, and hand-typing a POJO is a 20-minute, error-prone slog. There is a faster way. In this guide you'll learn how to convert JSON to a Java POJO using [PDFFlare's JSON to Java tool](https://pdfflare.com/tools/json/json-to-java) — what a POJO actually is, why Jackson's `@JsonProperty` annotation matters, how the generated classes plug into Spring Boot, and the common mistakes that turn a clean conversion into a runtime exception. ## What Is a POJO and Why Jackson? A POJO (Plain Old Java Object) is a class with private fields, public getters and setters, and no special framework dependency. Jackson is the de facto JSON library on the JVM — Spring Boot uses it by default, and most Java REST clients (Feign, Retrofit, raw OkHttp) integrate with it out of the box. Pair the two and you get a typed object straight from any JSON payload. The annotation that does the heavy lifting is `@JsonProperty("original_key")`. It tells Jackson which incoming JSON key maps onto each Java field. Without it, snake_case JSON keys never bind onto camelCase Java fields and you get silent nulls. ## How to Convert JSON to a Java POJO (Step by Step) 1. **Open [PDFFlare's JSON to Java POJO tool](https://pdfflare.com/tools/json/json-to-java)** — no account, no rate limit. 2. **Paste a JSON sample** into the input pane. A real production payload is best — sample data may miss fields the live API includes. 3. **Set a root class name** if the default `Root` doesn't fit your domain. `UserResponse`, `StripeWebhook`, `OrderEvent` — pick the noun that matches the upstream contract. 4. **Click Convert to Java.** The tool emits one POJO per unique object shape with `@JsonProperty` annotations preserving the original keys. Nested objects get their own classes; arrays become `List`. 5. **Drop the classes into your project.** Add Jackson to your build (Maven or Gradle) and Spring Boot will deserialize incoming JSON into your POJOs automatically via `@RequestBody`. ## Real Use Cases for JSON to Java ### Spring Boot @RequestBody DTOs Generate the request DTO from a real client payload, drop it into your controller as `@RequestBody UserRequest req`, and Spring + Jackson handle the binding. No more grovelling around in `HttpServletRequest.getReader()` with a manual parser. ### Webhook payload handlers (Stripe, GitHub, Slack) These services document their webhook payloads as JSON examples. Convert each to a typed POJO so your handler is compile-time safe instead of casting from a `Map`. Renaming a field becomes a refactor, not a string-search. ### Migrating a Node service to Java Use real production payloads to seed type definitions instead of guessing field names. The first version of every JVM port is faster and more correct when you start from real-shape data. ### Documenting an internal contract Treat the generated POJO as the source of truth. Pair with OpenAPI/Swagger generation and the upstream contract has a single owner. ## Common Mistakes (and How to Avoid Them) - **Forgetting Jackson on the classpath.** The generated code imports `com.fasterxml.jackson.annotation.JsonProperty`— add Jackson Annotations + Jackson Databind to your `pom.xml` or `build.gradle` first. - **Using a sample with empty arrays.** An empty array in JSON gives the inference no element type, so it falls back to `List`. Use a sample that has at least one element per array. - **Trusting the defaults for currency or precision.** Decimal numbers become `double`, which is wrong for money. Refine to `BigDecimal` manually for any field that needs exact arithmetic. - **Assuming all fields are required.** The inference generates non-null Java types. If the API may omit a field, mark it `@JsonInclude(JsonInclude.Include.NON_NULL)`or use a wrapper type so missing data doesn't throw. ## Privacy: Your JSON Stays Local Conversion runs entirely in your browser via JavaScript. The JSON you paste never uploads anywhere — safe for production payloads, internal API contracts, and tokenized responses. PDFFlare can't see your data because it never reaches our servers. ## Related Workflows in the JSON Suite Adjacent tools you might find useful while working on the same JSON document: the [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) and [JSON Schema generator](https://pdfflare.com/tools/json/json-schema) both pair well with the conversion above. The first handles a different output format that consumers of your data may prefer; the second covers the validation side of the same workflow. ## Related Tools - [JSON to C# Class](https://pdfflare.com/tools/json/json-to-csharp) — same idea for .NET projects with `[JsonPropertyName]` attributes. - [JSON to Kotlin](https://pdfflare.com/tools/json/json-to-kotlin) — for Android workflows or Kotlin-first JVM services. - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) — if your front end is TS and you want matching types. - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print and validate the sample before converting. ## Production Patterns for JSON to Java POJOs Once you have a generated POJO, a handful of small refinements turn it from a starter draft into production-grade typing: ### Handling Optional and Nullable Fields The generator infers field types from the sample. If a field is present in your sample but might be absent in real payloads, swap its type to Java's `Optional` or annotate with `@JsonInclude(JsonInclude.Include.NON_NULL)`. That way Jackson doesn't blow up on missing keys and you can reason about absence in your domain code instead of fighting NullPointerExceptions in production. ### Date and Timestamp Handling JSON has no native date type — you'll see ISO-8601 strings (`"2026-05-03T14:00:00Z"`), Unix timestamps (`1714748400`), or proprietary formats. The generator types these as `String` or `long`. Swap to `Instant`, `LocalDateTime`, or `OffsetDateTime` and add `@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")` so Jackson rounds-trips correctly. ### Inheritance and Polymorphic Payloads The generator emits one class per shape with no inheritance. That's the right default — but if your API uses a discriminator field (`type: "user"`, `type: "admin"`), refactor the generated classes to share a base via `@JsonTypeInfo` and `@JsonSubTypes`. The output of the generator is a starting point, not a finished design. ## When to Reach for a Different Tool JSON-to-Java POJO generation is the right move when you have one or two representative payloads and need typed Java classes fast. A few alternatives are worth knowing about: - **OpenAPI / Swagger codegen** — when the upstream service publishes an OpenAPI spec, generate from that instead. You get full coverage of every endpoint, not just the shapes you happened to capture. - **JSON Schema** — for validation rules (required fields, min/max, enum values), generate a [JSON Schema](https://pdfflare.com/tools/json/json-schema) from your sample first, refine the constraints, then point a schema-to-Java generator at it. - **Working in Kotlin instead?** Use [JSON to Kotlin](https://pdfflare.com/tools/json/json-to-kotlin) — same idea, but emits data classes for kotlinx.serialization with the modern Kotlin idioms (val by default, nullable types, built-in equals/hashCode). - **Building C# / .NET services?** [JSON to C#](https://pdfflare.com/tools/json/json-to-csharp) emits classes with `[JsonPropertyName]` attributes for System.Text.Json and ASP.NET Core. ## Real-World Workflow Examples A few production scenarios where the generator pays for itself: - **Reverse-engineering a partner's webhook.** The integration docs show example payloads but no schema. Drop three samples into the tool, merge the resulting classes, ship the integration in an afternoon. - **Decoupling a microservice migration.** The existing service emits JSON; the new Java service must consume the same shape. Generate POJOs that match, then evolve them independently — keeps the contract explicit. - **Spring Boot REST controller scaffolding.** Generate a request DTO from a sample `POST` body, mark the parameter `@RequestBody`, get type-safe field access in your controller logic immediately. - **Replacing Jackson's `JsonNode` stringly-typed access.** Code that reads `node.get("user").get("email").asText()` is fragile. Generate a typed POJO instead and the compiler catches the field-rename refactors that previously crashed at runtime. ## Common Mistakes to Avoid Engineers new to Java POJO generation tend to repeat the same handful of mistakes — most of them stem from treating the generated output as final rather than as a starting point. Here are the patterns that bite teams in production: 1. **Generating from a single sparse sample.**If the JSON only includes a few of the optional fields, the generator won't know about the rest. Pull two or three diverse payloads (a minimal one, a full-detail one, an edge case) and merge the resulting classes by hand. The fields that appear in only some samples become your `Optional` candidates. 2. **Treating numeric strings as strings.** If your JSON has `"amount": "1234.50"` (currency stored as a string), the generator types it as `String`. That's correct from the JSON's perspective, but you almost certainly want a `BigDecimal` for arithmetic. Swap the type and add a`@JsonDeserialize` with a custom converter, or handle parsing in a service layer. 3. **Ignoring case mismatches.** Java fields are traditionally camelCase. JSON keys vary wildly: snake_case from Python services, kebab-case from Ruby APIs, PascalCase from .NET. The generator preserves keys via `@JsonProperty`, but you can also configure ObjectMapper globally with `PropertyNamingStrategies.SNAKE_CASE` if every API you talk to uses the same convention — saves repeating the annotation per field. 4. **Not adding equals/hashCode for value semantics.** Generated POJOs follow JavaBean conventions (mutable fields, getters/setters), which means default `equals` is reference-based. If you put POJOs in a Set or use them as Map keys, generate `equals`/`hashCode`from your IDE or use Lombok's `@EqualsAndHashCode`. For truly immutable value objects, consider Java records (Java 16+) — refactor the generated class shape into a record once the field set stabilizes. 5. **Forgetting to validate on the boundary.** Jackson will happily deserialize a payload missing required fields into a POJO with nulls. Add Bean Validation annotations (`@NotNull`, `@Size`, `@Pattern`) to the generated fields and call `Validator.validate()` in your service layer — or even better, validate in the controller via `@Valid @RequestBody` in Spring MVC. ## Wrapping Up Converting JSON to Java POJOs by hand is error-prone busywork that chews up half a sprint and produces classes that lag behind the real API. Generate them from real payloads with [PDFFlare's JSON to Java tool](https://pdfflare.com/tools/json/json-to-java) and refine where needed — your time is better spent on the business logic that consumes those types. --- ## Frequently asked questions **Q: What is a Java POJO?** A: A POJO (Plain Old Java Object) is a class with private fields, public getters and setters, and no special framework dependency. It's the canonical way to model data in Java — Spring Boot, Jackson, JPA, and most JVM libraries work with POJOs out of the box. **Q: Why does Jackson need @JsonProperty?** A: Without @JsonProperty("original_key"), Jackson can't bind snake_case JSON keys onto your camelCase Java fields. The annotation tells Jackson which incoming key maps onto each field, preserving the upstream contract. **Q: Can I use the same generated classes with Gson or Moshi?** A: Yes — the field structure and getters/setters are library-agnostic. Swap the Jackson annotations for Gson @SerializedName or Moshi @Json(name="..."). The class shape doesn't change. **Q: How does PDFFlare infer types from JSON?** A: Whole-number JSON values become long; decimal values become double; strings are String; booleans are boolean; arrays are List; objects become their own classes. PDFFlare inspects each value to pick the right type — JSON's single 'number' type isn't enough on its own. **Q: Is my JSON sent to a server?** A: No. Conversion runs entirely in your browser — safe for production payloads, internal API contracts, and tokenized responses. Nothing leaves your device. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to C# Class (System.Text.Json Guide) URL: https://pdfflare.com/blog/convert-json-to-csharp-class Published: May 2, 2026 Reading time: 8 min read > JSON to C# class converter — emits System.Text.Json + Newtonsoft-ready classes from any JSON sample. Free, browser-based, no signup, no upload. --- Need a quick JSON to C# class converter? You'll find it here. Your .NET service needs to consume an upstream JSON API. The shape is twenty fields deep, the docs were last touched in 2021, and the team lead just asked for the typed model on Slack. Hand-typing the C# class from the example payload is the slowest correct way to do this. There is a faster, equally correct one. In this guide you'll learn how to convert JSON to a C# class using [PDFFlare's JSON to C# tool](https://pdfflare.com/tools/json/json-to-csharp) — how System.Text.Json maps JSON onto your properties via `[JsonPropertyName]`, why auto-properties beat fields, how to swap to Newtonsoft.Json when you have to, and the gotchas that bite during real ASP.NET Core integrations. ## System.Text.Json or Newtonsoft.Json? System.Text.Json ships with .NET 5+ and is the modern default — faster, lower allocation, and zero extra dependencies. Newtonsoft (Json.NET) has more battle-tested edge-case support: polymorphic deserialization, custom converters, and wider .NET Framework coverage. PDFFlare emits System.Text.Json-flavour attributes by default. To switch to Newtonsoft, swap `[JsonPropertyName]` for `[JsonProperty]`and change the using directive — the class shape doesn't move. ## How to Convert JSON to a C# Class (Step by Step) 1. **Open [PDFFlare's JSON to C# tool](https://pdfflare.com/tools/json/json-to-csharp)** — no signup needed. 2. **Paste a JSON sample.** The real production payload beats a docs example every time — production has the never-documented fields the docs forgot. 3. **Set the root class name**via the "Root class" field. `UserResponse`, `StripePaymentIntent`, `OrderEvent` — pick the domain noun. 4. **Click Convert to C#.** Each unique object shape becomes its own public class. Properties carry `[JsonPropertyName("original_key")]` so System.Text.Json maps snake_case JSON onto PascalCase C# automatically. 5. **Drop into your project.** Add `using System.Text.Json.Serialization;` at the top of the file. `JsonSerializer.Deserialize(json)` now produces a typed object. ## Real Use Cases for JSON to C# ### ASP.NET Core [FromBody] DTOs Generate the request DTO from a real client payload, drop it into your controller as `[FromBody] UserRequest req`, and model binding handles the rest. `JsonElement` indexers stop appearing in your controllers. ### HttpClient.GetFromJsonAsync The `System.Net.Http.Json` extensions deserialize straight into your generated class: `await http.GetFromJsonAsync(url)`. No custom converter needed when keys map cleanly via `[JsonPropertyName]`. ### Webhook integrations Stripe, GitHub, Octopus Deploy — each documents webhooks as JSON examples. Convert each example to a strongly-typed C# class so your handler is refactor-safe. ### Migrating from Node to .NET Don't hand-port the TypeScript types. Paste real production payloads, generate fresh C# classes, and drop them into the new project tree. ## Common Mistakes (and How to Avoid Them) - **Forgetting `JsonSerializerOptions.PropertyNameCaseInsensitive`.** If your JSON has camelCase keys but you removed the `[JsonPropertyName]`attributes thinking they weren't needed, set the option globally or keep the attributes. - **Using `double` for currency.** Refine to `decimal` manually for money fields. The inference picks `double` for any decimal value. - **Mixing System.Text.Json and Newtonsoft attributes.** They co-exist in source but only one library reads each — make sure your serializer matches the attributes you applied. - **Forgetting nullable reference types.** If your project has `#nullable enable`, mark optional fields as `string?` or `int?` to match the API contract. ## Privacy: Your JSON Stays Local Conversion runs in your browser. The JSON you paste never leaves your device — safe for internal payloads, customer data, and contracts containing API keys. ## Related Workflows in the JSON Suite Adjacent tools you might find useful while working on the same JSON document: the [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) and [JSON Schema generator](https://pdfflare.com/tools/json/json-schema) both pair well with the conversion above. The first handles a different output format that consumers of your data may prefer; the second covers the validation side of the same workflow. ## Related Tools - [JSON to Java POJO](https://pdfflare.com/tools/json/json-to-java) — same idea for the JVM with Jackson annotations. - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) — matching types for your front end. - [JSON Schema Generator](https://pdfflare.com/tools/json/json-schema) — pair with FluentValidation or DataAnnotations to enforce the shape at the boundary. - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print before converting so you can read the shape. ## Production Patterns for JSON to C# Classes A generated C# class is a starting point — these refinements turn it into something you'd be happy to ship in production: ### Nullable Reference Types C# 8+ enables nullable reference types via `enable` in your `.csproj`. The generator can't know whether a field is optional from a single sample, so it emits non-nullable types. After generation, mark optional fields explicitly with `?`: `public string? Nickname { get; set; }`. That signals intent to the compiler and turns runtime null surprises into compile-time warnings. ### DateTime vs DateTimeOffset JSON has no native date type. ISO-8601 strings (`"2026-05-03T14:00:00Z"`) deserialize fine to`DateTime`, but the timezone information gets lost. For APIs that span timezones, swap to `DateTimeOffset` — it preserves the offset and round-trips correctly. For Unix timestamps as numbers, keep them as `long` and convert via `DateTimeOffset.FromUnixTimeSeconds()` in your domain code. ### Switching to Newtonsoft.Json The generator emits `[JsonPropertyName]` for `System.Text.Json` (the modern .NET default). If your project still uses Newtonsoft.Json, find-and-replace `JsonPropertyName` with `JsonProperty` and adjust the imports. The class structure works unchanged for both serializers — only the attribute names differ. ## When to Reach for a Different Approach JSON-to-C# generation is the right tool when you have one or two representative payloads and want typed C# classes fast. A few alternatives are worth knowing: - **NSwag / OpenAPI codegen** — when the upstream service publishes an OpenAPI spec, generate from that instead. You get full coverage of every endpoint and operation, not just the shapes you happened to capture. - **JSON Schema** — for validation rules (required, min/max, allowed values), generate a [JSON Schema](https://pdfflare.com/tools/json/json-schema) from your sample first, then refine constraints, and use NJsonSchema to emit C# from the schema. - **Working in F# instead?**F# discriminated unions handle polymorphic JSON gracefully. The C# generator's flat class model isn't the right primitive — use FSharp.Data JsonProvider or hand-write the discriminated unions. - **Building a Java backend instead?** [JSON to Java POJO](https://pdfflare.com/tools/json/json-to-java) emits Jackson-annotated classes for Spring Boot. Same generator philosophy, different language idioms. ## Common Mistakes to Avoid The same handful of mistakes keep tripping up teams new to generated C# classes — most stem from treating the output as finished rather than as scaffolding: 1. **Generating from a single sparse sample.**If your JSON only includes a few of the optional fields, the generator won't see the rest. Pull two or three diverse payloads (a minimal one, a full-detail one, an edge case) and merge the resulting classes by hand. Fields appearing in some samples but not others become your nullable candidates. 2. **Treating numeric strings as numbers.** If your payload has `"amount": "1234.50"` (currency stored as a string for precision), the generator types it as `string`. That's correct, but you almost certainly want a `decimal` for arithmetic. Swap the type and add a custom `JsonConverter` if you need automatic parsing. 3. **Ignoring naming-convention mismatches.** .NET properties are PascalCase. JSON keys vary: snake_case from Python, camelCase from Node, kebab-case from some Ruby APIs. The generator preserves keys via `[JsonPropertyName]`, but you can also configure JsonSerializerOptions globally with `PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower` (.NET 8+) — saves the per-field attributes when every API uses the same convention. 4. **Skipping immutability.** Generated classes are mutable by default for compatibility with model binding. For domain models that should be immutable, refactor to use init-only setters (`{ get; init; }`) or convert to a record (`public record User(string Name, int Age);`). Records are particularly nice for value objects in DDD-style architectures. 5. **Forgetting validation.** `System.Text.Json` happily deserializes a payload with missing required fields into a class with default values. Add `[Required]`, `[Range]`, or `[StringLength]` attributes from `System.ComponentModel.DataAnnotations` — ASP.NET Core MVC binds and validates them automatically with `[ApiController]`. ## Real-World Workflow Examples A few concrete scenarios from working .NET teams where the generator earns its keep: - **Reverse-engineering a partner's webhook payload.** The partner's integration documentation shows three example payloads but no formal schema. Drop each example into the generator, merge the resulting classes by hand, and ship the integration in an afternoon instead of spending two days spelunking through their dashboard. The resulting classes serve as living documentation of the actual contract — far more reliable than a Confluence page that goes stale within a quarter. - **Building a strongly-typed API client library.** When you wrap a third-party REST API as a NuGet package for internal use, you want every endpoint's request and response shape captured as a class. Generate from real captured payloads, organize the resulting classes into a clean namespace structure, and ship a discoverable client that downstream teams can use without reading the upstream docs. - **Migrating from Newtonsoft to System.Text.Json.** ASP.NET Core projects that were created before .NET Core 3 use Newtonsoft.Json. When you migrate to the modern `System.Text.Json`, the attribute names change. The generator emits the new attributes by default — paste the generated classes alongside your existing models, copy the relevant property attributes, and you're halfway through the migration without having to change every model file. - **Decoupling a service migration.**An existing Node service emits JSON; a new .NET service has to consume the same shape during the cutover. Generate matching classes from a production capture, evolve them independently going forward, and you've made the contract between the two services explicit and version-controlled in your repository. - **Replacing fragile `JObject`-style code.** Existing handlers that read `obj["user"]?["email"]?.ToString()` are brittle — every field rename in the upstream API breaks production silently. Generate a typed class instead and the compiler catches every refactor. Code review gets faster because reviewers can rely on the type names instead of mentally tracing string keys. ## Wrapping Up Hand-writing a C# class from a JSON sample is fifteen minutes of boilerplate that ages badly. Generate from a real payload with [PDFFlare's JSON to C# tool](https://pdfflare.com/tools/json/json-to-csharp) and refine the parts the inference can't guess — `decimal` for money, nullable for optional, custom converters for polymorphism. --- ## Frequently asked questions **Q: Does this work with System.Text.Json or Newtonsoft.Json?** A: PDFFlare emits System.Text.Json-flavour [JsonPropertyName] attributes by default. Swap them for Newtonsoft's [JsonProperty] (and change the using directive) to switch libraries — the class shape is identical. **Q: Why are properties marked with [JsonPropertyName]?** A: System.Text.Json maps JSON keys onto C# properties using the property name by default — but JSON typically uses snake_case while C# uses PascalCase. The attribute preserves the original JSON key so the binding works without setting global naming policies. **Q: How are integers and decimals distinguished?** A: Whole-number JSON values become long; decimal values become double. For currency or precise decimals, refine to System.Decimal manually — JSON's single 'number' type doesn't carry precision info. **Q: Are nullable reference types supported?** A: Reference types fall back to plain object for null fields. For full nullable-aware classes (string?, int?), enable nullable reference types at the project level (#nullable enable) and refine where you know the field is optional. **Q: Is my JSON sent to a server?** A: No. Conversion runs in your browser — safe for internal API contracts and production payloads. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to Markdown Table (READMEs + GitHub) URL: https://pdfflare.com/blog/convert-json-to-markdown-table Published: May 2, 2026 Reading time: 7 min read > JSON to Markdown table converter — emit GFM-flavored tables from a JSON array of objects. Auto headers, escaped pipes, browser-based, no signup. --- Looking for a clean JSON to Markdown table converter? Here's how it works. You have a JSON array of feature flags, environment configs, or sample API rows, and you need it in your README as a Markdown table. Hand-aligning pipes is busywork that you'll redo every time the data changes. Let the conversion happen once, in two clicks. In this guide you'll learn how to convert JSON to a Markdown table with [PDFFlare's JSON to Markdown Table tool](https://pdfflare.com/tools/json/json-to-markdown-table) — what GitHub-flavored Markdown (GFM) tables actually need, how headers are inferred, what happens to nested data, and how to keep embedded pipes from breaking your columns. ## Why GitHub Flavored Markdown Tables? GitHub, GitLab, Notion, Obsidian, Bear, Docusaurus, MkDocs, and most static-site generators render the same GFM table syntax: pipe-delimited cells with a separator row of dashes. Generating that syntax from JSON means you can paste the result anywhere Markdown is rendered and get a clean table — no manual alignment. ## How to Convert JSON to a Markdown Table (Step by Step) 1. **Open [PDFFlare's JSON to Markdown Table tool](https://pdfflare.com/tools/json/json-to-markdown-table)**. 2. **Paste your JSON array.** The shape needs to be an array of flat objects: `[{id: 1, name: "alice"}, {id: 2, name: "bob"}]`. Each object becomes a row. 3. **Click Convert to Markdown.** Headers are the union of every key seen across every object. Cell pipes get escaped as `\|` so column boundaries stay intact. 4. **Copy and paste.** The output renders as a real table on GitHub, in Issues, in PRs, in Notion pages, and in any GFM-compatible note tool. ## Real Use Cases for JSON to Markdown ### README documentation Have a JSON config or API spec and want it in your README? Generate, paste, ship. Re-run when the data changes; the README stays in sync without a full rewrite. ### GitHub Issues and PRs Pasting test results, audit findings, or comparison tables into a GitHub Issue. Markdown tables render natively; raw JSON doesn't. ### Notion / Obsidian / internal wikis They all speak GFM. Convert JSON exports from any tool into a Markdown table and paste into any GFM-compatible note. ### Static documentation sites Docusaurus, MkDocs, Hugo, Jekyll all render Markdown tables. Skip the manual pipe-aligning and let the tool do it. ## Common Mistakes (and How to Avoid Them) - **Passing a single object instead of an array.** Wrap your object in `[ ]` — the converter expects an array of rows. - **Expecting nested objects to flatten into columns.** They don't. Run the JSON through [JSON Flatten](https://pdfflare.com/tools/json/json-flatten) first if you want `address.city` to be its own column. - **Forgetting that GFM tables can't span multiple lines per cell.** Newlines inside cell values get replaced with spaces. For multi-line content, render HTML instead (see [JSON to HTML Table](https://pdfflare.com/tools/json/json-to-html-table)). ## Privacy: Your JSON Stays Local Conversion runs in your browser. The JSON you paste never uploads — safe for internal exports, customer data, or anything you wouldn't paste into a third-party site. ## Related Workflows in the JSON Suite Adjacent tools you might find useful while working on the same JSON document: the [JSON to HTML Table](https://pdfflare.com/tools/json/json-to-html-table) and [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) both pair well with the conversion above. The first handles a different output format that consumers of your data may prefer; the second covers the validation side of the same workflow. ## Related Tools - [JSON to HTML Table](https://pdfflare.com/tools/json/json-to-html-table) — same input, HTML output for emails and dashboards. - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) — for spreadsheets and bulk imports. - [JSON to Excel](https://pdfflare.com/tools/json/json-to-excel) — a real .xlsx file with native types. - [JSON Flatten](https://pdfflare.com/tools/json/json-flatten) — flatten nested keys before generating the table. ## Tips for Editorial Polish Once you have a generated table, a handful of small editorial choices separate documentation that gets read from documentation that gets ignored. The first thing to consider is the order of columns. The generator preserves the order keys appeared in the original JSON, but readers expect identifying fields on the left and metric fields on the right. Reorder so a name or identifier appears first, with descriptive properties next, and numeric metrics or status flags on the right. This convention mirrors how spreadsheets are typically read and lets your audience scan tables quickly without re-orienting on each encounter. The second consideration is row count. A Markdown table with two hundred rows is technically valid but useless — readers scroll past it without reading. Trim to the most relevant ten to fifteen rows, sort by the most interesting axis, and add a paragraph below the table summarizing patterns or noting where the full dataset can be found. If the full dataset really matters, link to a downloadable CSV or to a richer interactive view rather than embedding hundreds of rows inline. Documentation written for a human audience needs to respect the human ability to absorb tabular information. Third, watch for repetitive content in cells. If three columns have the same value across every row, those columns add no information and should become metadata above the table or collapsed away entirely. The generator faithfully includes every column from the source data, but your job is to editorialize the output. Strip uninformative columns aggressively. Tables earn their space when each column tells you something different about the row. Finally, consider whether a table is even the right primitive. Two parallel lists with three columns each may read better as a definition list. A series of related items with a single attribute reads better as a bulleted list. Tables are best when you genuinely have multiple comparable rows and multiple columns of meaningful, varying data. When in doubt, generate the table, paste it into a draft, and ask whether it actually improves the prose around it. If not, replace it with the alternate primitive — your readers will thank you for the discipline. ## Production Patterns for JSON to Markdown Table A clean Markdown table is the difference between documentation someone actually reads and a wall of code blocks they skim past. A few patterns make the difference: ### Pick Your Column Set Deliberately A JSON array of objects often has dozens of fields, only some of which matter for the table you're drafting. Generating first, then deleting columns by hand in your editor, is faster than mentally pre-selecting fields. Markdown tables tolerate editing in any text editor, so trim aggressively. ### Sort Rows Before Conversion GFM Markdown tables don't support runtime sorting — what you paste is what readers see. Sort the JSON array by the most interesting column (alphabetical for names, descending for numbers, chronological for dates) before generating, and the rendered table tells a story. For a quick alphabetical pass over keys before sorting rows, use [JSON Sort](https://pdfflare.com/tools/json/json-sort). ### Handle Nested Data Cleanly Markdown cells don't handle nested objects elegantly — they either get JSON-stringified into one ugly cell or flattened with a dot-notation key. Flatten the JSON first via [JSON Flatten](https://pdfflare.com/tools/json/json-flatten) so each leaf becomes its own column, then convert. The resulting table is wider but readable. ## When to Use a Different Format Markdown tables are not always the right answer: - **For an HTML email or dashboard**, use [JSON to HTML Table](https://pdfflare.com/tools/json/json-to-html-table) — renders inline in any HTML context, with proper `
`/`` semantics for accessibility. - **For Excel or Google Sheets**, export to [JSON to Excel](https://pdfflare.com/tools/json/json-to-excel) — a proper `.xlsx` with native types so numbers stay numbers and dates stay dates. - **For a CSV import or data pipeline**, use [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) — far more universally consumable than Markdown by tools downstream. - **For a SQL bulk insert**, generate INSERT statements directly with [JSON to SQL](https://pdfflare.com/tools/json/json-to-sql) — skips the intermediate import step entirely. ## Common Mistakes to Avoid 1. **Pasting JSON with non-uniform shapes.**If half your records have an “email” field and the others don't, the resulting table has empty cells in random spots. Either filter the JSON to just the records that have the field, or accept the gaps and add a footnote explaining them. Don't try to invent data to fill the holes. 2. **Forgetting to escape pipes in cell content.** Markdown uses `|` as the column separator, so any literal pipe in your data breaks the table. The generator handles this automatically by escaping `|` as `\|`, but if you hand-edit cells afterward, watch for new pipes you accidentally introduce. 3. **Long URLs that bust column width.**Markdown tables don't wrap cells. A column with full URLs becomes absurdly wide. Either truncate the URL display (`example.com/...`) or use Markdown link syntax to give it a short label like `[link](url)`. 4. **Tables on phone screens.** Markdown renderers on mobile typically render tables as horizontal-scroll boxes — unreadable past 4-5 columns. If your readers are largely on phones, redesign the table to be narrower (fewer columns) or present the data as a definition list instead. 5. **Putting a table where a chart belongs.** A 30-row time series with two columns (date, value) reads better as an inline chart. Markdown lacks charts, but if your hosting platform supports Mermaid or PlantUML, embed a chart there instead. Reserve Markdown tables for genuinely tabular data. ## Real-World Use Cases - **API endpoint reference docs.** A JSON list of endpoints with method, path, and description converts to a Markdown table that drops cleanly into your README. Update the JSON when endpoints change and regenerate — keeps docs in sync with reality. - **Configuration option matrices.** Document each config knob as a JSON object with fields like name, default, type, and description. Convert to a Markdown table for the docs site. The JSON file becomes the source of truth, and the Markdown is a derived artifact. - **Issue triage summaries.** Export GitHub issues via the API as JSON, filter to the open critical ones, convert to a Markdown table, paste into a status update post on Slack/Discord/internal blog. Two minutes from data to shareable artifact. - **Comparison tables for blog posts.** Comparing three libraries? Capture features as a JSON array of objects (one per library), convert to Markdown, and edit in your editor. Beats hand-aligning pipes. ## Wrapping Up A clean Markdown table is two clicks away with [PDFFlare's JSON to Markdown Table tool](https://pdfflare.com/tools/json/json-to-markdown-table). Stop hand-aligning pipes; let the tool handle the boring part so you can spend the saved time on the README copy. --- ## Frequently asked questions **Q: What JSON shape does the converter expect?** A: An array of flat objects: [{"id": 1, "name": "alice"}, ...]. Each object becomes a row; the union of every key across every object becomes the header set. Single objects can be wrapped in [ ] to convert as a one-row table. **Q: Does it support GitHub Flavored Markdown (GFM)?** A: Yes — the output uses standard GFM table syntax: pipe-delimited cells with a separator row of dashes. Renders correctly on GitHub, GitLab, Notion, Obsidian, Bear, and any GFM-compatible renderer. **Q: What happens to nested objects in cells?** A: Nested objects and arrays are JSON-stringified into a single cell. The table stays one row per object — the converter doesn't flatten nested keys into extra columns. For that, run the JSON through PDFFlare's Flatten tool first. **Q: Are pipe characters in cell values escaped?** A: Yes. Any literal | inside a cell value is escaped as \| so the column boundaries stay intact. Newlines are replaced with spaces because Markdown tables can't span lines inside a cell. **Q: Is the JSON sent to a server?** A: No. The conversion runs entirely in your browser — safe for internal exports, customer data, and any data you wouldn't paste into a third-party site. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to Kotlin Data Class (kotlinx Guide) URL: https://pdfflare.com/blog/convert-json-to-kotlin-data-class Published: May 2, 2026 Reading time: 8 min read > JSON to Kotlin data class generator with @Serializable + @SerialName for kotlinx.serialization. Built for Android, browser-based, no signup. --- Need a JSON to Kotlin data class generator that just works? Here's the workflow. Your Android app calls a REST endpoint with Retrofit or Ktor and comes back with JSON. You need a Kotlin data class to deserialize it — typed, immutable, idiomatic. Hand-typing the class from the docs example is fragile and slow. Generate it from a real payload instead. In this guide you'll learn how to convert JSON to a Kotlin data class using [PDFFlare's JSON to Kotlin tool](https://pdfflare.com/tools/json/json-to-kotlin) — how kotlinx.serialization's `@SerialName` annotation maps JSON keys onto camelCase properties, why `val` is the right default, how to swap to Moshi or Gson, and the gotchas that show up at runtime. ## Why kotlinx.serialization? kotlinx.serialization is JetBrains' first-party serialization library for Kotlin — multiplatform, fast, and built for data classes. Compared to Moshi or Gson it has zero reflection overhead (the compiler plugin generates serializers at build time) and supports Kotlin/JS, Kotlin/Native, and the JVM equally well. ## How to Convert JSON to a Kotlin Data Class (Step by Step) 1. **Open [PDFFlare's JSON to Kotlin tool](https://pdfflare.com/tools/json/json-to-kotlin)**. 2. **Paste your JSON.** A real production payload — sample data may miss fields the live API includes. 3. **Set the root class name** if `Root` doesn't fit your domain. `UserResponse`, `OrderEvent`, `FirebaseUser` — pick the noun. 4. **Click Convert to Kotlin.** The tool emits one `data class` per unique object shape, with `@SerialName` annotations preserving original keys and `@Serializable` at the class level. 5. **Drop into your project.** Add the kotlinx-serialization plugin to your Gradle build, and `Json.decodeFromString(jsonString)` returns a typed instance. ## Real Use Cases for JSON to Kotlin ### Android API integrations (Retrofit, Ktor) Both libraries support kotlinx.serialization out of the box. Your API client becomes `suspend fun getUser(): User` — typed all the way down. ### Firebase / Firestore documents Firestore documents are JSON-shaped. Generate the data class once, annotate for Firestore deserialization, and you have typed snapshots throughout your app. ### Kotlin Multiplatform projects Share data classes between Android, iOS, and JS targets. Generate once from a JSON sample and reuse the same class on every platform. ### Migrating Java to Kotlin Don't hand-port the POJOs. Paste the JSON, generate fresh Kotlin data classes, and drop them into the converted file tree. ## Common Mistakes (and How to Avoid Them) - **Forgetting the kotlinx-serialization plugin.** Just adding the runtime dependency isn't enough — the plugin generates the serializer at compile time. Add it to `build.gradle.kts`. - **Treating every field as required.**The generator doesn't add defaults. For optional fields, refine to `String?` or add `= null` default values. - **Using val for fields you mutate.** Switch to `var` for any field you assign after construction. - **Mixing serialization libraries.**kotlinx annotations don't do anything in Moshi or Gson — pick one stack and stick with it. ## Privacy: Your JSON Stays Local Conversion runs in your browser. The JSON never uploads — safe for internal API contracts, production payloads, and anything containing tokens or PII. ## Related Workflows in the JSON Suite Adjacent tools you might find useful while working on the same JSON document: the [JSON to Swift](https://pdfflare.com/tools/json/json-to-swift) and [JSON to Java POJO](https://pdfflare.com/tools/json/json-to-java) both pair well with the conversion above. The first handles a different output format that consumers of your data may prefer; the second covers the validation side of the same workflow. ## Related Tools - [JSON to Swift Codable](https://pdfflare.com/tools/json/json-to-swift) — matching iOS classes for the same payload. - [JSON to Java POJO](https://pdfflare.com/tools/json/json-to-java) — for legacy JVM modules that aren't Kotlin yet. - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) — for the front end of the same product. - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print the sample before converting. ## Workflow Tips for Android Teams Working with generated Kotlin data classes day to day, a few workflow habits compound into significant productivity gains for an Android or Ktor team. The first is to keep your generated classes in a dedicated package, separate from your domain model. The generator produces a faithful representation of the wire format, which often does not match the model your application logic wants to work with. Treat the generated classes as a transport layer that you map to and from richer domain types in a service layer. This decoupling means future API changes only ripple through the transport layer, not your entire app. A related habit is to write a tiny mapper object alongside each generated class. The mapper contains pure functions that convert from transport types to domain types. When the API changes a field name, you update the mapper and the regenerated transport class — your domain code stays unchanged. This pattern feels like extra ceremony for tiny payloads, but pays off enormously the first time an upstream team renames a field without notice. The compiler catches the mismatch at the boundary, your domain logic is untouched, and the fix is mechanical. For Android specifically, keep an eye on R8 and ProGuard rules. kotlinx.serialization needs the data class to retain its `@Serializable` annotation in the obfuscated build. Most modern setups handle this automatically through the Kotlin Gradle plugin, but if you ship a release build and suddenly serialization fails, the obfuscator is the most likely culprit. Add explicit keep rules for your serialized model package as a defensive measure. The same advice applies to ProGuard configurations in any JVM project that ships minified bytecode. Cross-team contracts deserve the same care. If your Android app talks to a backend service owned by a different team, export your generated transport classes as a versioned contract — either a small library that both projects depend on, or a snapshot in version control that both teams agree to update together. Without this discipline, the two sides drift and integration bugs become detective work. With it, you have a single source of truth that the compiler enforces. ## Production Patterns for JSON to Kotlin Data Classes Refinements that turn a generated data class into the kind of code you'd ship in a real Android app or Ktor service: ### Nullability and Optional Fields The generator can't infer optionality from a single sample. If a field might be absent in real payloads, mark it nullable by appending `?` and defaulting to `null`: `val nickname: String? = null`. kotlinx.serialization handles missing keys gracefully and your call sites get safe-call syntax instead of surprise null pointer exceptions in production. ### Default Values for Forward Compatibility Adding sensible defaults to every field makes the class robust against API additions. New fields that show up in payloads but aren't in your model fall through harmlessly; missing fields get defaults instead of throwing. Configure your Json instance with `encodeDefaults = false`so unchanged defaults don't bloat the serialized output. ### Date and Timestamp Handling ISO-8601 strings start as `String` in the generated class, then upgrade to `kotlinx.datetime.Instant` with a custom serializer once the field set stabilizes. Unix timestamps stay as `Long` and convert at the boundary via `Instant.fromEpochSeconds()`. Don't let raw string dates leak into your domain layer or you'll re-parse them in a dozen places. ## When to Reach for a Different Approach Kotlin data class generation is the right tool for one or two payloads. Some alternatives: - **OpenAPI codegen** — when the upstream service publishes a spec, generate from that for full coverage. - **Working in Swift too?** [JSON to Swift](https://pdfflare.com/tools/json/json-to-swift) emits Codable structs for iOS/macOS clients consuming the same JSON. - **For schema validation**, generate a [JSON Schema](https://pdfflare.com/tools/json/json-schema) from your sample first, refine the constraints, then point a schema-to-Kotlin generator at it. ## Common Mistakes to Avoid 1. **Generating from a single sparse sample.**If your JSON only includes a subset of optional fields, the generator won't see the others. Capture two or three diverse payloads (a minimal one, a full-detail one, an edge case) and merge by hand. Fields appearing in some samples but not others are your nullable candidates. 2. **Using `var` instead of `val`.** The generator emits `val`by default for immutability — that's the right Kotlin idiom. Wanting to mutate after deserialization usually means mixing concerns; keep the data class immutable and create variations via `.copy()` instead. 3. **Forgetting `@SerialName` on non-camelCase keys.** If a JSON key is `user_id`, rename the property to `userId` in your code and preserve the original JSON key with `@SerialName("user_id")`. The generator already emits this annotation; just polish the property name. 4. **Skipping validation.** kotlinx.serialization decodes a payload missing required fields into a class with defaults — silently. For business-critical fields, add `require(field.isNotEmpty())` in an `init` block. Fails fast on bad data, beats debugging mysterious behavior weeks later. 5. **Mixing kotlinx and Moshi annotations.** The generator emits kotlinx.serialization annotations. If your project uses Moshi, find-and-replace with `@JsonClass` and `@Json(name = "...")` and swap the imports. Class structure works unchanged. ## Real-World Use Cases - **Android app talking to a REST API.**Generate data classes for each endpoint's response, drop into your Retrofit interface, and the network layer is type-safe end to end. Compile-time safety beats runtime crashes when you ship to thousands of devices. - **Ktor backend handling webhook payloads.** Stripe, GitHub, and similar services document webhooks as JSON examples. Generate Kotlin classes from each example and your handler is compile-time safe instead of casting from a`Map`. - **Multiplatform shared models.** kotlinx works across JVM, JS, and native. Generate data classes once, share between your Android client and Kotlin/JS web client — one source of truth. - **Replacing Gson's reflection-based parsing.** Migrating off Gson? The generator emits classes ready for kotlinx.serialization (3-5× faster, no reflection, R8-friendly). Paste, swap the parser call, ship. ## Wrapping Up Hand-writing a Kotlin data class from a JSON sample is fifteen minutes of boilerplate that ages with the API. Generate from a real payload with [PDFFlare's JSON to Kotlin tool](https://pdfflare.com/tools/json/json-to-kotlin) and refine where the inference can't guess — optionals, defaults, custom serializers. --- ## Frequently asked questions **Q: Why kotlinx.serialization instead of Moshi or Gson?** A: kotlinx.serialization is JetBrains' first-party serialization library — multiplatform (Android, iOS, JS, Native), zero-reflection (compiler-generated serializers), and idiomatic for data classes. PDFFlare emits @Serializable + @SerialName annotations targeting it by default; the structure works for Moshi/Gson with annotation swaps. **Q: Do I need the kotlinx-serialization Gradle plugin?** A: Yes. The runtime dependency alone isn't enough — the plugin generates serializer code at compile time. Add `kotlin("plugin.serialization") version "..."` to your Gradle build, plus the kotlinx-serialization-json runtime dependency. **Q: How are nested objects handled?** A: Each unique object shape becomes its own data class. Names are inferred from property names (singularized for arrays of objects), giving you defaults like User, Post, Comment that you can rename via find-and-replace. **Q: How are nullable / optional fields handled?** A: The generator can't know which fields are optional from one sample — every field is non-null by default. For optional fields, refine to String? or add `= null` defaults manually based on the API contract. **Q: Is my JSON sent to a server?** A: No. Conversion runs in your browser — safe for production payloads, internal API contracts, and JSON containing tokens or PII. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to Swift Codable Struct (Step-by-Step) URL: https://pdfflare.com/blog/convert-json-to-swift-codable Published: May 2, 2026 Reading time: 8 min read > JSON to Swift Codable struct generator — auto CodingKeys for snake_case keys. Built for iOS, macOS, watchOS. Browser-based, no signup. --- Looking for a JSON to Swift Codable generator? Here's the no-friction approach. Your iOS app fetches a JSON payload with URLSession. Now you need a Codable struct so `JSONDecoder` can hand you a typed value instead of a dictionary. The API uses snake_case, your Swift app uses camelCase — bridging the two with a hand-typed CodingKeys enum is rote work. In this guide you'll learn how to convert JSON to a Swift Codable struct using [PDFFlare's JSON to Swift tool](https://pdfflare.com/tools/json/json-to-swift) — how Codable + JSONDecoder map JSON keys onto Swift properties, when CodingKeys is required, how to make optional fields actually optional, and the SwiftUI preview pattern that makes Codable types pay back tenfold. ## Why Codable? Codable (a typealias for `Encodable & Decodable`) is built into Foundation and is the only Apple-supported way to serialize Swift values. `JSONDecoder().decode(Type.self, from: data)` handles the JSON-to-Swift mapping with zero runtime dependencies. Pair it with URLSession or async/await `URLSession.shared.data(for:)` and you have a typed API client in three lines. ## How to Convert JSON to a Swift Codable Struct (Step by Step) 1. **Open [PDFFlare's JSON to Swift tool](https://pdfflare.com/tools/json/json-to-swift)**. 2. **Paste a real production JSON sample.** Snake_case keys are fine — the tool will emit a CodingKeys enum to map them onto camelCase Swift properties. 3. **Set the root struct name**via the "Root struct" field. `UserResponse`, `WeatherForecast`, `StripePaymentIntent` — pick the domain noun. 4. **Click Convert to Swift.** Each unique object shape becomes its own `struct` conforming to `Codable`. CodingKeys appear only when at least one JSON key needs remapping; clean output for camelCase APIs. 5. **Drop into your Xcode project.** `let response = try JSONDecoder().decode(UserResponse.self, from: data)` — typed values, compile-time safe. ## Real Use Cases for JSON to Swift ### iOS API clients with URLSession The async/await variant of URLSession returns `(Data, URLResponse)`. Pipe the data into `JSONDecoder().decode(Type.self, from:)`and you're done. ### SwiftUI #Preview blocks Paste a real API response, generate the struct, instantiate sample values for previews. Type-safe previews from real data — no more mocked dictionaries. ### Server-side Swift (Vapor, Hummingbird) Same Codable pattern works for incoming request bodies. The Vapor `Content` protocol is built on Codable, so generated structs drop in without modification. ### Cross-platform packages SwiftPM packages targeting both iOS and Linux server code share Codable types. Generate once, reuse everywhere. ## Common Mistakes (and How to Avoid Them) - **Forgetting JSONDecoder's keyDecodingStrategy.** If you removed the CodingKeys enum, set `decoder.keyDecodingStrategy = .convertFromSnakeCase` globally so the keys still map. - **Not marking optional fields.** Decode throws `.keyNotFound` if a non-optional field is missing in the real response. Mark fields the API may omit as `String?`. - **Using Int for big IDs.** 64-bit numeric IDs from the API may overflow `Int` on 32-bit targets. Refine to `Int64` manually. - **Missing the date strategy.** Date strings stay as strings unless you set `decoder.dateDecodingStrategy` — pick `.iso8601` for RFC 3339 strings or use a custom formatter. ## Privacy: Your JSON Stays Local Conversion runs in your browser. The JSON never uploads — safe for tokenized API responses and internal payloads. ## Related Workflows in the JSON Suite Adjacent tools you might find useful while working on the same JSON document: the [JSON to Kotlin](https://pdfflare.com/tools/json/json-to-kotlin) and [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) both pair well with the conversion above. The first handles a different output format that consumers of your data may prefer; the second covers the validation side of the same workflow. ## Related Tools - [JSON to Kotlin](https://pdfflare.com/tools/json/json-to-kotlin) — matching Android types for the same payload. - [JSON to TypeScript](https://pdfflare.com/tools/json/json-to-typescript) — for any web companion app. - [JSON Schema Generator](https://pdfflare.com/tools/json/json-schema) — validate inputs at the boundary in addition to typing them. - [JSON Formatter](https://pdfflare.com/tools/json/json-formatter) — pretty-print the sample before converting. ## Workflow Tips for iOS Teams Working with generated Codable structs day to day, several workflow habits compound into real productivity gains for an iOS or macOS team. The first is to keep generated structs in a dedicated module or folder, clearly separated from your domain model. The generator produces a faithful mirror of the JSON wire format. That format almost never matches the model your app logic actually wants — you usually want richer types, computed properties, and methods that no JSON document carries. Treat the generated structs as a transport layer that you map into domain types in a service layer. A related habit is to write a small extension or initializer on your domain model that constructs from the transport struct. When the API changes a field, you update the generator output and the mapping — your domain logic remains untouched. This separation of concerns sounds like ceremony for small payloads but pays for itself the first time an upstream team renames a field without telling you. The mismatch surfaces at the boundary, the fix is mechanical, and your view code never noticed anything happened. For SwiftUI specifically, prefer value types end to end. Codable structs are already value types, so this is the default. But resist the temptation to bridge to a class hierarchy for “ergonomics” — SwiftUI's data flow is designed around value semantics, and reference types fight the framework. Keep your transport structs and domain types as structs, use enums for variants, and let the framework do its job. Cross-team contracts deserve careful handling. If your iOS app consumes a backend owned by another team, export your generated transport structs as a versioned contract — a small Swift Package that both sides depend on, or a snapshot file checked into a shared repo with both teams committing together. Without this discipline, drift creeps in and integration bugs become detective work. With it, both teams share a single compiler-enforced source of truth, and changes require explicit acknowledgment from both sides. ## Production Patterns for JSON to Swift Codable A generated Codable struct is a starting point. These tweaks turn it into the kind of code you ship in a real iOS app: ### Optionals and Default Values The generator can't infer optionality from a single sample. If a field might be absent, mark it with `?`. For fields that should have a sensible fallback, prefer a default via a custom `init(from:)`rather than making the field optional — readers shouldn't have to unwrap a value that always has a meaningful value. ### Date Decoding Strategy ISO-8601 strings work out of the box if you set `JSONDecoder.dateDecodingStrategy = .iso8601` before decoding. For Unix timestamps, set `.secondsSince1970`. For weird custom formats, `.formatted(formatter)` with a `DateFormatter` tuned to the API. Set this once on your global decoder, not per call site. ### Snake_case Key Mapping When every API you talk to uses snake_case keys (Rails apps, Python services), set `JSONDecoder.keyDecodingStrategy = .convertFromSnakeCase` and drop most of the CodingKeys enums entirely. Keep CodingKeys only for the truly weird mappings. ## When to Reach for a Different Approach A few alternatives worth knowing about: - **OpenAPI codegen** — when the upstream service publishes a spec, generate the full model layer and a client in one shot. - **Building Android too?** [JSON to Kotlin](https://pdfflare.com/tools/json/json-to-kotlin) emits data classes for kotlinx.serialization — same shape, different idioms. - **For schema validation**, generate a [JSON Schema](https://pdfflare.com/tools/json/json-schema) from your sample first. ## Common Mistakes to Avoid 1. **Generating from a single sample.** Capture two or three diverse payloads and merge by hand. Fields appearing in some but not others are your optional candidates. 2. **Not testing decode failures.** Build a unit test that decodes a real production capture. If decoding throws, you catch the bug locally, not in TestFlight reports. 3. **Mixing Decodable-only and full Codable.**If you only ever decode (consume an API), you don't need Encodable conformance. Drop it for slightly faster compile times. Keep both only when you actually serialize back. 4. **Treating UUID strings as String.** If the API returns UUIDs, type the field as `UUID` directly — Swift Codable handles the conversion, and you get type safety on the consumer side. 5. **Skipping nested struct extraction.**If a JSON object has a deeply nested structure used in only one place, the generator emits separate structs for it. That's correct. Don't flatten everything into the root struct for “simplicity” — it makes the type names ambiguous later. ## Real-World Use Cases - **iOS app consuming a REST API.** Generate Codable structs from the actual response, drop into your networking layer, and the parse layer is type-safe end to end. SwiftUI views bind directly to the struct. - **macOS menu bar app reading a webhook.** Capture a payload, generate the struct, and write the handler in pure Swift — no JSONSerialization, no`[String: Any]` casting. - **Sharing models across an iOS + watchOS app.** Codable structs work everywhere Swift runs. Generate once, share via a Swift Package, both targets parse the same shape. - **Migrating off SwiftyJSON.** Replace fragile stringly-typed access with a real Codable struct — compile-time safety and a 2-3× perf improvement come along for free. ## Polishing the Generator's Output Codable in Swift hides a remarkable amount of complexity behind a small public surface. Whatever your specific use case, treat the generated output as a draft that deserves a careful read-through. Generators are excellent at producing the mechanical structure of an artifact and not at the editorial decisions that make the difference between something a colleague will tolerate and something a colleague will appreciate. Read every section of the output the way you would read a piece of writing you were proofreading for a friend. Look for inconsistent naming, missed opportunities to consolidate similar items, and places where the structure is mechanically correct but conceptually awkward. The five minutes spent on this review are the difference between an artifact that pays back over months and one that needs a second pass before it can be used. The generator handles the heavy lifting; you handle the polish that turns a draft into a deliverable. This division of labor is what makes generated code worthwhile in the first place. Without that final pass of human editorial judgment, the generator's output is merely fast rather than valuable, and the value matters more than the speed in nearly every real production setting. ## Wrapping Up Codable + a generated struct is the lowest-friction way to take a JSON API and make it feel native in Swift. Use [PDFFlare's JSON to Swift tool](https://pdfflare.com/tools/json/json-to-swift) to skip the boilerplate, and refine optionals, dates, and big-int fields where the inference can't guess. --- ## Frequently asked questions **Q: Do the structs work with JSONDecoder out of the box?** A: Yes. Every struct conforms to Codable, so JSONDecoder().decode(Type.self, from: data) works directly. CodingKeys enums map snake_case JSON keys to camelCase Swift properties without setting decoder.keyDecodingStrategy. **Q: When does PDFFlare include a CodingKeys enum?** A: Only when at least one JSON key doesn't match Swift naming conventions (snake_case, kebab-case, leading digit, reserved word). If every key is already a valid camelCase identifier, the enum is omitted to keep the struct minimal. **Q: What about optional fields?** A: The generator picks non-optional types from a single sample. Mark fields as Type? manually where the API may omit them — JSONDecoder throws .keyNotFound if a non-optional field is absent in real data. **Q: How are dates handled?** A: Date strings stay as String unless you configure decoder.dateDecodingStrategy. For ISO 8601 / RFC 3339 strings, set decoder.dateDecodingStrategy = .iso8601 globally. For custom formats, use .formatted with a DateFormatter. **Q: Is my JSON sent to a server?** A: No. The conversion runs entirely in your browser — safe for production payloads, internal API responses, and JSON containing tokens or PII. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to SQL (CREATE TABLE + INSERT in Seconds) URL: https://pdfflare.com/blog/convert-json-to-sql-create-table Published: May 2, 2026 Reading time: 8 min read > JSON to SQL: emit CREATE TABLE + INSERT statements for Postgres / MySQL / SQLite from any JSON array. Browser-based, no signup, no upload. --- Need a JSON to SQL converter that emits clean schema? Here's how. You have a JSON array — fixtures from a test, a Mongo export, a scraped dataset — and you want to query it with real SQL. Hand- writing a CREATE TABLE plus a hundred INSERT statements is busywork you do once and then never want to repeat. Skip the busywork. In this guide you'll learn how to convert JSON to SQL using [PDFFlare's JSON to SQL tool](https://pdfflare.com/tools/json/json-to-sql) — how column types are inferred from values, the differences between PostgreSQL, MySQL, and SQLite output, what happens to nested data, and the cases where you should reach for a real bulk-load utility instead. ## What Dialects Are Supported? PostgreSQL (TEXT, BIGINT, BOOLEAN, double-quoted identifiers), MySQL (VARCHAR(n), BIGINT, BOOLEAN, backtick identifiers), and SQLite (TEXT, INTEGER — no native BOOLEAN). Pick the one that matches your target database. The generator switches type names and identifier quoting automatically. ## How to Convert JSON to SQL (Step by Step) 1. **Open [PDFFlare's JSON to SQL tool](https://pdfflare.com/tools/json/json-to-sql)**. 2. **Paste your JSON array of objects.** Each object becomes a row; the union of every key across every object becomes the column set. 3. **Pick a table name and dialect.** Postgres / MySQL / SQLite. Identifier quoting and primitive types adjust per dialect. 4. **Click Convert to SQL.** Output is a CREATE TABLE followed by a single multi-row INSERT — fast to import in one transaction. 5. **Run against your database.** psql, mysql, sqlite3 — all accept the output as-is. ## Real Use Cases for JSON to SQL ### Seeding a development database You have a JSON fixture that you want loaded into your dev DB on every fresh checkout. Convert once, run on each setup. Add it to your `db/seed.sql`. ### Migrating from NoSQL to relational Export a Mongo collection or Firestore export as JSON, convert to SQL, refine the schema (add primary keys, indexes), run against Postgres/MySQL/SQLite. ### Quick analytics You scraped JSON and want SQL queries (joins, aggregates, window functions). Convert, load into SQLite, query in seconds. ### SaaS data onboarding The platform exports settings as JSON; the new tooling expects SQL fixtures. Bridge formats without writing a custom ETL script. ## Common Mistakes (and How to Avoid Them) - **Trying to import nested data.** CREATE TABLE wants flat rows. Run nested JSON through [JSON Flatten](https://pdfflare.com/tools/json/json-flatten) first, or accept that nested fields are JSON-stringified into a single TEXT column. - **Expecting PRIMARY KEY or INDEX clauses.**The generator can't know your domain. Add constraints manually after pasting. - **Bulk-importing millions of rows.**Multi-row INSERTs work for thousands; for millions, use your DB's bulk-load utility (psql `\COPY`, mysqlimport, sqlite3 `.import`) with a CSV file. See [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv). - **Using DOUBLE PRECISION for currency.** Refine to `NUMERIC(10,2)` for money fields — floating point and money do not mix. ## Privacy: Your JSON Stays Local Conversion runs in your browser. The JSON you paste never uploads — safe for production exports, customer data, internal datasets. ## Related Workflows in the JSON Suite Adjacent tools you might find useful while working on the same JSON document: the [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) and [JSON to Excel](https://pdfflare.com/tools/json/json-to-excel) both pair well with the conversion above. The first handles a different output format that consumers of your data may prefer; the second covers the validation side of the same workflow. ## Related Tools - [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) — for bulk imports via your DB's native COPY utility. - [JSON to Excel](https://pdfflare.com/tools/json/json-to-excel) — if the recipient is not a database but a spreadsheet. - [JSON Flatten](https://pdfflare.com/tools/json/json-flatten) — flatten nested keys before generating SQL. - [JSON Schema](https://pdfflare.com/tools/json/json-schema) — infer column constraints from a richer schema definition. ## Choosing Column Names and Types Carefully The generator picks column names directly from JSON keys and types from the values it sees. Both decisions deserve a careful audit before you ship any of this to production. JSON keys often use camelCase or snake_case in ways that conflict with your database's conventions. PostgreSQL prefers lowercase with underscores; SQL Server is more permissive but your team may have a style guide. Rename columns at this stage — every downstream query you write becomes easier to read when the column names match team conventions, and getting it right at table-creation time saves a future painful migration. Types deserve similar attention. The generator picks types based on the values it sees, but a sample is a snapshot. If your sample has only short usernames, the generator might pick VARCHAR(20). The first user with a longer name causes truncation or insert failures. Audit every text column, decide whether to use TEXT (Postgres) or VARCHAR with a generous length, and document the decision. For numeric columns, the generator might pick INTEGER from a sample of small numbers, but real production data could exceed two billion — bump to BIGINT defensively when you have any doubt. Decimal precision deserves explicit thought too. JSON represents money as a number or a string; SQL has DECIMAL, NUMERIC, and FLOAT, each with different precision and rounding semantics. Money values should be DECIMAL(precision, scale) — never FLOAT, which loses precision in unexpected ways. Decide on a standard for your domain, document it in the schema, and apply consistently across tables. Future you will appreciate the consistency when joining across tables for reporting. Finally, think about constraints. The generator creates a minimal schema. Real production schemas need NOT NULL on required columns, UNIQUE on identifying fields, FOREIGN KEY references between related tables, and CHECK constraints on fields with restricted value sets (status enums, score ranges, etc.). Adding these at creation time gives you data integrity for free — the database refuses to accept invalid rows. Adding them later requires backfilling data, which is painful at scale. Front-load the work during schema design and the database becomes a partner in correctness rather than just a passive store. ## Production Patterns for JSON to SQL A generated CREATE TABLE + INSERT script is a great starting point — but real production loads usually need more than the defaults: ### Pick the Right Dialect The tool emits ANSI-ish SQL by default. Subtle differences matter: PostgreSQL uses `SERIAL` or `GENERATED AS IDENTITY` for auto-increment IDs, MySQL uses `AUTO_INCREMENT`, SQLite uses `INTEGER PRIMARY KEY AUTOINCREMENT`. The generator picks one; tweak based on your target. For text-heavy fields, PostgreSQL prefers `TEXT`; MySQL needs an explicit `VARCHAR(N)` length. ### Handle NULL vs Missing Keys Explicitly A JSON value of `null` becomes SQL `NULL`. A missing key becomes... whatever your DEFAULT is, or NULL. Add explicit `NOT NULL DEFAULT` clauses to columns that must always have a value, so the bulk INSERT fails fast on bad data instead of silently inserting nulls. ### Index Hot Lookup Columns The generator doesn't add indexes — that's your job. After CREATE TABLE, manually add `CREATE INDEX idx_users_email ON users(email);` for any column you query by. Bulk-inserting first and indexing afterward is much faster than maintaining indexes during the insert — but only if your INSERT is genuinely bulk (one multi-row statement, not a million single-row inserts). ## When to Use a Different Approach A few alternatives that may fit better: - **For analytics workloads**, export to [JSON to CSV](https://pdfflare.com/tools/json/json-to-csv) and use the database's native `COPY` (Postgres) or `LOAD DATA INFILE` (MySQL) — orders of magnitude faster than INSERT statements for big loads. - **For Excel-savvy stakeholders**, ship a [JSON to Excel](https://pdfflare.com/tools/json/json-to-excel) file directly — they want a spreadsheet, not a SQL dump. - **For schema validation**, generate a [JSON Schema](https://pdfflare.com/tools/json/json-schema) first to lock down the shape, then generate SQL from a validated sample. ## Common Mistakes to Avoid 1. **Inserting one row at a time.** A million single-row INSERTs takes minutes; one multi-row INSERT takes seconds. The generator emits a single multi-row INSERT by default — keep it that way. 2. **Letting type inference pick VARCHAR(255).**If a column has long text, you'll truncate on insert. Audit the inferred lengths and bump to `TEXT` for any free-form content. 3. **Skipping the transaction.** Wrap CREATE TABLE + INSERT in `BEGIN; ... COMMIT;` so partial failures roll back. A failed INSERT halfway through leaves your database in a half-loaded state otherwise. 4. **Trusting auto-detected primary keys.**The generator marks a column PRIMARY KEY based on heuristics (named “id”, all unique, etc.). Always verify. For composite keys, add the `PRIMARY KEY (col1, col2)` clause manually. 5. **Loading PII without redaction.**If your JSON has emails, names, or anything regulated, redact before generating SQL — once you've INSERTed, scrubbing is harder. ## Real-World Use Cases - **Seeding a development database.** Capture a production JSON export, generate INSERT statements, run them in your local Postgres. Now your local environment has realistic data without a full prod dump. - **Migrating from a NoSQL store to a relational one.** Export documents from MongoDB or Firestore as JSON, generate CREATE TABLE + INSERT, run in your new Postgres instance. Validates both schema design and data quality in one step. - **Importing third-party data dumps.** Stripe, GitHub, and similar services export data as JSON. Convert to SQL once and you can join against your own tables for reporting. - **Test fixtures.** A handcrafted JSON file with sample users, orders, products converts to a SQL fixture file. Run the SQL in CI to seed test databases consistently. ## Polishing the Generator's Output Schema design at the moment of creation has consequences that ripple through every query, every report, and every migration that follows. Whatever your specific use case, treat the generated output as a draft that deserves a careful read-through. Generators are excellent at producing the mechanical structure of an artifact and not at the editorial decisions that make the difference between something a colleague will tolerate and something a colleague will appreciate. Read every section of the output the way you would read a piece of writing you were proofreading for a friend. Look for inconsistent naming, missed opportunities to consolidate similar items, and places where the structure is mechanically correct but conceptually awkward. The five minutes spent on this review are the difference between an artifact that pays back over months and one that needs a second pass before it can be used. The generator handles the heavy lifting; you handle the polish that turns a draft into a deliverable. This division of labor is what makes generated code worthwhile in the first place. Without that final pass of human editorial judgment, the generator's output is merely fast rather than valuable, and the value matters more than the speed in nearly every real production setting. ## Wrapping Up A clean CREATE TABLE + INSERT is two clicks away with [PDFFlare's JSON to SQL tool](https://pdfflare.com/tools/json/json-to-sql). Use it for seeds, migrations, and quick analytics — and refine types, constraints, and indexes manually where the inference can't. --- ## Frequently asked questions **Q: What dialects are supported?** A: PostgreSQL, MySQL, and SQLite. The differences: Postgres uses TEXT and BIGINT; MySQL uses VARCHAR(n) and backticks for identifier quoting; SQLite uses TEXT and INTEGER (no native BOOLEAN). Pick the one that matches your target database. **Q: How are types inferred?** A: Per column, across every row: all-integer becomes BIGINT/INTEGER; any decimal becomes DOUBLE PRECISION; all-boolean becomes BOOLEAN/INTEGER; mixed or string values fall back to TEXT/VARCHAR. NULL values are skipped during inference. **Q: Are nested objects flattened automatically?** A: No. Nested objects and arrays are JSON-stringified into a single TEXT column. To get nested keys as proper columns, run the JSON through PDFFlare's JSON Flatten tool first to convert nested.field paths to top-level keys. **Q: Does it generate INDEX or PRIMARY KEY clauses?** A: No. The tool can't know which column is the primary key from JSON alone. Add PRIMARY KEY, UNIQUE, and INDEX constraints manually after pasting the CREATE TABLE. **Q: Is my JSON sent to a server?** A: No. Conversion runs in your browser — safe for production exports, customer data, and internal datasets. --- ## About PDFFlare PDFFlare is a free collection of online tools for working with PDFs, images, text, JSON, and developer utilities. All tools run client-side in your browser — no signup, no upload to our servers, no rate limits. For the full site index, see https://pdfflare.com/llms.txt. For the complete content dump in one file, see https://pdfflare.com/llms-full.txt. --- # How to Convert JSON to HTML Table (Email + Dashboard) URL: https://pdfflare.com/blog/convert-json-to-html-table Published: May 2, 2026 Reading time: 7 min read > JSON to HTML table converter — clean semantic markup with thead/tbody from any JSON array. Browser-based, no signup, free. --- Looking for a JSON to HTML table converter? Here's the cleanest way to do it. You have a JSON export from an internal tool and you need it rendered as a table in an HTML email, an internal dashboard, or a static report. Markdown won't cut it (the renderer is HTML only) and a JS framework is overkill. Generate the table once and paste. In this guide you'll learn how to convert JSON to an HTML table with [PDFFlare's JSON to HTML Table tool](https://pdfflare.com/tools/json/json-to-html-table) — what semantic `
` markup gets you, why every cell is HTML-escaped, how to make the table render in Outlook and Gmail, and where Markdown is the right answer instead. ## Why Semantic HTML Tables? A proper table uses `` for headers and `` for data rows. Screen readers announce row and column relationships; CSS selectors target headers vs data cleanly; and any table-styling library (Bootstrap, Tailwind prose, Email CSS) hooks onto the same structure. The output here gives you exactly that — no styling, just clean markup. ## How to Convert JSON to an HTML Table (Step by Step) 1. **Open [PDFFlare's JSON to HTML Table tool](https://pdfflare.com/tools/json/json-to-html-table)**. 2. **Paste your JSON array of flat objects.** Each object becomes a ``; the union of keys becomes the headers in ``. 3. **Click Convert to HTML.** Output is a complete `
` with proper `` / `` separation and HTML-escaped cells. 4. **Style and ship.** Wrap with inline styles for email, drop into a Tailwind `prose` block, or paste into a CMS that accepts HTML. ## Real Use Cases for JSON to HTML ### HTML email templates Outlook and Gmail respect inline-styled tables. Generate the table once from a JSON sample, wrap with inline styles, paste into the email body. Templated transactional emails work this way all the time. ### Static dashboards and reports Marketing, ops, finance — render a JSON export as a one-page HTML report. No JS framework needed. ### MDX / Docusaurus / static doc sites When Markdown tables don't support the styling you need (col-span, custom classes), reach for the HTML version. Paste into an MDX file or any HTML-aware doc site. ### Legacy CMS systems Old WordPress, Drupal, or custom CMS editors accept HTML but not Markdown. Render once, paste, ship. ## Common Mistakes (and How to Avoid Them) - **Forgetting inline styles for email.** Gmail and Outlook strip `