Source
This app’s code and revision history are public. Download a copy or explore the files below.
Public
The app’s code and revision history are public.
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 7716a56ff3432bc0c1e4837c
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>PDF: free Smallpdf alternative with no daily limit and no upload | OpenApps</title>
<meta name="description" content="Free PDF tools that run in your browser: merge, split and compress PDFs, rotate, reorder and delete pages, JPG to PDF, PDF to JPG and page numbers. Files are never uploaded. No daily limit, no watermark, no account. A free alternative to Smallpdf, iLovePDF and Adobe Acrobat.">
<link rel="canonical" href="https://pdf-free.openapps.xyz/">
<meta property="og:type" content="website">
<meta property="og:site_name" content="OpenApps">
<meta property="og:title" content="PDF: free PDF tools that never upload your files">
<meta property="og:description" content="Merge, split, compress, rotate, reorder and delete pages, JPG to PDF, PDF to JPG and page numbers, all in your browser. No upload, no daily limit, no watermark, no account.">
<meta property="og:url" content="https://pdf-free.openapps.xyz/">
<meta property="og:image" content="https://free-apps.openapps.xyz/og/pdf.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="theme-color" content="#fdfdfc">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="alternate" type="text/markdown" href="/index.md">
<link rel="alternate" type="text/plain" title="llms.txt" href="/llms.txt">
<link rel="preload" href="/fonts/NewsreaderVariable-var.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/ArchivoVariable-var.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/kit.css">
<script type="application/ld+json">
{"@context": "https://schema.org", "@type": "SoftwareApplication", "name": "PDF by OpenApps", "alternateName": "PDF", "applicationCategory": "UtilitiesApplication", "applicationSubCategory": "PDF tools", "operatingSystem": "Web, iOS, Android, Windows, macOS, Linux (in the browser)", "url": "https://pdf-free.openapps.xyz/", "image": "https://free-apps.openapps.xyz/og/pdf.png", "description": "Free PDF tools that run in the browser: merge, split, compress, rotate, reorder, delete and extract pages, JPG to PDF, PDF to JPG and page numbers. Files are never uploaded. No daily limit, no watermark, no account. A free alternative to Smallpdf, iLovePDF and Adobe Acrobat.", "featureList": ["Merge PDFs and images into one PDF", "Split a PDF into one file per page or by page ranges, as files or one zip", "Compress a PDF: photos and scans get smaller, text stays sharp", "Rotate, reorder and delete pages, with Undo", "Extract selected pages into a new PDF", "JPG, PNG and other images to PDF on A4, US Letter or at image size", "PDF to JPG or PNG at 150 or 300 dpi", "Add page numbers", "Links that open one job, such as /compress or /split", "Runs in the browser: files are never uploaded"], "offers": {"@type": "Offer", "price": "0", "priceCurrency": "USD"}, "isAccessibleForFree": true, "dateModified": "2026-10-19", "publisher": {"@type": "Organization", "name": "OpenApps", "url": "https://openapps.xyz"}}
</script>
<script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "dateModified": "2026-10-19", "mainEntity": [{"@type": "Question", "name": "Is there a free alternative to Smallpdf?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. PDF does the jobs people use Smallpdf for most: merge, split, compress, rotate, delete and extract pages, JPG to PDF, PDF to JPG and page numbers. It is free with no daily limit, and it works in your browser, so your files are never uploaded."}}, {"@type": "Question", "name": "Are my files uploaded?", "acceptedAnswer": {"@type": "Answer", "text": "No. PDF reads and writes your files inside your browser, on your device. They are never sent to a server, not to OpenApps and not to anyone else."}}, {"@type": "Question", "name": "How do I compress a PDF without uploading it?", "acceptedAnswer": {"@type": "Answer", "text": "Open pdf-free.openapps.xyz/compress, drop the PDF and press Download PDF. Compress is set to Medium, which makes photos and scans smaller and keeps text sharp. Strong makes the file smaller still. PDF shows the new size when it is done."}}, {"@type": "Question", "name": "Is PDF really free?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. There is no paid plan, no daily limit, no watermark and no ads. Your device does the work, so PDF costs almost nothing to run."}}, {"@type": "Question", "name": "Is there a file size limit?", "acceptedAnswer": {"@type": "Answer", "text": "No limit is set by PDF, and there is no limit on the number of files. The only limit is your device's memory: a laptop handles files of hundreds of megabytes, a phone somewhat less."}}, {"@type": "Question", "name": "Can I merge PDFs and photos into one file?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. Drop PDFs and JPG or PNG images together. Each image becomes a page, sized to A4, US Letter or the image itself, and you can put the pages in any order."}}, {"@type": "Question", "name": "Can I turn PDF pages into JPG images?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. Drop the PDF, choose Images, pick JPG or PNG and Standard (150 dpi) or High (300 dpi), then download the images one by one or as one zip. On a phone, Share sends them to your photos or another app."}}, {"@type": "Question", "name": "Does it work on a phone?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, in any modern browser on iPhone or Android. Tap pages to select them and press and hold a page to drag it. Compress, Split and Images are under Options."}}, {"@type": "Question", "name": "What about password-protected PDFs?", "acceptedAnswer": {"@type": "Answer", "text": "PDF cannot change a locked file. Open it in a PDF reader with its password, save or print it as a new PDF, and add that copy."}}, {"@type": "Question", "name": "Is anything lost when I merge or split?", "acceptedAnswer": {"@type": "Answer", "text": "Pages come out exactly as they were: text stays sharp and selectable, and links on the page keep working. Bookmarks and fillable form fields are not carried over to the new file. Compress changes only photos and scans."}}, {"@type": "Question", "name": "Can it edit text, convert to Word or sign?", "acceptedAnswer": {"@type": "Answer", "text": "Not today. PDF does page jobs, compression and images. To get a PDF signed, use Sign, the free e-signature app in OpenApps."}}, {"@type": "Question", "name": "Can my AI assistant use PDF?", "acceptedAnswer": {"@type": "Answer", "text": "PDF has no server API, because your files never reach a server. An assistant can send you a link that opens the right job, such as pdf-free.openapps.xyz/compress or pdf-free.openapps.xyz/split?ranges=1-3,4-9."}}]}
</script>
</head>
<body>
<header class="site-head">
<div class="wrap">
<a class="brand" href="https://free-apps.openapps.xyz/" aria-label="OpenApps free apps">
<img src="/logo.svg" alt="" width="26" height="26">
<span>OpenApps</span>
</a>
<span class="brand-sep" aria-hidden="true">/</span>
<a class="brand brand-app" href="/">PDF</a>
<nav class="site-nav" aria-label="Main">
<a class="nav-optional landing-only" href="/#how">How it works</a>
<a class="nav-optional landing-only" href="/#ai">For AI</a>
<a href="https://free-apps.openapps.xyz/apps">Free apps</a>
</nav>
</div>
</header>
<main>
<section class="app-hero">
<div class="wrap app-hero-grid">
<div class="hero-head landing-only">
<p class="eyebrow">Free alternative to Smallpdf, iLovePDF and Acrobat</p>
<h1 class="display">Free PDF tools that never upload your files.</h1>
</div>
<div id="workspace" class="hero-work">
<div class="drop card">
<img class="art drop-art" src="/art/card-pdf.webp" alt="" width="220" height="196">
<p class="drop-title">Drop PDFs or images here</p>
<noscript><p class="notice">PDF works in your browser and needs JavaScript turned on.</p></noscript>
<span class="btn btn-lg" aria-hidden="true">Choose files</span>
<p class="hint">PDF, JPG or PNG. Your files stay on this device.</p>
</div>
</div>
<div class="hero-body landing-only">
<p class="lede">PDF is a free alternative to Smallpdf that works in your browser. Merge, split and compress PDFs, rotate, reorder and delete pages, turn photos into a PDF or pages into JPG, and add page numbers. Your files stay on your device.</p>
<ul class="hero-points">
<li>No daily limit, no watermark, no ads</li>
<li>No account and nothing to install</li>
<li>Files never leave your device</li>
</ul>
</div>
</div>
</section>
<section class="section landing-only" id="how">
<div class="wrap">
<h2 class="h2">How it works</h2>
<ol class="steps">
<li><h3>Drop your files</h3><p>PDFs, photos or scans, as many as you like. Every page shows up, in order.</p></li>
<li><h3>Change the pages</h3><p>Select, drag, rotate or delete pages. Undo takes back any step.</p></li>
<li><h3>Download</h3><p>One PDF, several PDFs or images, compressed if you like. They are made on your device.</p></li>
</ol>
</div>
</section>
<section class="section-tight landing-only" id="tools">
<div class="wrap">
<h2 class="h2">What it does</h2>
<p class="lede" style="margin-top:14px">Pick a job to open PDF ready for it, or drop your files above and do several at once. What you see is what you download.</p>
<ul class="tools">
<li><a href="/merge"><h3>Merge PDFs</h3><p>Combine PDFs and photos into one file, in any order.</p></a></li>
<li><a href="/split"><h3>Split a PDF</h3><p>One PDF per page, or by ranges like 1-3, 4-9. Each file or one zip.</p></a></li>
<li><a href="/compress"><h3>Compress a PDF</h3><p>Make photos and scans smaller so the file is lighter. Text stays sharp.</p></a></li>
<li><a href="/rotate"><h3>Rotate pages</h3><p>Turn one page, a few or all of them. Sideways scans come out upright.</p></a></li>
<li><a href="/organize"><h3>Reorder pages</h3><p>Drag pages into place, or use the arrows under each page.</p></a></li>
<li><a href="/delete-pages"><h3>Delete pages</h3><p>Remove blank or unwanted pages. Undo if you change your mind.</p></a></li>
<li><a href="/extract-pages"><h3>Extract pages</h3><p>Select the pages you need and save just those as a new PDF.</p></a></li>
<li><a href="/jpg-to-pdf"><h3>JPG to PDF</h3><p>Photos and scans to a PDF, on A4, US Letter or at image size.</p></a></li>
<li><a href="/pdf-to-jpg"><h3>PDF to JPG</h3><p>Every page as a JPG or PNG image, at 150 or 300 dpi.</p></a></li>
<li><a href="/page-numbers"><h3>Page numbers</h3><p>At the top or bottom, centered or in a corner, as 1 or 1 of 12.</p></a></li>
</ul>
</div>
</section>
<section class="section-tight landing-only" id="private">
<div class="wrap private-grid">
<div>
<p class="eyebrow">Private by design</p>
<h2 class="h2" style="margin-top:12px">Your files never leave your device.</h2>
<p class="lede">Most free PDF sites upload your file to their servers, work on it there and send it back. PDF does the work inside your browser instead, with the open-source pdf.js and pdf-lib libraries. There is no server that could keep a copy.</p>
</div>
<ul class="private-list">
<li><strong>Nothing to trust</strong><span>Contracts, tax forms, medical letters and IDs stay on your phone or computer. Nobody, including OpenApps, can see them.</span></li>
<li><strong>Check it yourself</strong><span>Open your browser's network panel while you work: no file is sent anywhere. The source code is public too.</span></li>
<li><strong>No waiting for uploads</strong><span>Nothing travels over the internet, so a large file opens as soon as your device has read it.</span></li>
</ul>
</div>
</section>
<section class="section-tight landing-only">
<div class="wrap">
<h2 class="h2">Free, with no catch</h2>
<p class="lede" style="margin-top:14px">PDF costs almost nothing to run, because your device does the work. So there is no daily limit, no watermark and no paid plan.</p>
<div class="table-wrap" style="margin-top:24px">
<table class="table compare">
<thead><tr><th scope="col"></th><th scope="col">PDF</th><th scope="col">Smallpdf free plan</th><th scope="col">iLovePDF free plan</th></tr></thead>
<tbody>
<tr><td>Price</td><td class="yes">Free, no paid plan</td><td>Free; Pro is paid</td><td>Free; Premium $5 a month billed yearly, or $9 monthly</td></tr>
<tr><td>Limits</td><td class="yes">None</td><td class="no">A daily download limit on merge, split, compress, rotate and most tools</td><td class="no">Merge up to 25 files and 100 MB per task; ads</td></tr>
<tr><td>Your files uploaded to a server</td><td class="yes">No, never</td><td class="no">Yes</td><td class="no">Yes</td></tr>
<tr><td>Compress</td><td class="yes">Medium and Strong, free</td><td>Basic; Strong needs Pro</td><td>Yes</td></tr>
<tr><td>Merge, split, rotate, delete, extract</td><td class="yes">Yes</td><td>Yes</td><td>Yes</td></tr>
<tr><td>JPG to PDF, PDF to JPG, page numbers</td><td class="yes">Yes</td><td>Yes</td><td>Yes</td></tr>
<tr><td>Edit text, OCR, Word conversion</td><td class="no">No</td><td>Yes; edit text and OCR need Pro</td><td>Yes</td></tr>
</tbody>
</table>
</div>
<p class="hint" style="margin-top:12px">Checked October 2026 on <a href="https://smallpdf.com/pricing">smallpdf.com/pricing</a> and <a href="https://www.ilovepdf.com/pricing">ilovepdf.com/pricing</a>. Adobe Acrobat Standard costs $14.99 a month on a yearly plan, or $24.99 month to month (<a href="https://www.adobe.com/acrobat/pricing.html">adobe.com</a>). Prices change, so check their sites. For signatures, use <a href="https://sign-free.openapps.xyz/">Sign</a>, also free.</p>
</div>
</section>
<section class="section-tight landing-only" id="ai">
<div class="wrap ai-note">
<div>
<p class="eyebrow">For AI assistants</p>
<h2 class="h2" style="margin-top:12px">Send people a link to the job.</h2>
</div>
<div>
<p class="lede">PDF has no server API, on purpose: files never reach a server. Send the person a link that opens the job they asked for. They drop the file, check the pages and download the result.</p>
<pre class="code">https://pdf-free.openapps.xyz/merge
https://pdf-free.openapps.xyz/split?ranges=1-3,4-9
https://pdf-free.openapps.xyz/compress
https://pdf-free.openapps.xyz/pdf-to-jpg</pre>
<p style="margin-top:14px">Every job link and notes for assistants: <a href="/llms.txt">/llms.txt</a>. This page as plain markdown: <a href="/index.md">/index.md</a>.</p>
</div>
</div>
</section>
<section class="section-tight landing-only">
<div class="wrap">
<h2 class="h2">Questions</h2>
<div class="faq" style="margin-top:22px">
<details><summary>Is there a free alternative to Smallpdf?</summary><div>Yes. PDF does the jobs people use Smallpdf for most: merge, split, compress, rotate, delete and extract pages, JPG to PDF, PDF to JPG and page numbers. It is free with no daily limit, and it works in your browser, so your files are never uploaded.</div></details>
<details><summary>Are my files uploaded?</summary><div>No. PDF reads and writes your files inside your browser, on your device. They are never sent to a server, not to OpenApps and not to anyone else.</div></details>
<details><summary>How do I compress a PDF without uploading it?</summary><div>Open <a href="/compress">pdf-free.openapps.xyz/compress</a>, drop the PDF and press Download PDF. Compress is set to Medium, which makes photos and scans smaller and keeps text sharp. Strong makes the file smaller still. PDF shows the new size when it is done.</div></details>
<details><summary>Is PDF really free?</summary><div>Yes. There is no paid plan, no daily limit, no watermark and no ads. Your device does the work, so PDF costs almost nothing to run.</div></details>
<details><summary>Is there a file size limit?</summary><div>No limit is set by PDF, and there is no limit on the number of files. The only limit is your device's memory: a laptop handles files of hundreds of megabytes, a phone somewhat less.</div></details>
<details><summary>Can I merge PDFs and photos into one file?</summary><div>Yes. Drop PDFs and JPG or PNG images together. Each image becomes a page, sized to A4, US Letter or the image itself, and you can put the pages in any order.</div></details>
<details><summary>Can I turn PDF pages into JPG images?</summary><div>Yes. Drop the PDF, choose Images, pick JPG or PNG and Standard (150 dpi) or High (300 dpi), then download the images one by one or as one zip. On a phone, Share sends them to your photos or another app.</div></details>
<details><summary>Does it work on a phone?</summary><div>Yes, in any modern browser on iPhone or Android. Tap pages to select them and press and hold a page to drag it. Compress, Split and Images are under Options.</div></details>
<details><summary>What about password-protected PDFs?</summary><div>PDF cannot change a locked file. Open it in a PDF reader with its password, save or print it as a new PDF, and add that copy.</div></details>
<details><summary>Is anything lost when I merge or split?</summary><div>Pages come out exactly as they were: text stays sharp and selectable, and links on the page keep working. Bookmarks and fillable form fields are not carried over to the new file. Compress changes only photos and scans.</div></details>
<details><summary>Can it edit text, convert to Word or sign?</summary><div>Not today. PDF does page jobs, compression and images. To get a PDF signed, use <a href="https://sign-free.openapps.xyz/">Sign</a>, the free e-signature app in OpenApps.</div></details>
<details><summary>Can my AI assistant use PDF?</summary><div>PDF has no server API, because your files never reach a server. An assistant can send you a link that opens the right job, such as <a href="/compress">pdf-free.openapps.xyz/compress</a> or <a href="/split?ranges=1-3,4-9">pdf-free.openapps.xyz/split?ranges=1-3,4-9</a>. See <a href="/llms.txt">llms.txt</a>.</div></details>
</div>
</div>
</section>
<section class="section-tight landing-only">
<div class="wrap">
<h2 class="h2">More free apps</h2>
<ul class="more-apps">
<li><a href="https://sign-free.openapps.xyz/"><strong>Sign</strong><span>Free e-signatures, instead of DocuSign</span></a></li>
<li><a href="https://images-free.openapps.xyz/"><strong>Images</strong><span>Compress and convert images, instead of TinyPNG</span></a></li>
<li><a href="https://invoice-free.openapps.xyz/"><strong>Invoice</strong><span>PDF invoices, instead of FreshBooks</span></a></li>
<li><a href="https://free-apps.openapps.xyz/apps"><strong>All apps</strong><span>The app store of free alternatives</span></a></li>
</ul>
</div>
</section>
</main>
<footer class="site-foot landing-only">
<div class="wrap">
<!-- network:start -->
<nav class="oa-network" aria-label="Free apps from OpenApps">
<p class="oa-network-title"><a href="https://free-apps.openapps.xyz/">Free apps from OpenApps</a><span>Free alternatives to the apps you pay for, built for people and their AI assistants.</span></p>
<ul>
<li><a href="https://sign-free.openapps.xyz/">Sign</a><span>instead of DocuSign</span></li>
<li><a href="https://forms-free.openapps.xyz/">Forms</a><span>instead of Typeform</span></li>
<li><a href="https://split-free.openapps.xyz/">Split</a><span>instead of Splitwise</span></li>
<li><a href="https://links-free.openapps.xyz/">Links</a><span>instead of Bitly</span></li>
<li><a href="https://when-free.openapps.xyz/">When</a><span>instead of Doodle</span></li>
<li><a href="https://pdf-free.openapps.xyz/" aria-current="page">PDF</a><span>instead of Smallpdf</span></li>
<li><a href="https://invoice-free.openapps.xyz/">Invoice</a><span>instead of FreshBooks</span></li>
<li><a href="https://bio-free.openapps.xyz/">Bio</a><span>instead of Linktree</span></li>
<li><a href="https://book-free.openapps.xyz/">Book</a><span>instead of Calendly</span></li>
<li><a href="https://dictate-free.openapps.xyz/">Dictate</a><span>instead of Wispr Flow</span></li>
<li><a href="https://images-free.openapps.xyz/">Images</a><span>instead of TinyPNG</span></li>
</ul>
<p class="oa-network-more"><a href="https://free-apps.openapps.xyz/apps">All free apps</a> · <a href="https://free-apps.openapps.xyz/alternatives">Free alternatives A to Z</a> · <a href="https://free-apps.openapps.xyz/for-ai">Add every app to your AI assistant</a></p>
</nav>
<!-- network:end -->
<div class="foot-note" style="margin-top:0;border-top:0;padding-top:0">
<span>PDF is an <a href="https://openapps.xyz">OpenApp</a>: free, with public <a href="/__bounded/source">source</a> and its own agent.</span>
<span><a href="https://free-apps.openapps.xyz/">OpenApps free apps</a> · <a href="/llms.txt">llms.txt</a></span>
</div>
</div>
</footer>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
Change history
Quality pass: compress, PDF to JPG, phone layout, job links, llms.txt and index.md
Bounded source sync
Bounded source sync
Bounded source sync
Bounded source sync