<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Merge PDF Online Free – Combine PDF Files Instantly | UtilityDesk.in</title>
  <meta name="description" content="Merge PDF files online for free. Combine multiple PDF documents into one PDF instantly. No signup required.">
  <meta name="keywords" content="merge pdf, combine pdf, pdf merger, merge pdf online, free pdf merge, join pdf files, combine pdf documents">
  <meta name="author" content="UtilityDesk.in">
  <meta name="robots" content="index, follow">
  <link rel="canonical" href="https://utilitydesk.in/pdf-tools/merge-pdf/">
  <meta property="og:title" content="Merge PDF Online Free – Combine PDF Files Instantly">
  <meta property="og:description" content="Merge PDF files online for free. Combine multiple PDF documents into one PDF instantly. No signup required.">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://utilitydesk.in/pdf-tools/merge-pdf/">
  <meta property="og:site_name" content="UtilityDesk.in">
  <meta name="twitter:card" content="summary_large_image">
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
  <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='6' fill='%231a1f2e'/><text x='16' y='22' font-size='18' text-anchor='middle' fill='%23f0a830'>U</text></svg>">

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "name": "Merge PDF",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "INR"
    },
    "description": "Free online PDF merger. Combine multiple PDF files into one document instantly. No signup required."
  }
  </script>

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://utilitydesk.in/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "PDF Tools",
        "item": "https://utilitydesk.in/pdf-tools/"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Merge PDF",
        "item": "https://utilitydesk.in/pdf-tools/merge-pdf/"
      }
    ]
  }
  </script>

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "How to merge PDF files?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "To merge PDF files: 1) Upload your PDF files using the drag-and-drop area or file selector, 2) Rearrange the files in your preferred order by dragging them, 3) Click the 'Merge PDFs' button, 4) Download the combined PDF file. The entire process is instant and happens in your browser."
        }
      },
      {
        "@type": "Question",
        "name": "Is PDF merging free?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes, UtilityDesk's PDF merger is completely free to use. There are no hidden charges, no watermarks added to your files, and no limits on the number of times you can merge PDFs. You can combine as many PDF files as you need without any cost."
        }
      },
      {
        "@type": "Question",
        "name": "Are uploaded files secure?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes, your files are completely secure. All PDF processing happens directly in your browser using client-side technology. Your files never leave your device, ensuring complete privacy and security. Files are automatically cleared from your browser after you close the page."
        }
      },
      {
        "@type": "Question",
        "name": "Can I merge password protected PDFs?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Currently, password-protected PDFs cannot be merged directly. You'll need to remove the password protection first using a PDF unlock tool, then merge the unprotected files. We're working on adding password-protected PDF support in future updates."
        }
      },
      {
        "@type": "Question",
        "name": "Is there a file size limit?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "There is no strict file size limit for merging PDFs. However, very large files (over 100MB each) may take longer to process depending on your device's capabilities. For optimal performance, we recommend keeping individual files under 50MB when merging multiple documents."
        }
      },
      {
        "@type": "Question",
        "name": "Can I merge PDFs on mobile?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes, the PDF merger works perfectly on mobile devices including smartphones and tablets. The interface is fully responsive and optimized for touch interactions. You can upload, rearrange, and merge PDF files directly from your mobile browser."
        }
      },
      {
        "@type": "Question",
        "name": "Does merging affect quality?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No, merging PDFs does not affect the quality of your documents. The merge process simply combines the existing PDF files without re-encoding or compressing them. All text, images, and formatting remain exactly as they were in the original files."
        }
      },
      {
        "@type": "Question",
        "name": "How many files can I merge?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "You can merge as many PDF files as you need. There is no limit on the number of files you can combine in a single merge operation. Whether you need to merge 2 files or 50 files, our tool handles it efficiently."
        }
      },
      {
        "@type": "Question",
        "name": "Can I rearrange pages?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "The merge tool allows you to rearrange the order of PDF files before merging. However, it doesn't allow rearranging individual pages within a PDF. If you need to reorder pages within a single PDF, you'll need to use a PDF page reorganizer tool first."
        }
      },
      {
        "@type": "Question",
        "name": "Can I print merged PDFs?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes, once you've merged your PDF files and downloaded the combined document, you can print it like any other PDF file. The merged PDF maintains all print settings and formatting from the original files."
        }
      }
    ]
  }
  </script>

  <script src="https://unpkg.com/pdf-lib@1.17.1/dist/pdf-lib.min.js"></script>

  <style>
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --slate-950: #0f1219;
      --slate-900: #1a1f2e;
      --slate-800: #252b3d;
      --slate-700: #353d54;
      --slate-600: #4a5270;
      --slate-400: #8891a8;
      --slate-300: #b0b7c8;
      --slate-200: #d1d5e0;
      --slate-100: #ebedf3;
      --slate-50: #f5f6f9;
      --white: #ffffff;
      --amber-500: #f0a830;
      --amber-400: #f5bc54;
      --amber-600: #d4901a;
      --amber-100: #fef3d6;
      --emerald-500: #34b876;
      --emerald-100: #d6f5e6;
      --blue-500: #4a7cf7;
      --blue-100: #dbe6fe;
      --rose-500: #e85d6f;
      --rose-100: #fde2e6;
      --purple-500: #8b5cf6;
      --purple-600: #7c3aed;
      --purple-100: #ede9fe;
      --font-display: 'Instrument Serif', Georgia, serif;
      --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
      --nav-h: 72px;
      --max-w: 1200px;
      --radius: 12px;
      --radius-sm: 8px;
      --shadow-sm: 0 1px 3px rgba(15,18,25,.06), 0 1px 2px rgba(15,18,25,.04);
      --shadow-md: 0 4px 16px rgba(15,18,25,.08), 0 2px 4px rgba(15,18,25,.04);
      --shadow-lg: 0 12px 40px rgba(15,18,25,.12), 0 4px 12px rgba(15,18,25,.06);
      --transition: .25s cubic-bezier(.4,0,.2,1);
    }

    html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
    body { font-family: var(--font-body); color: var(--slate-900); background: var(--slate-50); line-height: 1.6; overflow-x: hidden; }
    a { text-decoration: none; color: inherit; }
    img { max-width: 100%; display: block; }
    button { font-family: inherit; cursor: pointer; border: none; background: none; }

    /* NAV */
    .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: var(--nav-h); background: rgba(255,255,255,.92); backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4); border-bottom: 1px solid var(--slate-100); transition: box-shadow var(--transition); }
    .nav.scrolled { box-shadow: var(--shadow-sm); }
    .nav-inner { max-width: var(--max-w); margin: 0 auto; height: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; }
    .nav-logo { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 1.5rem; color: var(--slate-900); }
    .nav-logo-icon { width: 36px; height: 36px; background: var(--slate-900); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--amber-500); font-family: var(--font-display); font-size: 1.25rem; }
    .nav-links { display: flex; align-items: center; gap: 4px; list-style: none; }
    .nav-links a { padding: 8px 14px; border-radius: 8px; font-size: .875rem; font-weight: 500; color: var(--slate-600); transition: all var(--transition); }
    .nav-links a:hover, .nav-links a.active { color: var(--slate-900); background: var(--slate-100); }
    .nav-cta { padding: 9px 20px; border-radius: 8px; font-size: .875rem; font-weight: 600; background: var(--slate-900); color: var(--white); transition: all var(--transition); }
    .nav-cta:hover { background: var(--slate-800); transform: translateY(-1px); box-shadow: var(--shadow-md); }
    .hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
    .hamburger span { display: block; width: 22px; height: 2px; background: var(--slate-900); border-radius: 2px; transition: all .3s; }
    .mobile-menu { display: none; position: fixed; top: var(--nav-h); left: 0; right: 0; bottom: 0; background: var(--white); z-index: 99; padding: 24px; flex-direction: column; gap: 4px; overflow-y: auto; }
    .mobile-menu.open { display: flex; }
    .mobile-menu a { padding: 14px 16px; border-radius: 10px; font-size: 1.05rem; font-weight: 500; color: var(--slate-700); transition: all var(--transition); }
    .mobile-menu a:hover { background: var(--slate-50); color: var(--slate-900); }

    /* PAGE HEADER */
    .page-header { padding: calc(var(--nav-h) + 48px) 24px 48px; text-align: center; background: linear-gradient(175deg, var(--white) 0%, var(--slate-50) 100%); border-bottom: 1px solid var(--slate-100); }
    .breadcrumb { display: flex; justify-content: center; gap: 8px; margin-bottom: 20px; font-size: .85rem; color: var(--slate-400); }
    .breadcrumb a { color: var(--slate-600); transition: color var(--transition); }
    .breadcrumb a:hover { color: var(--amber-600); }
    .breadcrumb span { color: var(--slate-400); }
    .page-header h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(2rem, 4vw, 2.8rem); color: var(--slate-950); margin-bottom: 12px; line-height: 1.2; }
    .page-header p { font-size: 1.05rem; color: var(--slate-600); max-width: 600px; margin: 0 auto; }
    .last-updated { font-size: .85rem; color: var(--slate-400); margin-top: 12px; }

    /* TOOL SECTION */
    .tool-section { padding: 64px 24px; }
    .tool-container { max-width: 900px; margin: 0 auto; }
    
    .upload-area { background: var(--white); border-radius: 16px; padding: 48px; box-shadow: var(--shadow-md); border: 1px solid var(--slate-100); margin-bottom: 32px; }
    
    .drop-zone { border: 3px dashed var(--slate-200); border-radius: 12px; padding: 64px 32px; text-align: center; transition: all var(--transition); cursor: pointer; background: var(--slate-50); }
    .drop-zone:hover, .drop-zone.dragover { border-color: var(--amber-500); background: var(--amber-100); }
    .drop-zone-icon { width: 64px; height: 64px; margin: 0 auto 24px; color: var(--slate-400); }
    .drop-zone h3 { font-size: 1.25rem; font-weight: 700; color: var(--slate-900); margin-bottom: 8px; }
    .drop-zone p { font-size: .95rem; color: var(--slate-600); margin-bottom: 16px; }
    .drop-zone-btn { display: inline-block; padding: 12px 32px; background: var(--slate-900); color: var(--white); border-radius: 10px; font-weight: 600; transition: all var(--transition); }
    .drop-zone-btn:hover { background: var(--slate-800); transform: translateY(-2px); box-shadow: var(--shadow-md); }
    
    .file-input { display: none; }
    
    .file-list { margin-top: 32px; }
    .file-list-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
    .file-list-header h3 { font-size: 1.1rem; font-weight: 700; color: var(--slate-900); }
    .file-count { font-size: .9rem; color: var(--slate-600); }
    
    .file-item { display: flex; align-items: center; gap: 16px; padding: 16px; background: var(--slate-50); border: 1px solid var(--slate-100); border-radius: 10px; margin-bottom: 12px; transition: all var(--transition); cursor: move; }
    .file-item:hover { background: var(--white); box-shadow: var(--shadow-sm); }
    .file-item.dragging { opacity: 0.5; }
    .file-icon { width: 40px; height: 40px; background: var(--rose-100); color: var(--rose-500); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .file-info { flex: 1; min-width: 0; }
    .file-name { font-size: .95rem; font-weight: 600; color: var(--slate-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .file-size { font-size: .85rem; color: var(--slate-400); margin-top: 2px; }
    .file-actions { display: flex; gap: 8px; }
    .file-btn { width: 32px; height: 32px; border-radius: 6px; background: var(--white); border: 1px solid var(--slate-200); display: flex; align-items: center; justify-content: center; transition: all var(--transition); color: var(--slate-600); }
    .file-btn:hover { background: var(--slate-100); color: var(--slate-900); }
    .file-btn.remove:hover { background: var(--rose-100); color: var(--rose-500); border-color: var(--rose-500); }
    
    .action-buttons { display: flex; gap: 12px; margin-top: 32px; flex-wrap: wrap; }
    .btn { padding: 14px 32px; border-radius: 10px; font-size: 1rem; font-weight: 600; transition: all var(--transition); }
    .btn-primary { background: var(--slate-900); color: var(--white); }
    .btn-primary:hover:not(:disabled) { background: var(--slate-800); transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
    .btn-success { background: var(--emerald-500); color: var(--white); }
    .btn-success:hover:not(:disabled) { background: #2ea36a; transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .btn-success:disabled { opacity: 0.5; cursor: not-allowed; }
    .btn-secondary { background: var(--slate-100); color: var(--slate-700); }
    .btn-secondary:hover { background: var(--slate-200); }
    
    .security-notice { background: var(--emerald-100); border: 1px solid var(--emerald-500); border-radius: 12px; padding: 24px; margin-top: 32px; }
    .security-notice h4 { display: flex; align-items: center; gap: 8px; font-size: 1rem; font-weight: 700; color: var(--emerald-500); margin-bottom: 12px; }
    .security-notice ul { list-style: none; }
    .security-notice li { font-size: .9rem; color: var(--slate-700); padding: 4px 0; padding-left: 20px; position: relative; }
    .security-notice li:before { content: "✓"; position: absolute; left: 0; color: var(--emerald-500); font-weight: 700; }
    
    .progress-bar { display: none; margin-top: 24px; }
    .progress-bar.active { display: block; }
    .progress-track { height: 8px; background: var(--slate-100); border-radius: 4px; overflow: hidden; }
    .progress-fill { height: 100%; background: var(--emerald-500); border-radius: 4px; transition: width 0.3s ease; width: 0%; }
    .progress-text { font-size: .9rem; color: var(--slate-600); margin-top: 8px; text-align: center; }

    /* ADSENSE */
    .adsense-placeholder { max-width: 900px; margin: 0 auto 48px; padding: 24px; background: var(--slate-100); border: 2px dashed var(--slate-200); border-radius: 12px; text-align: center; color: var(--slate-400); font-size: .9rem; }

    /* CONTENT */
    .content-section { padding: 64px 24px; background: var(--white); }
    .content-container { max-width: 800px; margin: 0 auto; }
    .content-section h2 { font-family: var(--font-display); font-weight: 400; font-size: 1.75rem; color: var(--slate-950); margin-bottom: 16px; }
    .content-section h3 { font-size: 1.25rem; font-weight: 700; color: var(--slate-900); margin: 32px 0 12px; }
    .content-section p { font-size: 1rem; color: var(--slate-600); line-height: 1.8; margin-bottom: 16px; }
    .content-section ul { margin: 16px 0; padding-left: 24px; }
    .content-section li { font-size: 1rem; color: var(--slate-600); line-height: 1.8; margin-bottom: 8px; }

    /* FAQ */
    .faq-section { padding: 64px 24px; }
    .faq-container { max-width: 800px; margin: 0 auto; }
    .faq-header { text-align: center; margin-bottom: 48px; }
    .faq-header h2 { font-family: var(--font-display); font-weight: 400; font-size: 2rem; color: var(--slate-950); margin-bottom: 12px; }
    .faq-header p { font-size: 1rem; color: var(--slate-600); }
    .faq-item { background: var(--white); border-radius: 12px; margin-bottom: 12px; border: 1px solid var(--slate-100); overflow: hidden; transition: all var(--transition); }
    .faq-item:hover { box-shadow: var(--shadow-sm); }
    .faq-question { padding: 20px 24px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: 1rem; font-weight: 600; color: var(--slate-900); transition: all var(--transition); }
    .faq-question:hover { color: var(--amber-600); }
    .faq-icon { width: 24px; height: 24px; border-radius: 6px; background: var(--slate-100); display: flex; align-items: center; justify-content: center; transition: all var(--transition); flex-shrink: 0; margin-left: 16px; }
    .faq-item.active .faq-icon { background: var(--amber-500); color: var(--white); transform: rotate(180deg); }
    .faq-answer { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
    .faq-answer-inner { padding: 0 24px 20px; font-size: .95rem; color: var(--slate-600); line-height: 1.7; }

    /* RELATED TOOLS */
    .related-section { padding: 64px 24px; background: var(--slate-50); }
    .related-container { max-width: var(--max-w); margin: 0 auto; }
    .related-header { text-align: center; margin-bottom: 48px; }
    .related-header h2 { font-family: var(--font-display); font-weight: 400; font-size: 2rem; color: var(--slate-950); margin-bottom: 12px; }
    .related-header p { font-size: 1rem; color: var(--slate-600); }
    .related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
    .related-card { padding: 28px; background: var(--white); border-radius: 12px; border: 1px solid var(--slate-100); transition: all var(--transition); }
    .related-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: transparent; }
    .related-card-tag { display: inline-block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 4px 10px; border-radius: 6px; margin-bottom: 12px; }
    .related-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--slate-900); margin-bottom: 8px; }
    .related-card p { font-size: .85rem; color: var(--slate-600); line-height: 1.6; }

    /* FOOTER */
    .footer { background: var(--slate-950); color: var(--slate-400); padding: 64px 24px 32px; }
    .footer-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; }
    .footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; font-family: var(--font-display); font-size: 1.35rem; color: var(--white); }
    .footer-logo-icon { width: 32px; height: 32px; background: var(--slate-800); border-radius: 7px; display: flex; align-items: center; justify-content: center; color: var(--amber-500); font-family: var(--font-display); font-size: 1.1rem; }
    .footer-brand p { font-size: .85rem; line-height: 1.7; max-width: 260px; }
    .footer-col h4 { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--slate-300); margin-bottom: 18px; }
    .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .footer-col a { font-size: .86rem; transition: color var(--transition); }
    .footer-col a:hover { color: var(--amber-500); }
    .footer-bottom { max-width: var(--max-w); margin: 48px auto 0; padding-top: 24px; border-top: 1px solid var(--slate-800); display: flex; justify-content: space-between; align-items: center; font-size: .8rem; }
    .footer-social { display: flex; gap: 12px; }
    .footer-social a { width: 36px; height: 36px; border-radius: 8px; background: var(--slate-800); display: flex; align-items: center; justify-content: center; transition: all var(--transition); }
    .footer-social a:hover { background: var(--amber-500); color: var(--slate-950); }

    /* RESPONSIVE */
    @media (max-width: 768px) {
      .nav-links, .nav-cta { display: none; }
      .hamburger { display: flex; }
      .upload-area { padding: 32px 24px; }
      .drop-zone { padding: 48px 24px; }
      .related-grid { grid-template-columns: 1fr 1fr; }
      .footer-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
      .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
    }
    @media (max-width: 480px) {
      .page-header h1 { font-size: 1.75rem; }
      .related-grid { grid-template-columns: 1fr; }
      .footer-inner { grid-template-columns: 1fr; }
      .file-item { flex-direction: column; align-items: flex-start; }
      .file-actions { width: 100%; justify-content: flex-end; }
    }
  </style>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-9104MGBHMF"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'G-9104MGBHMF');
</script>

</head>
<body>
  <nav class="nav" id="nav" role="navigation" aria-label="Main navigation">
    <div class="nav-inner">
      <a href="/" class="nav-logo" aria-label="UtilityDesk.in Home">
        <span class="nav-logo-icon">U</span>
        UtilityDesk<span style="color:var(--amber-500)">.</span>in
      </a>
      <ul class="nav-links">
        <li><a href="/">Home</a></li>
        <li><a href="/calculators/">Calculators</a></li>
        <li><a href="/pdf-tools/" class="active">PDF Tools</a></li>
        <li><a href="/document-generators/">Document Generators</a></li>
        <li><a href="/blog/">Blog</a></li>
        <li><a href="/about/">About</a></li>
        <li><a href="/contact/">Contact</a></li>
      </ul>
      <a href="/calculators/" class="nav-cta">Browse Tools</a>
      <button class="hamburger" id="hamburger" aria-label="Toggle menu" aria-expanded="false">
        <span></span><span></span><span></span>
      </button>
    </div>
  </nav>
  <div class="mobile-menu" id="mobileMenu" role="navigation" aria-label="Mobile navigation">
    <a href="/">Home</a>
    <a href="/calculators/">Calculators</a>
    <a href="/pdf-tools/">PDF Tools</a>
    <a href="/document-generators/">Document Generators</a>
    <a href="/blog/">Blog</a>
    <a href="/about/">About</a>
    <a href="/contact/">Contact</a>
    <a href="/calculators/" style="background:var(--slate-900);color:var(--white);text-align:center;border-radius:10px;margin-top:8px;font-weight:600;">Browse Tools</a>
  </div>

  <header class="page-header">
    <div class="breadcrumb">
      <a href="/">Home</a>
      <span>/</span>
      <a href="/pdf-tools/">PDF Tools</a>
      <span>/</span>
      <span>Merge PDF</span>
    </div>
    <h1>Merge PDF</h1>
    <p>Combine multiple PDF files into one document instantly</p>
    <div class="last-updated">Last Updated: June 2026</div>
  </header>

  <section class="tool-section">
    <div class="tool-container">
      <div class="upload-area">
        <div class="drop-zone" id="dropZone">
          <svg class="drop-zone-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
            <polyline points="17 8 12 3 7 8"/>
            <line x1="12" y1="3" x2="12" y2="15"/>
          </svg>
          <h3>Drag & Drop PDF Files Here</h3>
          <p>or click to browse files</p>
          <span class="drop-zone-btn">Select PDF Files</span>
          <input type="file" class="file-input" id="fileInput" multiple accept=".pdf,application/pdf">
        </div>

        <div class="file-list" id="fileList" style="display: none;">
          <div class="file-list-header">
            <h3>Files to Merge</h3>
            <span class="file-count" id="fileCount">0 files</span>
          </div>
          <div id="fileItems"></div>
          
          <div class="action-buttons">
            <button class="btn btn-primary" id="mergeBtn" disabled>Merge PDFs</button>
            <button class="btn btn-success" id="downloadBtn" style="display: none;">Download Merged PDF</button>
            <button class="btn btn-secondary" id="clearBtn">Clear All</button>
          </div>

          <div class="progress-bar" id="progressBar">
            <div class="progress-track">
              <div class="progress-fill" id="progressFill"></div>
            </div>
            <div class="progress-text" id="progressText">Processing...</div>
          </div>
        </div>

        <div class="security-notice">
          <h4>
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
              <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
            </svg>
            Your Files Are Secure
          </h4>
          <ul>
            <li>Files are processed securely in your browser</li>
            <li>Files are automatically deleted after processing</li>
            <li>No registration required</li>
            <li>100% free with no watermarks</li>
          </ul>
        </div>
      </div>
    </div>
  </section>

  <div class="adsense-placeholder">
    <p>Advertisement</p>
  </div>

  <section class="content-section">
    <div class="content-container">
      <h2>What is PDF Merge?</h2>
      <p>PDF merge is the process of combining multiple PDF (Portable Document Format) files into a single document. This essential tool allows you to take several separate PDF files and join them together to create one unified PDF. Whether you're working with business documents, academic papers, or personal files, merging PDFs helps you organize and manage your documents more efficiently.</p>
      
      <p>The merge process preserves all content from the original files, including text, images, formatting, hyperlinks, and bookmarks. The resulting merged PDF maintains the quality and integrity of each source document while providing the convenience of having everything in one place.</p>

      <h3>Why Merge PDFs?</h3>
      <p>There are numerous reasons why you might need to merge PDF files:</p>
      <ul>
        <li><strong>Document Organization:</strong> Combine related documents into a single file for easier management and sharing</li>
        <li><strong>Business Reports:</strong> Merge multiple sections of a report into one comprehensive document</li>
        <li><strong>Application Packages:</strong> Combine resumes, cover letters, certificates, and other documents for job applications</li>
        <li><strong>Legal Documents:</strong> Consolidate contracts, agreements, and supporting documents</li>
        <li><strong>Training Materials:</strong> Create complete training manuals from separate modules</li>
        <li><strong>Invoice Bundles:</strong> Combine multiple invoices for monthly billing</li>
        <li><strong>Portfolio Creation:</strong> Assemble work samples into a single portfolio document</li>
      </ul>

      <h2>Benefits of Combining PDF Files</h2>
      <p>Merging PDF files offers several significant advantages for both personal and professional use:</p>

      <h3>Improved Organization</h3>
      <p>Having multiple related documents in a single file makes them easier to find, organize, and manage. Instead of searching through numerous files, you have everything in one place. This is particularly useful for project documentation, legal cases, or any scenario where multiple documents are related.</p>

      <h3>Easier Sharing</h3>
      <p>Sharing one file is much simpler than sharing multiple files. When you email a merged PDF, recipients receive everything they need in a single attachment. This reduces the risk of missing files and makes it easier for recipients to review complete information.</p>

      <h3>Professional Presentation</h3>
      <p>A single, well-organized document looks more professional than multiple scattered files. Whether you're submitting a proposal, presenting a report, or sharing information with clients, a merged PDF presents your content in a cohesive, polished manner.</p>

      <h3>Reduced File Management</h3>
      <p>Managing one file is easier than managing many. Merged PDFs reduce clutter in your file system, simplify backup processes, and make version control more straightforward. You only need to track and manage a single document instead of multiple files.</p>

      <h3>Cost Efficiency</h3>
      <p>When printing or storing documents, having fewer files can save money. Merged PDFs reduce printing costs by eliminating the need to handle multiple documents separately. They also save storage space and reduce cloud storage costs.</p>

      <h2>How to Merge PDF Online</h2>
      <p>Merging PDF files online with UtilityDesk is simple and straightforward. Follow these steps to combine your PDF documents:</p>

      <h3>Step 1: Upload Your PDF Files</h3>
      <p>Click on the upload area or drag and drop your PDF files directly into the designated zone. You can select multiple files at once. The tool accepts PDF files of any size, though larger files may take longer to process.</p>

      <h3>Step 2: Arrange File Order</h3>
      <p>Once your files are uploaded, you can rearrange them in your preferred order. Simply drag and drop the file items to reorder them. The files will be merged in the order they appear in the list, so make sure they're arranged correctly before proceeding.</p>

      <h3>Step 3: Remove Unwanted Files</h3>
      <p>If you accidentally uploaded a file or want to remove one, click the remove button (X) next to the file name. You can remove individual files without affecting the others.</p>

      <h3>Step 4: Merge the PDFs</h3>
      <p>Once you're satisfied with the file order, click the "Merge PDFs" button. The tool will process your files and combine them into a single document. This happens entirely in your browser, ensuring your files remain secure.</p>

      <h3>Step 5: Download the Merged PDF</h3>
      <p>After the merge is complete, a "Download Merged PDF" button will appear. Click it to download your combined document. The file will be saved to your default downloads folder with a name like "merged-document.pdf".</p>

      <h2>Use Cases for PDF Merging</h2>
      
      <h3>Business Documents</h3>
      <p>Businesses frequently need to combine various documents for presentations, reports, and proposals. Merge executive summaries, financial statements, market analysis, and appendices into a single comprehensive report. This is especially useful for board meetings, investor presentations, and strategic planning documents. When preparing quarterly reports, you can merge department-wise reports into one unified document for executive review.</p>

      <h3>Invoices and Billing</h3>
      <p>Freelancers and businesses can merge multiple invoices into a single document for monthly billing. Instead of sending 10 separate invoice files, combine them into one PDF that includes all invoices for the month. This simplifies record-keeping for both sender and recipient. Accountants can also merge client invoices with payment receipts and bank statements for comprehensive financial documentation.</p>

      <h3>Purchase Orders</h3>
      <p>Procurement teams often need to combine purchase orders with supporting documents like quotations, specifications, and terms & conditions. Merging these into a single package ensures all relevant information is together and nothing gets lost. Vendor management becomes easier when all related documents are consolidated into one file for each transaction.</p>

      <h3>Training Materials</h3>
      <p>Training departments can merge individual training modules, handouts, assessments, and reference materials into complete training manuals. New employees receive one comprehensive document instead of multiple files, making the onboarding process smoother. Corporate training programs benefit from having all materials in a single, easily distributable format.</p>

      <h3>Contracts and Agreements</h3>
      <p>Legal teams merge contracts with exhibits, appendices, schedules, and supporting documentation. This ensures all parties have access to the complete agreement in one file, reducing the risk of missing pages or attachments. Law firms can create comprehensive case files by merging pleadings, evidence documents, and correspondence.</p>

      <h3>Academic Submissions</h3>
      <p>Students and researchers combine research papers, bibliographies, appendices, and supplementary materials into single submission packages. This ensures evaluators receive complete submissions and can review all materials together. Academic institutions can merge student submissions with grading rubrics and feedback forms for streamlined evaluation processes.</p>

      <h3>Portfolio Creation</h3>
      <p>Designers, writers, and professionals merge work samples, case studies, and credentials into portfolio documents. A single, well-organized portfolio makes a stronger impression than multiple scattered files. Job seekers can combine resumes, cover letters, certificates, and work samples into comprehensive application packages.</p>

      <h2>Technical Aspects of PDF Merging</h2>
      
      <h3>How PDF Merging Works</h3>
      <p>PDF merging involves reading the internal structure of each PDF file and combining their page objects into a new document. Each PDF contains a catalog of pages, resources, and metadata. The merge process creates a new catalog that references pages from all source documents while maintaining proper cross-references and resource dictionaries.</p>
      
      <p>Modern PDF merge tools use client-side processing, which means the merging happens directly in your web browser without uploading files to a server. This approach offers better privacy and faster processing since there's no network transfer involved. The technology uses JavaScript libraries like pdf-lib to manipulate PDF structures programmatically.</p>

      <h3>PDF Standards and Compatibility</h3>
      <p>PDF files come in different versions (PDF 1.4, 1.5, 1.6, 1.7, PDF 2.0) and may contain various features like forms, annotations, layers, and embedded fonts. A good merge tool handles these differences seamlessly, ensuring the merged document maintains compatibility with standard PDF readers. The merged PDF typically uses the highest PDF version among the source files to preserve all features.</p>
      
      <p>When merging PDFs with different page sizes (A4, Letter, Legal), the merged document preserves each page's original dimensions. This is important for documents like blueprints, certificates, or international documents that use non-standard sizes. The merge process doesn't resize or distort any content.</p>

      <h3>Handling Complex PDF Elements</h3>
      <p>Professional PDFs often contain complex elements like bookmarks, hyperlinks, form fields, annotations, and embedded multimedia. Advanced merge tools preserve these elements during the merge process. Bookmarks from individual files are maintained, hyperlinks remain functional, and form fields continue to work in the merged document.</p>
      
      <p>However, some elements may require special handling. For instance, if two PDFs have bookmarks with the same name, the merge tool needs to create unique identifiers to avoid conflicts. Similarly, form field names must be unique across the merged document to prevent functionality issues.</p>

      <h2>Tips for Effective PDF Merging</h2>
      
      <h3>Organize Files Before Merging</h3>
      <p>Before you start merging, organize your PDF files in the order you want them to appear in the final document. Create a logical flow that makes sense for readers. For reports, this might mean: title page, table of contents, executive summary, main content sections, and appendices. Having a clear structure before merging saves time and reduces errors.</p>

      <h3>Name Files Clearly</h3>
      <p>Use descriptive file names that indicate content and sequence. Instead of "document1.pdf", "document2.pdf", use "01-Executive-Summary.pdf", "02-Financial-Report.pdf", "03-Market-Analysis.pdf". This makes it easier to verify you've selected the right files and in the correct order.</p>

      <h3>Check File Quality</h3>
      <p>Before merging, quickly review each PDF to ensure it's the correct version and contains all necessary pages. Merging incorrect or incomplete files means you'll need to redo the entire process. Take a moment to verify file contents, especially when working with important documents.</p>

      <h3>Consider File Size</h3>
      <p>While there's no strict limit on merged PDF size, very large files (over 100MB) can be difficult to email or upload to cloud storage. If your merged PDF becomes too large, consider compressing it using a PDF compression tool. You can also split very large documents into logical volumes (Part 1, Part 2, etc.) if needed.</p>

      <h3>Backup Original Files</h3>
      <p>Always keep backups of your original PDF files before merging. While the merge process is non-destructive and doesn't modify source files, having backups ensures you can recreate the merged document if needed. Store originals in a dedicated folder for easy reference.</p>

      <h2>Common Challenges and Solutions</h2>
      
      <h3>Different Page Orientations</h3>
      <p>When merging PDFs with mixed page orientations (portrait and landscape), the merged document preserves each page's original orientation. This is actually the correct behavior, as rotating pages would distort content. However, if you need uniform orientation, use a PDF rotation tool before merging to standardize all pages.</p>

      <h3>Bookmarks and Navigation</h3>
      <p>Merged PDFs maintain bookmarks from source files, but the bookmark structure might become complex. If you need a clean, organized bookmark structure, consider using a PDF bookmark editor after merging to create a unified table of contents and navigation structure.</p>

      <h3>Form Fields Conflicts</h3>
      <p>If multiple source PDFs contain form fields with identical names, the merged document might have conflicts. To avoid this, rename form fields in source documents before merging, or use unique naming conventions. Most modern merge tools handle this automatically by appending unique identifiers.</p>

      <h3>Font and Resource Management</h3>
      <p>Different PDFs might use different fonts and resources. The merge process includes all necessary fonts and resources in the merged document, ensuring it displays correctly on any device. However, this can increase file size. If file size is a concern, consider subsetting fonts or using a compression tool after merging.</p>
    </div>
  </section>

  <div class="adsense-placeholder">
    <p>Advertisement</p>
  </div>

  <section class="faq-section">
    <div class="faq-container">
      <div class="faq-header">
        <h2>Frequently Asked Questions</h2>
        <p>Common questions about merging PDF files</p>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>How to merge PDF files?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">To merge PDF files: 1) Upload your PDF files using the drag-and-drop area or file selector, 2) Rearrange the files in your preferred order by dragging them, 3) Click the 'Merge PDFs' button, 4) Download the combined PDF file. The entire process is instant and happens in your browser.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Is PDF merging free?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">Yes, UtilityDesk's PDF merger is completely free to use. There are no hidden charges, no watermarks added to your files, and no limits on the number of times you can merge PDFs. You can combine as many PDF files as you need without any cost.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Are uploaded files secure?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">Yes, your files are completely secure. All PDF processing happens directly in your browser using client-side technology. Your files never leave your device, ensuring complete privacy and security. Files are automatically cleared from your browser after you close the page.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Can I merge password protected PDFs?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">Currently, password-protected PDFs cannot be merged directly. You'll need to remove the password protection first using a PDF unlock tool, then merge the unprotected files. We're working on adding password-protected PDF support in future updates.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Is there a file size limit?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">There is no strict file size limit for merging PDFs. However, very large files (over 100MB each) may take longer to process depending on your device's capabilities. For optimal performance, we recommend keeping individual files under 50MB when merging multiple documents.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Can I merge PDFs on mobile?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">Yes, the PDF merger works perfectly on mobile devices including smartphones and tablets. The interface is fully responsive and optimized for touch interactions. You can upload, rearrange, and merge PDF files directly from your mobile browser.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Does merging affect quality?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">No, merging PDFs does not affect the quality of your documents. The merge process simply combines the existing PDF files without re-encoding or compressing them. All text, images, and formatting remain exactly as they were in the original files.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>How many files can I merge?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">You can merge as many PDF files as you need. There is no limit on the number of files you can combine in a single merge operation. Whether you need to merge 2 files or 50 files, our tool handles it efficiently.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Can I rearrange pages?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">The merge tool allows you to rearrange the order of PDF files before merging. However, it doesn't allow rearranging individual pages within a PDF. If you need to reorder pages within a single PDF, you'll need to use a PDF page reorganizer tool first.</div>
        </div>
      </div>
      <div class="faq-item">
        <div class="faq-question">
          <span>Can I print merged PDFs?</span>
          <div class="faq-icon">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </div>
        </div>
        <div class="faq-answer">
          <div class="faq-answer-inner">Yes, once you've merged your PDF files and downloaded the combined document, you can print it like any other PDF file. The merged PDF maintains all print settings and formatting from the original files.</div>
        </div>
      </div>
    </div>
  </section>

  <section class="related-section">
    <div class="related-container">
      <div class="related-header">
        <h2>Related PDF Tools</h2>
        <p>More tools to manage and manipulate your PDF files</p>
      </div>
      <div class="related-grid">
        <a href="/pdf-tools/split-pdf/" class="related-card">
          <span class="related-card-tag" style="background:var(--purple-100);color:var(--purple-600)">PDF Tool</span>
          <h3>Split PDF</h3>
          <p>Extract pages from PDF or split PDF into multiple files instantly.</p>
        </a>
        <a href="/pdf-tools/compress-pdf/" class="related-card">
          <span class="related-card-tag" style="background:var(--purple-100);color:var(--purple-600)">PDF Tool</span>
          <h3>Compress PDF</h3>
          <p>Reduce PDF file size without losing quality. Perfect for email attachments.</p>
        </a>
        <a href="/pdf-tools/jpg-to-pdf/" class="related-card">
          <span class="related-card-tag" style="background:var(--purple-100);color:var(--purple-600)">PDF Tool</span>
          <h3>JPG to PDF</h3>
          <p>Convert JPG images to PDF format. Combine multiple images into one PDF.</p>
        </a>
        <a href="/document-generators/purchase-order-generator/" class="related-card">
          <span class="related-card-tag" style="background:var(--blue-100);color:var(--blue-500)">Generator</span>
          <h3>Purchase Order Generator</h3>
          <p>Create professional purchase orders with GST and download as PDF.</p>
        </a>
      </div>
    </div>
  </section>

  <footer class="footer" role="contentinfo">
    <div class="footer-inner">
      <div class="footer-brand">
        <div class="footer-logo">
          <span class="footer-logo-icon">U</span>
          UtilityDesk<span style="color:var(--amber-500)">.</span>in
        </div>
        <p>Free calculators, PDF tools, document generators, and productivity tools built for Indian professionals. No signup required.</p>
      </div>
      <div class="footer-col">
        <h4>Calculators</h4>
        <ul>
          <li><a href="/calculators/salary-hike/">Salary Hike Calculator</a></li>
          <li><a href="/calculators/pf-calculator/">PF Calculator</a></li>
          <li><a href="/calculators/gst/">GST Calculator</a></li>
          <li><a href="/calculators/hra/">HRA Calculator</a></li>
          <li><a href="/calculators/tds/">TDS Calculator</a></li>
          <li><a href="/calculators/emi/">EMI Calculator</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>PDF Tools</h4>
        <ul>
          <li><a href="/pdf-tools/merge-pdf/">Merge PDF</a></li>
          <li><a href="/pdf-tools/split-pdf/">Split PDF</a></li>
          <li><a href="/pdf-tools/compress-pdf/">Compress PDF</a></li>
          <li><a href="/pdf-tools/jpg-to-pdf/">JPG to PDF</a></li>
          <li><a href="/pdf-tools/pdf-to-jpg/">PDF to JPG</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>Document Generators</h4>
        <ul>
          <li><a href="/document-generators/offer-letter/">Offer Letter</a></li>
          <li><a href="/document-generators/invoice/">Invoice Generator</a></li>
          <li><a href="/document-generators/purchase-order/">Purchase Order</a></li>
          <li><a href="/document-generators/nda/">NDA Generator</a></li>
          <li><a href="/document-generators/resignation/">Resignation Letter</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>Company</h4>
        <ul>
          <li><a href="/about/">About Us</a></li>
          <li><a href="/contact/">Contact Us</a></li>
          <li><a href="/blog/">Blog</a></li>
          <li><a href="/privacy-policy/">Privacy Policy</a></li>
          <li><a href="/terms-and-conditions/">Terms & Conditions</a></li>
          <li><a href="/disclaimer/">Disclaimer</a></li>
        </ul>
      </div>
    </div>
    <div class="footer-bottom">
      <span>© 2026 UtilityDesk.in. All rights reserved.</span>
      <div class="footer-social">
        <a href="https://twitter.com/utilitydesk" aria-label="Twitter" rel="noopener noreferrer" target="_blank">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
        </a>
        <a href="https://linkedin.com/company/utilitydesk" aria-label="LinkedIn" rel="noopener noreferrer" target="_blank">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
        </a>
        <a href="https://youtube.com/@utilitydesk" aria-label="YouTube" rel="noopener noreferrer" target="_blank">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
        </a>
      </div>
    </div>
  </footer>

  <script>
    // Nav scroll effect
    const nav = document.getElementById('nav');
    window.addEventListener('scroll', () => { nav.classList.toggle('scrolled', window.scrollY > 20); }, { passive: true });

    // Mobile menu
    const hamburger = document.getElementById('hamburger');
    const mobileMenu = document.getElementById('mobileMenu');
    hamburger.addEventListener('click', () => {
      const isOpen = mobileMenu.classList.toggle('open');
      hamburger.setAttribute('aria-expanded', isOpen);
      const spans = hamburger.querySelectorAll('span');
      if (isOpen) {
        spans[0].style.transform = 'rotate(45deg) translate(5px, 5px)';
        spans[1].style.opacity = '0';
        spans[2].style.transform = 'rotate(-45deg) translate(5px, -5px)';
      } else {
        spans[0].style.transform = '';
        spans[1].style.opacity = '';
        spans[2].style.transform = '';
      }
    });

    // FAQ accordion
    document.querySelectorAll('.faq-question').forEach(question => {
      question.addEventListener('click', () => {
        const item = question.parentElement;
        const answer = item.querySelector('.faq-answer');
        const isActive = item.classList.contains('active');
        
        document.querySelectorAll('.faq-item').forEach(faq => {
          faq.classList.remove('active');
          faq.querySelector('.faq-answer').style.maxHeight = '0';
        });
        
        if (!isActive) {
          item.classList.add('active');
          answer.style.maxHeight = answer.scrollHeight + 'px';
        }
      });
    });

    // PDF Merge functionality
    const { PDFDocument } = PDFLib;
    let files = [];
    let mergedPdfBytes = null;

    const dropZone = document.getElementById('dropZone');
    const fileInput = document.getElementById('fileInput');
    const fileList = document.getElementById('fileList');
    const fileItems = document.getElementById('fileItems');
    const fileCount = document.getElementById('fileCount');
    const mergeBtn = document.getElementById('mergeBtn');
    const downloadBtn = document.getElementById('downloadBtn');
    const clearBtn = document.getElementById('clearBtn');
    const progressBar = document.getElementById('progressBar');
    const progressFill = document.getElementById('progressFill');
    const progressText = document.getElementById('progressText');

    // Drag and drop handlers
    dropZone.addEventListener('click', () => fileInput.click());
    
    dropZone.addEventListener('dragover', (e) => {
      e.preventDefault();
      dropZone.classList.add('dragover');
    });

    dropZone.addEventListener('dragleave', () => {
      dropZone.classList.remove('dragover');
    });

    dropZone.addEventListener('drop', (e) => {
      e.preventDefault();
      dropZone.classList.remove('dragover');
      const droppedFiles = Array.from(e.dataTransfer.files).filter(file => file.type === 'application/pdf');
      if (droppedFiles.length > 0) {
        addFiles(droppedFiles);
      }
    });

    fileInput.addEventListener('change', (e) => {
      const selectedFiles = Array.from(e.target.files);
      if (selectedFiles.length > 0) {
        addFiles(selectedFiles);
      }
    });

    function addFiles(newFiles) {
      files = files.concat(newFiles);
      updateFileList();
    }

    function updateFileList() {
      if (files.length === 0) {
        fileList.style.display = 'none';
        mergeBtn.disabled = true;
        downloadBtn.style.display = 'none';
        return;
      }

      fileList.style.display = 'block';
      fileCount.textContent = `${files.length} file${files.length !== 1 ? 's' : ''}`;
      mergeBtn.disabled = files.length < 2;
      downloadBtn.style.display = 'none';

      fileItems.innerHTML = '';
      files.forEach((file, index) => {
        const fileItem = document.createElement('div');
        fileItem.className = 'file-item';
        fileItem.draggable = true;
        fileItem.dataset.index = index;

        const sizeMB = (file.size / (1024 * 1024)).toFixed(2);
        
        fileItem.innerHTML = `
          <div class="file-icon">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
              <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/>
              <polyline points="14 2 14 8 20 8"/>
            </svg>
          </div>
          <div class="file-info">
            <div class="file-name">${file.name}</div>
            <div class="file-size">${sizeMB} MB</div>
          </div>
          <div class="file-actions">
            <button class="file-btn remove" onclick="removeFile(${index})" title="Remove file">
              <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <line x1="18" y1="6" x2="6" y2="18"/>
                <line x1="6" y1="6" x2="18" y2="18"/>
              </svg>
            </button>
          </div>
        `;

        // Drag and drop for reordering
        fileItem.addEventListener('dragstart', handleDragStart);
        fileItem.addEventListener('dragover', handleDragOver);
        fileItem.addEventListener('drop', handleDrop);
        fileItem.addEventListener('dragend', handleDragEnd);

        fileItems.appendChild(fileItem);
      });
    }

    let draggedItem = null;

    function handleDragStart(e) {
      draggedItem = this;
      this.classList.add('dragging');
    }

    function handleDragOver(e) {
      e.preventDefault();
    }

    function handleDrop(e) {
      e.preventDefault();
      if (draggedItem !== this) {
        const fromIndex = parseInt(draggedItem.dataset.index);
        const toIndex = parseInt(this.dataset.index);
        
        // Reorder files array
        const [movedFile] = files.splice(fromIndex, 1);
        files.splice(toIndex, 0, movedFile);
        
        updateFileList();
      }
    }

    function handleDragEnd() {
      this.classList.remove('dragging');
      draggedItem = null;
    }

    function removeFile(index) {
      files.splice(index, 1);
      updateFileList();
    }

    clearBtn.addEventListener('click', () => {
      if (confirm('Are you sure you want to remove all files?')) {
        files = [];
        mergedPdfBytes = null;
        updateFileList();
        fileInput.value = '';
      }
    });

    mergeBtn.addEventListener('click', async () => {
      if (files.length < 2) return;

      progressBar.classList.add('active');
      mergeBtn.disabled = true;
      progressFill.style.width = '0%';
      progressText.textContent = 'Starting merge...';

      try {
        const mergedPdf = await PDFDocument.create();
        const totalFiles = files.length;

        for (let i = 0; i < files.length; i++) {
          const file = files[i];
          const progress = ((i + 1) / totalFiles) * 100;
          progressFill.style.width = `${progress}%`;
          progressText.textContent = `Processing file ${i + 1} of ${totalFiles}...`;

          const arrayBuffer = await file.arrayBuffer();
          const pdf = await PDFDocument.load(arrayBuffer);
          const copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());
          copiedPages.forEach(page => mergedPdf.addPage(page));
        }

        progressText.textContent = 'Finalizing...';
        mergedPdfBytes = await mergedPdf.save();
        
        progressFill.style.width = '100%';
        progressText.textContent = 'Merge complete!';
        
        setTimeout(() => {
          progressBar.classList.remove('active');
          mergeBtn.disabled = false;
          downloadBtn.style.display = 'inline-block';
        }, 1000);

      } catch (error) {
        console.error('Error merging PDFs:', error);
        progressText.textContent = 'Error merging PDFs. Please try again.';
        mergeBtn.disabled = false;
        setTimeout(() => {
          progressBar.classList.remove('active');
        }, 3000);
      }
    });

    downloadBtn.addEventListener('click', () => {
      if (!mergedPdfBytes) return;

      const blob = new Blob([mergedPdfBytes], { type: 'application/pdf' });
      const url = URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = 'merged-document.pdf';
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      URL.revokeObjectURL(url);
    });
  </script>
</body>
</html>
