Files
bentopdf/src/pages/form-filler.html
T
2026-09-04 16:26:08 +05:30

530 lines
19 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Primary Meta Tags -->
<meta
name="title"
content="Form Filler Online Free - Form Filler Tool | BentoPDF"
/>
<meta
name="description"
content="Form Filler online. Free, no uploads, no signup. Runs entirely in your browser."
/>
<meta name="keywords" content="form filler, online pdf" />
<meta name="author" content="BentoPDF" />
<meta
name="robots"
content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"
/>
<!-- Canonical URL -->
<link rel="canonical" href="https://www.bentopdf.com/form-filler" />
<!-- Open Graph / Facebook / LinkedIn -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.bentopdf.com/form-filler" />
<meta
property="og:title"
content="Form Filler Online Free - Form Filler Tool | BentoPDF"
/>
<meta
property="og:description"
content="Form Filler online. Free, no uploads, no signup. Runs entirely in your browser."
/>
<meta
property="og:image"
content="https://www.bentopdf.com/images/og-form-filler.png"
/>
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:site_name" content="BentoPDF" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:url" content="https://www.bentopdf.com/form-filler" />
<meta name="twitter:title" content="Form Filler Free" />
<meta
name="twitter:description"
content="Form Filler online. Free, no uploads, no signup. Runs entirely in your browser."
/>
<meta
name="twitter:image"
content="https://www.bentopdf.com/images/twitter-form-filler.png"
/>
<meta name="twitter:site" content="@BentoPDF" />
<!-- Mobile Web App -->
<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="Form Filler" />
<title>PDF Form Filler - BentoPDF</title>
<link href="/src/css/styles.css" rel="stylesheet" />
<!-- Web App Manifest -->
<link rel="manifest" href="/site.webmanifest" />
<!-- Favicons -->
<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-300 hover:text-indigo-400 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:pdfFormFiller.name"
>
PDF Form Filler
</h1>
<p
class="text-gray-400 mb-4"
data-i18n="tools:pdfFormFiller.uploadHint"
>
Upload a PDF with form fields. Fill them directly in the viewer below,
then click the button to save and download the filled form. Also
supports XFA forms.
</p>
<div
class="mb-6 p-3 bg-blue-900/20 border border-blue-700/50 rounded-lg"
>
<p class="text-sm text-blue-300">
<strong data-i18n="tools:pdfFormFiller.xfaNoteTitle"
>Note on XFA Forms:</strong
>
<span data-i18n="tools:pdfFormFiller.xfaNoteDescription"
>XFA (XML Forms Architecture) is a legacy format that's only
supported by certain PDF viewers like BentoPDF and Firefox. If you
open an XFA PDF in other software and see blank pages or no form
fields, it means that viewer doesn't support XFA. To view and fill
XFA forms properly, use Firefox or BentoPDF's Form Filler.</span
>
</p>
</div>
<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 class="ph ph-upload-simple text-4xl 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 a file</span
>
<span data-i18n="upload.orDragAndDrop">or drag and drop</span>
</p>
<p
class="text-xs text-gray-500"
data-i18n="upload.hints.pdfWithForms"
>
PDF file with form fields
</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"
/>
</div>
<div id="file-display-area" class="mt-4 space-y-2"></div>
<div id="form-filler-options" class="hidden mt-6">
<div
id="pdf-viewer-container"
class="relative w-full overflow-auto bg-gray-900 rounded-lg border border-gray-600 min-h-[600px]"
>
<!-- PDF.js viewer iframe will be loaded here -->
</div>
<button id="process-btn" class="btn-gradient w-full mt-4">
Save & Download Filled Form
</button>
</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"
data-i18n="loader.processing"
data-i18n="loader.processing"
>
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"
data-i18n="alert.title"
data-i18n="alert.title"
>
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>
<!-- How It Works Section -->
<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 File</h3>
<p class="text-gray-400" data-i18n="howItWorks.step1">
Click or drag and drop your file to begin
</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">Process</h3>
<p class="text-gray-400" data-i18n="howItWorks.step2">
Click the process button to start
</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" data-i18n="howItWorks.step3">
Save your processed file instantly
</p>
</div>
</div>
</div>
</section>
<!-- Related Tools 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="merge-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">Merge PDF</h3>
<p class="text-gray-400 text-sm">Free online merge PDF tool</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">Free online compress PDF tool</p>
</a>
<a
href="split-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">Split PDF</h3>
<p class="text-gray-400 text-sm">Free online split PDF tool</p>
</a>
<a
href="edit-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">Edit PDF</h3>
<p class="text-gray-400 text-sm">Free online edit PDF tool</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">Free online rotate PDF tool</p>
</a>
</div>
</section>
<!-- FAQ 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="faq-list">
<details class="faq-d">
<summary class="faq-d-q">
How do I fill out a PDF form that won't let me type in it?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
Upload the PDF and it opens in an embedded viewer that turns the
form fields into live inputs, so you can type into text boxes, tick
checkboxes, and pick from dropdowns and radio buttons. If nothing
becomes editable, the document has no real form fields; add some
with
<a
href="/form-creator"
class="text-indigo-300 hover:text-indigo-400"
>Create PDF Form</a
>
first.
</p>
</details>
<details class="faq-d">
<summary class="faq-d-q">
What is an XFA form and can I fill one here?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
XFA is an older XML-based form format that Chrome and most online
tools can't render, which is why those forms show up as blank pages
elsewhere. This form filler and Firefox both support XFA, so you can
fill and save those forms here.
</p>
</details>
<details class="faq-d">
<summary class="faq-d-q">
How do I save the filled form?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
Click Save &amp; Download Filled Form and the viewer writes your
entries into the PDF's form fields and downloads the file. The
values are stored in the fields themselves, so they show up in other
PDF viewers, not just this one.
</p>
</details>
<details class="faq-d">
<summary class="faq-d-q">
Can I sign the form after filling it in?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
This tool fills fields only. Download the filled PDF, then open it
in
<a href="/sign-pdf" class="text-indigo-300 hover:text-indigo-400"
>Sign PDF</a
>
to add your signature where the form expects one.
</p>
</details>
<details class="faq-d">
<summary class="faq-d-q">
Can someone else edit my answers after I send the filled form?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
The fields stay editable in the downloaded file, so a recipient
could change them. To lock the answers in place, run the filled PDF
through
<a href="/flatten-pdf" class="text-indigo-300 hover:text-indigo-400"
>Flatten PDF</a
>, which turns the fields into fixed page content.
</p>
</details>
<details class="faq-d">
<summary class="faq-d-q">
Can I save a partially completed form and finish it later?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
Download the form with whatever you've filled in so far; the values
are kept in the fields. Upload that same file again later and the
viewer shows your earlier entries ready to continue.
</p>
</details>
<details class="faq-d">
<summary class="faq-d-q">
Does the form filler work with password-protected forms?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
If the PDF requires a password to open, the tool prompts for it
before loading the form. The downloaded copy is saved without that
password, so protect it again with
<a href="/protect-pdf" class="text-indigo-300 hover:text-indigo-400"
>Protect PDF</a
>
if the form needs to stay locked.
</p>
</details>
<details class="faq-d">
<summary class="faq-d-q">
Is the information I type into the form sent anywhere?
<i data-lucide="plus" class="faq-d-icon"></i>
</summary>
<p class="faq-d-a">
No. The form is rendered by a PDF.js viewer embedded in the page,
your entries are held in that viewer's memory, and the completed PDF
is written and downloaded on your device. Nothing you type is
transmitted, which is the point when the form holds tax, medical, or
ID details.
</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/js/logic/form-filler-page.ts"></script>
<script type="module" src="/src/js/mobileMenu.ts"></script>
<script type="module" src="/src/js/main.ts"></script>
<!-- JSON-LD Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Form Filler - BentoPDF",
"applicationCategory": "PDF Tool",
"operatingSystem": "Any - Web Browser",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to form filler online",
"description": "Learn how to form filler using BentoPDF",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Upload File",
"text": "Click or drag and drop your file"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Process",
"text": "Click the process button"
},
{
"@type": "HowToStep",
"position": 3,
"name": "Download",
"text": "Download your processed file"
}
]
}
</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": "Form Filler",
"item": "https://www.bentopdf.com/form-filler"
}
]
}
</script>
</body>
</html>