How to Edit PDF Files for Free (2026)
A step-by-step guide to common PDF editing tasks — splitting pages, merging files, converting to images, editing text via Word conversion, and compressing — all using free online tools that process files locally in your browser.
Problem
Required Tools
Online tool to split, extract, and reorder PDF pages directly in the browser. Processes locally without server uploads.
Tool to combine multiple PDF files into one. Supports drag-and-drop reordering, processed in the browser.
Converts each PDF page to high-quality JPG/PNG images. Useful for presentations and social media sharing.
Converts PDF to editable Word (docx) documents. Edit text and re-export to PDF.
Reduces PDF file size for email attachments and web uploads. Minimizes quality loss.
Free open-source desktop application. Opens PDFs for direct editing of text, images, and shapes, then saves back to PDF.
Solution Steps
Split and Extract PDF Pages (liminfo PDF Split)
Extract only the pages you need from a PDF document, or split a large PDF into multiple files. How to use: 1. Go to liminfo.com/tools/pdfsplit 2. Drag and drop your PDF file or click the file selection button 3. Specify the page range to extract (e.g., 1-3, 5, 7-10) 4. Click "Split" to download a new PDF containing only the selected pages All processing happens within your browser, so files are never uploaded to a server. This is extremely useful for tasks like extracting signature pages (28-30) from a 30-page contract.
// Page extraction example using pdf-lib (programmatic approach)
import { PDFDocument } from 'pdf-lib';
async function extractPages(
pdfBytes: Uint8Array,
pageNumbers: number[] // 0-based index
): Promise<Uint8Array> {
const srcDoc = await PDFDocument.load(pdfBytes);
const newDoc = await PDFDocument.create();
// Copy only the desired pages
const pages = await newDoc.copyPages(srcDoc, pageNumbers);
pages.forEach((page) => newDoc.addPage(page));
return await newDoc.save();
}
// Example: extract pages 1, 3, and 5 (0-based)
const extracted = await extractPages(originalPdf, [0, 2, 4]);Merge Multiple PDFs into One (liminfo PDF Merge)
Combine department reports, scanned document pages, or separate contract sections into a single PDF file. How to use: 1. Go to liminfo.com/tools/pdfmerge 2. Upload all the PDF files you want to merge at once 3. Drag and drop to adjust the file order 4. Click "Merge" to download the combined PDF You can freely rearrange file order, making it easy to organize as cover page, table of contents, body, and appendix. If the merged file is too large, use the liminfo PDF Compress tool afterward.
// PDF merge example using pdf-lib
import { PDFDocument } from 'pdf-lib';
async function mergePdfs(pdfBytesArray: Uint8Array[]): Promise<Uint8Array> {
const mergedDoc = await PDFDocument.create();
for (const pdfBytes of pdfBytesArray) {
const srcDoc = await PDFDocument.load(pdfBytes);
const pages = await mergedDoc.copyPages(
srcDoc,
srcDoc.getPageIndices()
);
pages.forEach((page) => mergedDoc.addPage(page));
}
return await mergedDoc.save();
}
// Example: merge 3 PDFs in order
const file1 = await fetch('/cover.pdf').then(r => r.arrayBuffer());
const file2 = await fetch('/body.pdf').then(r => r.arrayBuffer());
const file3 = await fetch('/appendix.pdf').then(r => r.arrayBuffer());
const merged = await mergePdfs([
new Uint8Array(file1),
new Uint8Array(file2),
new Uint8Array(file3),
]);Convert PDF to Images (liminfo PDF to JPG)
Converting PDF pages to JPG or PNG images is useful in many scenarios: - Inserting PDF content as images in presentations (PowerPoint/Keynote) - Sharing via social media or messaging apps instead of PDF files - Viewing document content in environments without a PDF viewer - Displaying document preview thumbnails on web pages How to use: 1. Go to liminfo.com/tools/pdftojpg 2. Upload the PDF file to convert 3. Select the output format (JPG/PNG) and resolution (DPI) 4. Click "Convert" and each page downloads as an individual image For high-resolution output, set DPI to 300. For web sharing, 150 DPI is sufficient.
// PDF to image conversion example using pdf.js
import * as pdfjsLib from 'pdfjs-dist';
async function pdfPageToImage(
pdfBytes: ArrayBuffer,
pageNum: number,
scale: number = 2.0 // resolution multiplier
): Promise<string> {
const pdf = await pdfjsLib.getDocument({ data: pdfBytes }).promise;
const page = await pdf.getPage(pageNum);
const viewport = page.getViewport({ scale });
const canvas = document.createElement('canvas');
canvas.width = viewport.width;
canvas.height = viewport.height;
const ctx = canvas.getContext('2d')!;
await page.render({
canvasContext: ctx,
viewport,
canvas,
} as any).promise;
// Convert to JPG (quality 0.92)
return canvas.toDataURL('image/jpeg', 0.92);
}
// Example: convert page 1 to image
const imageDataUrl = await pdfPageToImage(pdfBuffer, 1, 2.0);Convert PDF to Word for Text Editing (liminfo PDF to Word)
When you need to directly modify text in a PDF, the most practical approach is to convert it to a Word document first. How to use: 1. Go to liminfo.com/tools/pdftoword 2. Upload the PDF file you want to edit 3. Click "Convert" to download the Word (.docx) file 4. Edit the text in Word or Google Docs 5. Once editing is complete, convert back to PDF at liminfo.com/tools/wordtopdf Important notes: - Text-heavy documents convert with high fidelity - Complex layouts (multi-column, tables, charts) may shift during conversion - Scanned image PDFs cannot have text extracted and require OCR first Formatting may change slightly during the round-trip (PDF to Word to PDF), so always review the final PDF output.
Reduce PDF File Size (liminfo PDF Compress)
If your edited PDF is too large, compress it to meet email attachment limits or web upload restrictions. How to use: 1. Go to liminfo.com/tools/pdfcompress 2. Upload the PDF file to compress 3. Select the compression level (High Quality / Balanced / Maximum Compression) 4. Click "Compress" to download the reduced-size PDF Compression is most effective for: - PDFs with many high-resolution photos (image downsampling) - PDFs edited multiple times with accumulated unnecessary objects (structure regeneration) - PDFs with fully embedded fonts (font subsetting) Typically, you can expect 25-60% file size reduction. For print purposes, select the "High Quality" setting.
# Compress PDF via Ghostscript CLI (for batch processing on desktop)
# /ebook setting uses 150 DPI, suitable for email/web sharing
gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.5 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE -dBATCH -dQUIET \
-sOutputFile=compressed_output.pdf \
input.pdf
# Check compression results
echo "Original: $(du -h input.pdf | cut -f1)"
echo "Compressed: $(du -h compressed_output.pdf | cut -f1)"Free Desktop Alternative — Edit PDFs Directly with LibreOffice Draw
For advanced editing that online tools cannot handle (adding shapes, replacing images, fine-tuning layouts), LibreOffice Draw is a free desktop solution. Installation and usage: 1. Download and install LibreOffice for free from libreoffice.org 2. Launch LibreOffice Draw 3. Go to File > Open and select your PDF file 4. The PDF opens in editable form — click on text to edit it directly 5. Freely add, delete, or modify text, images, and shapes 6. Go to File > Export as PDF to save LibreOffice Draw recognizes each PDF element as an individual object: - You can edit content at the text box level - Click on images to replace them or resize - Add new text, arrows, and shapes Note that complex PDFs (multiple layers, special fonts) may not reproduce layouts perfectly, so always review the result after editing.
# Install LibreOffice on Linux
# Ubuntu / Debian
sudo apt install libreoffice-draw
# macOS (Homebrew)
brew install --cask libreoffice
# Convert PDF to editable ODG format via CLI
libreoffice --draw --convert-to odg input.pdf
# Export back to PDF after editing
libreoffice --draw --convert-to pdf edited_file.odg
# Batch convert all PDFs in a folder
for f in *.pdf; do
libreoffice --headless --draw --convert-to pdf "${f}"
doneCommon Mistakes
Attempting to edit text in a scanned image PDF
Scanned documents store content as images, not text, so PDF-to-Word conversion cannot extract text. Use an OCR (Optical Character Recognition) tool first to recognize the text before editing.
Overwriting the original PDF after editing
Always back up the original file before editing. Formatting can change during the Word conversion round-trip, so keeping the original allows recovery if something goes wrong.
Failing to edit a password-protected PDF
Password-protected PDFs must be unlocked first by entering the password. PDFs with restricted editing permissions require the owner password. Unauthorized removal of PDF protection may have legal consequences.
Not verifying file order when merging PDFs
When merging multiple PDFs, files may be auto-sorted alphabetically. Always check the order in the preview before merging, and use drag-and-drop to rearrange if needed.
Creating unnecessarily large files with high-resolution image conversion
When converting PDF to JPG, 300 DPI is print quality but produces very large files. For screen sharing or web uploads, 150 DPI is sufficient. Choose the resolution appropriate for your use case.