| <!doctype html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
|
|
| <title>Deskew PDF Online Free - Straighten Scanned PDFs | BentoPDF</title> |
| <meta |
| name="title" |
| content="Deskew PDF Online Free - Straighten Scanned PDFs | BentoPDF" |
| /> |
| <meta |
| name="description" |
| content="β
Deskew PDF online free - Automatically straighten tilted scanned pages β
No signup β
Unlimited files β
Privacy-first β
Works in browser β
Fast & secure" |
| /> |
| <meta |
| name="keywords" |
| content="deskew pdf, straighten pdf, fix tilted scan, online pdf" |
| /> |
| <meta name="author" content="BentoPDF" /> |
| <meta |
| name="robots" |
| content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" |
| /> |
|
|
| <link rel="canonical" href="https://www.bentopdf.com/deskew-pdf.html" /> |
|
|
| <meta property="og:type" content="website" /> |
| <meta property="og:url" content="https://www.bentopdf.com/deskew-pdf" /> |
| <meta |
| property="og:title" |
| content="Deskew PDF Online Free - Straighten Scanned PDFs | BentoPDF" |
| /> |
| <meta |
| property="og:description" |
| content="β
Deskew PDF online free - Automatically straighten tilted scanned pages β
No signup β
Unlimited files β
Privacy-first β
Works in browser β
Fast & secure" |
| /> |
| <meta |
| property="og:image" |
| content="https://www.bentopdf.com/images/og-deskew-pdf.png" |
| /> |
| <meta property="og:image:width" content="1200" /> |
| <meta property="og:image:height" content="630" /> |
| <meta property="og:site_name" content="BentoPDF" /> |
|
|
| <meta name="twitter:card" content="summary_large_image" /> |
| <meta name="twitter:url" content="https://www.bentopdf.com/deskew-pdf" /> |
| <meta name="twitter:title" content="Deskew PDF Free" /> |
| <meta |
| name="twitter:description" |
| content="β
Deskew PDF online free - Automatically straighten tilted scanned pages β
No signup β
Unlimited files β
Privacy-first β
Works in browser" |
| /> |
| <meta |
| name="twitter:image" |
| content="https://www.bentopdf.com/images/twitter-deskew-pdf.png" |
| /> |
| <meta name="twitter:site" content="@BentoPDF" /> |
|
|
| <meta name="mobile-web-app-capable" content="yes" /> |
| <meta name="apple-mobile-web-app-capable" content="yes" /> |
| <meta name="apple-mobile-web-app-title" content="Deskew PDF" /> |
|
|
| <link href="/src/css/styles.css" rel="stylesheet" /> |
| <link rel="manifest" href="/site.webmanifest" /> |
| <link rel="icon" type="image/svg+xml" href="/images/favicon.svg" /> |
| <link |
| rel="icon" |
| type="image/png" |
| sizes="192x192" |
| href="/images/favicon-192x192.png" |
| /> |
| <link |
| rel="icon" |
| type="image/png" |
| sizes="512x512" |
| href="/images/favicon-512x512.png" |
| /> |
| <link |
| rel="apple-touch-icon" |
| sizes="180x180" |
| href="/images/apple-touch-icon.png" |
| /> |
| <link rel="icon" href="/favicon.ico" sizes="32x32" /> |
| </head> |
|
|
| <body class="antialiased bg-gray-900"> |
| {{> navbar }} |
|
|
| <div |
| id="uploader" |
| class="min-h-screen flex flex-col items-center justify-start py-12 p-4 bg-gray-900" |
| > |
| <div |
| id="tool-uploader" |
| class="bg-gray-800 rounded-xl shadow-xl px-4 py-8 md:p-8 max-w-2xl w-full text-gray-200 border border-gray-700" |
| > |
| <button |
| id="back-to-tools" |
| class="flex items-center gap-2 text-indigo-400 hover:text-indigo-300 mb-6 font-semibold" |
| > |
| <i data-lucide="arrow-left" class="cursor-pointer"></i> |
| <span class="cursor-pointer" data-i18n="tools.backToTools" |
| >Back to Tools</span |
| > |
| </button> |
|
|
| <h1 |
| class="text-2xl font-bold text-white mb-2" |
| data-i18n="tools:deskewPdf.name" |
| > |
| Deskew PDF Free Online - Straighten Tilted Scans |
| </h1> |
| <p class="text-gray-400 mb-6" data-i18n="tools:deskewPdf.subtitle"> |
| Automatically detect and correct skewed pages in scanned PDFs. Uses |
| advanced image processing to straighten tilted documents. |
| </p> |
|
|
| <div |
| id="drop-zone" |
| class="relative flex flex-col items-center justify-center w-full h-48 md:h-64 border-2 border-dashed border-gray-600 rounded-xl cursor-pointer bg-gray-900 hover:bg-gray-700 transition-colors duration-300" |
| > |
| <div class="flex flex-col items-center justify-center pt-5 pb-6"> |
| <i |
| data-lucide="upload-cloud" |
| class="w-10 h-10 mb-3 text-gray-400" |
| ></i> |
| <p class="mb-2 text-sm text-gray-400"> |
| <span class="font-semibold" data-i18n="upload.clickToSelect" |
| >Click to select files</span |
| > |
| <span data-i18n="upload.orDragAndDrop">or drag and drop</span> |
| </p> |
| <p |
| class="text-xs text-gray-500" |
| data-i18n="upload.hints.oneOrMorePdfs" |
| > |
| One or more PDF files |
| </p> |
| <p class="text-xs text-gray-500" data-i18n="upload.filesNeverLeave"> |
| Your files never leave your device. |
| </p> |
| </div> |
| <input |
| id="file-input" |
| type="file" |
| class="absolute top-0 left-0 w-full h-full opacity-0 cursor-pointer" |
| accept="application/pdf" |
| multiple |
| /> |
| </div> |
|
|
| <div id="file-controls" class="hidden mt-4 flex gap-3"> |
| <button |
| id="add-more-btn" |
| class="btn bg-indigo-600 hover:bg-indigo-700 text-white font-semibold px-4 py-2 rounded-lg flex items-center gap-2" |
| > |
| <i data-lucide="plus"></i> <span>Add More Files</span> |
| </button> |
| <button |
| id="clear-files-btn" |
| class="btn bg-gray-700 hover:bg-gray-600 text-white font-semibold px-4 py-2 rounded-lg flex items-center gap-2" |
| > |
| <i data-lucide="trash-2"></i> <span>Clear All</span> |
| </button> |
| </div> |
|
|
| <div id="file-display-area" class="mt-4 space-y-2"></div> |
|
|
| <div id="deskew-options" class="hidden mt-6 space-y-6"> |
| <div> |
| <label |
| for="deskew-threshold" |
| class="block mb-2 text-sm font-medium text-gray-300" |
| >Skew Threshold (degrees)</label |
| > |
| <select |
| id="deskew-threshold" |
| class="w-full bg-gray-700 border border-gray-600 text-white rounded-lg p-2.5 focus:ring-indigo-500 focus:border-indigo-500" |
| > |
| <option value="0.1">0.1Β° (Very Sensitive)</option> |
| <option value="0.5" selected>0.5Β° (Default)</option> |
| <option value="1.0">1.0Β° (Normal)</option> |
| <option value="2.0">2.0Β° (Less Sensitive)</option> |
| </select> |
| <p class="text-xs text-gray-500 mt-1"> |
| Pages with skew below this threshold won't be corrected. |
| </p> |
| </div> |
|
|
| <div> |
| <label |
| for="deskew-dpi" |
| class="block mb-2 text-sm font-medium text-gray-300" |
| >Processing Quality (DPI)</label |
| > |
| <select |
| id="deskew-dpi" |
| class="w-full bg-gray-700 border border-gray-600 text-white rounded-lg p-2.5 focus:ring-indigo-500 focus:border-indigo-500" |
| > |
| <option value="100">100 (Fast)</option> |
| <option value="150" selected>150 (Default)</option> |
| <option value="200">200 (Better)</option> |
| <option value="300">300 (Best Quality)</option> |
| </select> |
| </div> |
|
|
| <button id="process-btn" class="btn-gradient w-full mt-4"> |
| Deskew PDF |
| </button> |
| </div> |
|
|
| <div id="results-area" class="hidden mt-6 p-4 bg-gray-700 rounded-lg"> |
| <h3 class="text-lg font-semibold text-white mb-3">Deskew Results</h3> |
| <div class="grid grid-cols-2 gap-4 text-sm"> |
| <div> |
| <span class="text-gray-400">Total Pages:</span> |
| <span id="result-total" class="text-white ml-2">-</span> |
| </div> |
| <div> |
| <span class="text-gray-400">Pages Corrected:</span> |
| <span id="result-corrected" class="text-white ml-2">-</span> |
| </div> |
| </div> |
| <div id="angles-list" class="mt-3 max-h-32 overflow-y-auto"></div> |
| </div> |
| </div> |
| </div> |
|
|
| <div |
| id="loader-modal" |
| class="hidden fixed inset-0 bg-black bg-opacity-75 flex items-center justify-center z-50" |
| > |
| <div |
| class="bg-gray-800 p-8 rounded-lg flex flex-col items-center gap-4 border border-gray-700 shadow-xl" |
| > |
| <div class="solid-spinner"></div> |
| <p id="loader-text" class="text-white text-lg font-medium"> |
| Processing... |
| </p> |
| </div> |
| </div> |
|
|
| <div |
| id="alert-modal" |
| class="fixed inset-0 bg-gray-900 bg-opacity-90 flex items-center justify-center z-50 hidden" |
| > |
| <div |
| class="bg-gray-800 rounded-lg shadow-xl p-6 max-w-sm w-full border border-gray-700" |
| > |
| <h3 id="alert-title" class="text-xl font-bold text-white mb-2"> |
| Alert |
| </h3> |
| <p id="alert-message" class="text-gray-300 mb-6"></p> |
| <button |
| id="alert-ok" |
| class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-semibold py-2 px-4 rounded-lg transition-colors duration-200" |
| > |
| OK |
| </button> |
| </div> |
| </div> |
|
|
| <section class="max-w-4xl mx-auto px-4 py-12"> |
| <h2 |
| class="text-2xl md:text-3xl font-bold text-white mb-8 text-center" |
| data-i18n="howItWorks.title" |
| > |
| How It Works |
| </h2> |
| <div class="space-y-6"> |
| <div class="flex items-start gap-4"> |
| <div |
| class="flex-shrink-0 w-10 h-10 bg-indigo-600 rounded-full flex items-center justify-center text-white font-bold" |
| > |
| 1 |
| </div> |
| <div class="flex-1"> |
| <h3 class="text-lg font-semibold text-white mb-1">Upload PDF</h3> |
| <p class="text-gray-400"> |
| Select your scanned PDF with tilted pages |
| </p> |
| </div> |
| </div> |
| <div class="flex items-start gap-4"> |
| <div |
| class="flex-shrink-0 w-10 h-10 bg-indigo-600 rounded-full flex items-center justify-center text-white font-bold" |
| > |
| 2 |
| </div> |
| <div class="flex-1"> |
| <h3 class="text-lg font-semibold text-white mb-1">Auto-Detect</h3> |
| <p class="text-gray-400">OpenCV analyzes and detects skew angles</p> |
| </div> |
| </div> |
| <div class="flex items-start gap-4"> |
| <div |
| class="flex-shrink-0 w-10 h-10 bg-indigo-600 rounded-full flex items-center justify-center text-white font-bold" |
| > |
| 3 |
| </div> |
| <div class="flex-1"> |
| <h3 class="text-lg font-semibold text-white mb-1">Download</h3> |
| <p class="text-gray-400">Get your straightened PDF instantly</p> |
| </div> |
| </div> |
| </div> |
| </section> |
|
|
| <section class="max-w-6xl mx-auto px-4 py-12"> |
| <h2 |
| class="text-2xl md:text-3xl font-bold text-white mb-6 text-center" |
| data-i18n="relatedTools.title" |
| > |
| Related PDF Tools |
| </h2> |
| <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4"> |
| <a |
| href="rasterize-pdf.html" |
| class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700" |
| > |
| <h3 class="text-white font-semibold mb-1">Rasterize PDF</h3> |
| <p class="text-gray-400 text-sm">Convert to image-based PDF</p> |
| </a> |
| <a |
| href="compress-pdf.html" |
| class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700" |
| > |
| <h3 class="text-white font-semibold mb-1">Compress PDF</h3> |
| <p class="text-gray-400 text-sm">Reduce PDF file size</p> |
| </a> |
| <a |
| href="repair-pdf.html" |
| class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700" |
| > |
| <h3 class="text-white font-semibold mb-1">Repair PDF</h3> |
| <p class="text-gray-400 text-sm">Fix corrupted PDF files</p> |
| </a> |
| <a |
| href="rotate-pdf.html" |
| class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700" |
| > |
| <h3 class="text-white font-semibold mb-1">Rotate PDF</h3> |
| <p class="text-gray-400 text-sm">Rotate PDF pages</p> |
| </a> |
| <a |
| href="ocr-pdf.html" |
| class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700" |
| > |
| <h3 class="text-white font-semibold mb-1">OCR PDF</h3> |
| <p class="text-gray-400 text-sm">Make PDF searchable</p> |
| </a> |
| </div> |
| </section> |
|
|
| <section class="max-w-4xl mx-auto px-4 py-12"> |
| <h2 |
| class="text-2xl md:text-3xl font-bold text-white mb-6 text-center" |
| data-i18n="faq.sectionTitle" |
| > |
| Frequently Asked Questions |
| </h2> |
| <div class="space-y-4"> |
| <details class="bg-gray-800 p-5 rounded-lg border border-gray-700"> |
| <summary |
| class="cursor-pointer font-semibold text-white flex items-center justify-between" |
| > |
| What is PDF deskewing? |
| <i data-lucide="chevron-down" class="w-5 h-5"></i> |
| </summary> |
| <p class="mt-3 text-gray-400"> |
| Deskewing is the process of correcting tilted or rotated pages in |
| scanned documents. When you scan a document, it's common for pages |
| to be slightly skewed. This tool automatically detects and corrects |
| that skew. |
| </p> |
| </details> |
| <details class="bg-gray-800 p-5 rounded-lg border border-gray-700"> |
| <summary |
| class="cursor-pointer font-semibold text-white flex items-center justify-between" |
| > |
| How accurate is the skew detection? |
| <i data-lucide="chevron-down" class="w-5 h-5"></i> |
| </summary> |
| <p class="mt-3 text-gray-400"> |
| Our tool uses OpenCV's advanced image processing algorithms to |
| detect skew angles with high precision. It works best on documents |
| with clear text content. |
| </p> |
| </details> |
| <details class="bg-gray-800 p-5 rounded-lg border border-gray-700"> |
| <summary |
| class="cursor-pointer font-semibold text-white flex items-center justify-between" |
| > |
| Are my files private? |
| <i data-lucide="chevron-down" class="w-5 h-5"></i> |
| </summary> |
| <p class="mt-3 text-gray-400"> |
| Yes! All processing happens entirely in your browser using |
| WebAssembly. Your files never leave your device. |
| </p> |
| </details> |
| </div> |
| </section> |
|
|
| {{> footer }} |
| <script type="module" src="/src/js/utils/lucide-init.ts"></script> |
| <script type="module" src="/src/js/utils/full-width.ts"></script> |
| <script type="module" src="/src/js/utils/simple-mode-footer.ts"></script> |
| <script type="module" src="/src/version.ts"></script> |
| <script type="module" src="/src/js/logic/deskew-pdf-page.ts"></script> |
| <script type="module" src="/src/js/mobileMenu.ts"></script> |
| <script type="module" src="/src/js/main.ts"></script> |
|
|
| <script type="application/ld+json"> |
| { |
| "@context": "https://schema.org", |
| "@type": "SoftwareApplication", |
| "name": "Deskew PDF - BentoPDF", |
| "applicationCategory": "PDF Tool", |
| "operatingSystem": "Any - Web Browser", |
| "offers": { |
| "@type": "Offer", |
| "price": "0", |
| "priceCurrency": "USD" |
| }, |
| "aggregateRating": { |
| "@type": "AggregateRating", |
| "ratingValue": "4.8", |
| "ratingCount": "1892" |
| } |
| } |
| </script> |
|
|
| <script type="application/ld+json"> |
| { |
| "@context": "https://schema.org", |
| "@type": "HowTo", |
| "name": "How to deskew PDF online", |
| "description": "Learn how to straighten tilted pages in scanned PDFs", |
| "step": [ |
| { |
| "@type": "HowToStep", |
| "position": 1, |
| "name": "Upload PDF", |
| "text": "Select your scanned PDF with tilted pages" |
| }, |
| { |
| "@type": "HowToStep", |
| "position": 2, |
| "name": "Auto-Detect", |
| "text": "OpenCV analyzes and detects skew angles" |
| }, |
| { |
| "@type": "HowToStep", |
| "position": 3, |
| "name": "Download", |
| "text": "Get your straightened PDF instantly" |
| } |
| ] |
| } |
| </script> |
|
|
| <script type="application/ld+json"> |
| { |
| "@context": "https://schema.org", |
| "@type": "BreadcrumbList", |
| "itemListElement": [ |
| { |
| "@type": "ListItem", |
| "position": 1, |
| "name": "Home", |
| "item": "https://www.bentopdf.com" |
| }, |
| { |
| "@type": "ListItem", |
| "position": 2, |
| "name": "Deskew PDF", |
| "item": "https://www.bentopdf.com/deskew-pdf" |
| } |
| ] |
| } |
| </script> |
| </body> |
| </html> |
|
|