Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
•••••
Unix & Linux ServerKDE Sets Ambitious Goals for 2026 and Beyond(23.09.2026 um 22:28 Uhr)
•
Unix & Linux ServerDSA-6510-1 xdg-dbus-proxy - security update(23.09.2026 um 02:00 Uhr)
•••
Sichere ProgrammierungAPI & API Rest(23.09.2026 um 22:22 Uhr)
••••••
Unix & Linux ServerKDE Sets Ambitious Goals for 2026 and Beyond(23.09.2026 um 22:28 Uhr)
•
Unix & Linux ServerDSA-6510-1 xdg-dbus-proxy - security update(23.09.2026 um 02:00 Uhr)
•••
Sichere ProgrammierungAPI & API Rest(23.09.2026 um 22:22 Uhr)
•
Intelligence View
⚡ tsecurity.de Intelligence

I Built a Free Browser-Based PDF Merger That Never Uploads Your Files

Every time I need to merge PDFs, the same thing happens. I Google "merge PDF online," click the first result, and get hit with: "Upload your files to our secure server" "Free for files under 5MB" "Sign up to download" No thanks. I…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

Every time I need to merge PDFs, the same thing happens. I Google "merge PDF online," click the first result, and get hit with:




  • "Upload your files to our secure server"

  • "Free for files under 5MB"

  • "Sign up to download"



No thanks.



I deal with contracts, invoices, and project docs regularly. I don't want any of that sitting on someone else's server, even temporarily. So I built my own PDF merger that runs 100% in your browser. No uploads. No servers. No accounts.






How It Works



The tool lives at devtools-site-delta.vercel.app/pdf-merge and uses pdf-lib, a pure JavaScript library that can create and modify PDF documents entirely client-side.



Here's the core idea. When you drop files into the tool, it reads them as ArrayBuffers using the File API, then pdf-lib stitches them together:




import { PDFDocument } from 'pdf-lib';

async function mergePDFs(pdfFiles) {
const mergedPdf = await PDFDocument.create();

for (const file of pdfFiles) {
const arrayBuffer = await file.arrayBuffer();
const pdf = await PDFDocument.load(arrayBuffer);
const pages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());
pages.forEach(page => mergedPdf.addPage(page));
}

const mergedBytes = await mergedPdf.save();
return new Blob([mergedBytes], { type: 'application/pdf' });
}






That's basically it. PDFDocument.create() makes a new empty PDF, then you loop through each input file, copy all its pages, and add them to the merged document. The whole operation happens in memory inside your browser tab.






Why Client-Side Matters



When I say "no upload," I mean it literally. Open your browser's Network tab while using the tool. You'll see zero outbound requests carrying your PDF data. The files never leave your machine.



This matters for:





  • Legal documents — NDAs, contracts, anything sensitive


  • Financial records — tax forms, bank statements


  • Medical files — HIPAA doesn't care about "secure servers"


  • Just... privacy — it's your data, keep it yours






Drag, Drop, Reorder, Download



The UX is dead simple. Drag your PDFs in, reorder them however you want, hit merge, and your browser downloads the result. The whole thing takes about 2 seconds for typical documents.



I also handle edge cases that trip up other tools:




  • PDFs with different page sizes

  • Encrypted PDFs (if you have the password)

  • Large files that would hit upload limits elsewhere






I Built a Splitter Too



Same idea in reverse. devtools-site-delta.vercel.app/pdf-split lets you extract specific pages from a PDF. Need pages 3-7 from a 50-page document? Done. Want to pull out just one page? Also done.



The splitting logic is even simpler:




async function splitPDF(file, pageNumbers) {
const arrayBuffer = await file.arrayBuffer();
const sourcePdf = await PDFDocument.load(arrayBuffer);
const newPdf = await PDFDocument.create();

// pageNumbers is zero-indexed
const pages = await newPdf.copyPages(sourcePdf, pageNumbers);
pages.forEach(page => newPdf.addPage(page));

return await newPdf.save();
}






You select which pages you want, it copies just those pages into a new PDF, and you download the result. Again, nothing leaves your browser.






Word to PDF



I also built a Word to PDF converter that converts .docx files right in the browser. Same philosophy — your documents stay on your machine.






The Bigger Picture



These PDF tools are part of a larger collection I've been building at devtools-site-delta.vercel.app. There are 500+ tools now, all free, all running client-side where possible. JSON formatters, image compressors, regex testers, color pickers — the works.



I got tired of bouncing between sketchy ad-filled sites for basic tasks, so I just... built everything in one place.



If you're a developer who works with PDFs programmatically, pdf-lib is genuinely excellent. The docs are solid, it handles most PDF operations you'd need, and it runs in Node.js too if you need server-side processing.



Bookmark the merger if you deal with PDFs regularly. Your files stay yours.






Links:



CTI Threat Relationship Graph2 Knoten / 1 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
IR-PLAYBOOK-RCE
HIGH
SOC Incident Playbook: Remote Code Execution (RCE) Defense
1-Click Detection Engineering: Sigma & YARA Rules
SOC Ready
title: Detect Exploitation - I Built a Free Browser-Based PDF Merger That Never Uploads Your Files
id: 3e4cab51-eed5-4b7f-a498-5b1c53ee152e
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-23
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-23"
        description = "YARA Signature for "
    strings:
        $str = "I Built a Free Browser-Based P" ascii wide
    condition:
        any of them
}
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten I Built a Free Browser-Based PDF Merger That Never Uploads Your Files

Thematisch verwandte Begriffe: Built, Free, BrowserBased, Merger · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-90904 | Joomla Extension - joomshaper.com - Broken Access Control (ACL Bypass) i…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel • Rechts: nächster Artikel • unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel TTP ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger • Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick