1<!DOCTYPE html><!--cpXgShJOejCuciqlXzuOp--><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="/" crossorigin=""/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/544aa04d9ad6b1c4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/70e650785c8ec10c.js"/>
1<script src="/_next/static/chunks/7605c75fd2f92089.js" async=""></script>
1<script src="/_next/static/chunks/ef06178de093f54e.js" async=""></script>
1<script src="/_next/static/chunks/5e1795a806bd6c51.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-1e32c7579ae2267f.js" async=""></script>
1<script src="/_next/static/chunks/366af0615f68e276.js" async=""></script>
1<script src="/_next/static/chunks/7a768100bec00db1.js" async=""></script>
1<script src="/_next/static/chunks/070f526e0e0f419c.js" async=""></script>
1<script src="/_next/static/chunks/f48c09c46e1db0f1.js" async=""></script>
1<script src="/_next/static/chunks/b61bea56d9c446ba.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Local PDF Toolkit â Merge, Split & Sign PDFs</title><meta name="description" content="Local PDF tools that run entirely in your browser. Merge, split, and sign PDFs without uploads or accounts."/><meta name="application-name" content="Local PDF Toolkit"/><meta name="keywords" content="local PDF merge,local PDF split,local PDF sign,merge PDFs locally,split PDFs locally,sign PDFs locally,offline PDF tools,browser PDF tools,PDF merge split sign"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="/"/><meta property="og:title" content="Local PDF Toolkit â Merge, Split & Sign PDFs"/><meta property="og:description" content="Local PDF tools that run entirely in your browser. Merge, split, and sign PDFs without uploads or accounts."/><meta property="og:url" content="/"/><meta property="og:site_name" content="Local PDF Toolkit"/><meta property="og:image" content="https://www.instantclaw.org/og.svg"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="PDF Toolkit"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Local PDF Toolkit â Merge, Split & Sign PDFs"/><meta name="twitter:description" content="Local PDF tools that run entirely in your browser. Merge, split, and sign PDFs without uploads or accounts."/><meta name="twitter:image" content="https://www.instantclaw.org/og.svg"/><link rel="icon" href="/favicon-16x16.png" sizes="16x16" type="image/png"/><link rel="icon" href="/favicon-32x32.png" sizes="32x32" type="image/png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="128x128" type="image/png"/>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><header class="app-header"><div class="header-inner"><div class="logo"><div class="logo-icon"><svg width="28" height="28" viewBox="0 0 32 32" fill="none"><path d="M8 7h10l6 6v12a2 2 0 01-2 2H8a2 2 0 01-2-2V9a2 2 0 012-2z" fill="white" opacity="0.95"></path><path d="M18 7v6h6" fill="none" stroke="white" stroke-width="1.5" opacity="0.6"></path><text x="9" y="22" font-size="7.5" font-weight="bold" fill="#ef4444" font-family="system-ui">PDF</text></svg></div><div class="logo-text"><h1>LocalPDF</h1><span class="logo-sub">Free · Private · Local</span></div></div><div class="header-right"><div class="privacy-badge"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M8 1L2 4v4c0 3.5 2.5 6.5 6 7.5 3.5-1 6-4 6-7.5V4L8 1z" stroke="currentColor" stroke-width="1.5" fill="none"></path><path d="M5.5 8l2 2 3.5-3.5" stroke="currentColor" stroke-width="1.5" fill="none" stroke-linecap="round"></path></svg><span>Local processing</span></div><div class="op-counter" title="Operations completed"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M13.5 8A5.5 5.5 0 112.5 8a5.5 5.5 0 0111 0z" stroke="currentColor" stroke-width="1.3"></path><path d="M5 8l2 2 4-4" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>0<!-- --> op<!-- -->s</span></div></div></div></header><div class="layout"><main><nav class="tabs"><button class="tab active" data-tab="merge"><svg width="20" height="20" viewBox="0 0 20 20" fill="none"><rect x="2" y="3" width="7" height="9" rx="1.5" stroke="currentColor" stroke-width="1.5"></rect><rect x="11" y="3" width="7" height="9" rx="1.5" stroke="currentColor" stroke-width="1.5"></rect><path d="M6 15v2h8v-2" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path><path d="M10 12v5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>Merge PDFs</button><button class="tab" data-tab="split"><svg width="20" height="20" viewBox="0 0 20 20" fill="none"><rect x="5" y="2" width="10" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5"></rect><path d="M10 12v3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path><path d="M7 15l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><rect x="2" y="14" width="6" height="4" rx="1" stroke="currentColor" stroke-width="1.5" opacity="0.5"></rect><rect x="12" y="14" width="6" height="4" rx="1" stroke="currentColor" stroke-width="1.5" opacity="0.5"></rect></svg>Split PDF</button><button class="tab" data-tab="sign"><svg width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M3 13l9-9 4 4-9 9H3v-4z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path><path d="M12 4l4 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>Sign PDF</button><button class="tab" data-tab="rotate"><svg width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M15.5 5A7 7 0 1017 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path><path d="M17 6V10h-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>Rotate</button><button class="tab" data-tab="edit"><svg width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M3 13l8-8 4 4-8 8H3v-4z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path><path d="M11 5l4 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>Edit</button></nav><section id="merge-section" class="section active"><div class="drop-zone" id="merge-drop"><div class="drop-zone-pulse"></div><div class="drop-zone-inner"><div class="drop-icon"><svg width="44" height="44" viewBox="0 0 48 48" fill="none"><path d="M24 32V16m0 0l-7 7m7-7l7 7" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M40 32v4a4 4 0 01-4 4H12a4 4 0 01-4-4v-4" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg></div><p class="drop-text">Drop PDF files here to merge</p><p class="drop-subtext">
1or <span class="drop-browse">browse files</span></p><div class="drop-features"><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8 1L2 4v4c0 3.5 2.5 6.5 6 7.5 3.5-1 6-4 6-7.5V4L8 1z" stroke="currentColor" stroke-width="1.2"></path></svg>Private</div><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 8h12M8 2v12" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg>Multiple files</div><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13 5l-6 6-3-3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path></svg>Fast export</div></div></div></div><input type="file" id="merge-input" multiple="" accept=".pdf" hidden=""/></section><section id="split-section" class="section"><div class="drop-zone" id="split-drop"><div class="drop-zone-pulse"></div><div class="drop-zone-inner"><div class="drop-icon"><svg width="44" height="44" viewBox="0 0 48 48" fill="none"><path d="M24 32V16m0 0l-7 7m7-7l7 7" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M40 32v4a4 4 0 01-4 4H12a4 4 0 01-4-4v-4" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg></div><p class="drop-text">Drop a PDF here to split</p><p class="drop-subtext">or <span class="drop-browse">browse files</span></p><div class="drop-features"><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8 1L2 4v4c0 3.5 2.5 6.5 6 7.5 3.5-1 6-4 6-7.5V4L8 1z" stroke="currentColor" stroke-width="1.2"></path></svg>Private</div><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 8h12" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg>Drag to reorder</div><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13 5l-6 6-3-3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path></svg>Free</div></div></div></div><input type="file" id="split-input" accept=".pdf" hidden=""/></section><section id="sign-section" class="section"><div class="pro-gate-wrap"><div class="pro-gate-blur"><div class="drop-zone" id="sign-drop"><div class="drop-zone-pulse"></div><div class="drop-zone-inner"><div class="drop-icon"><svg width="44" height="44" viewBox="0 0 48 48" fill="none"><path d="M24 32V16m0 0l-7 7m7-7l7 7" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M40 32v4a4 4 0 01-4 4H12a4 4 0 01-4-4v-4" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg></div><p class="drop-text">Drop a PDF here to sign</p><p class="drop-subtext">or <span class="drop-browse">browse files</span></p><div class="drop-features"><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8 1L2 4v4c0 3.5 2.5 6.5 6 7.5 3.5-1 6-4 6-7.5V4L8 1z" stroke="currentColor" stroke-width="1.2"></path></svg>Private</div><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 8h12" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg>Draw signature</div><div class="drop-feature"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13 5l-6 6-3-3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path></svg>Local only</div></div></div></div></div><div class="pro-gate-overlay"><div class="pro-gate-card"><div class="pro-gate-icon">â¡</div><h3 class="pro-gate-title">Pro Feature</h3><p class="pro-gate-desc">Sign PDF is available on the Pro plan.</p><button type="button" class="pro-gate-btn">Upgrade to Pro</button></div></div></div><input type="file" id="sign-input" accept=".pdf" hidden=""/></section><section id="rotate-section" class="section"><div class="drop-zone"><div class="drop-zone-inner"><p class="drop-text">Drop a PDF here to rotate pages</p><p class="drop-subtext">
1or <span class="drop-browse">browse files</span></p></div></div><input type="file" accept=".pdf,application/pdf" hidden=""/></section><section id="edit-section" class="section"><div class="pro-gate-wrap"><div class="pro-gate-blur"><div class="drop-zone"><div class="drop-zone-inner"><p class="drop-text">Drop a PDF here to annotate</p><p class="drop-subtext">or <span class="drop-browse">browse files</span></p></div></div></div><div class="pro-gate-overlay"><div class="pro-gate-card"><div class="pro-gate-icon">â¡</div><h3 class="pro-gate-title">Pro Feature</h3><p class="pro-gate-desc">Edit and annotate tools are available on the Pro plan.</p><button type="button" class="pro-gate-btn">Upgrade to Pro</button></div></div></div><input type="file" accept=".pdf,application/pdf" hidden=""/></section></main></div><footer><div class="footer-inner"><p>LocalPDF processes PDFs directly in your browser. No uploads. No document leaves your device.</p><div class="footer-links"><span>Powered by pdf-lib & PDF.js (WASM)</span><div class="footer-legal" aria-label="Legal"></div></div></div></footer><!--$--><!--/$-->
1<script src="/_next/static/chunks/70e650785c8ec10c.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[78989,[\"/_next/static/chunks/366af0615f68e276.js\"],\"Analytics\"]\n3:I[88287,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"default\"]\n4:I[74895,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"default\"]\n5:I[83380,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"ClientPageRoot\"]\n6:I[62350,[\"/_next/static/chunks/366af0615f68e276.js\",\"/_next/static/chunks/070f526e0e0f419c.js\",\"/_next/static/chunks/f48c09c46e1db0f1.js\",\"/_next/static/chunks/b61bea56d9c446ba.js\"],\"default\"]\n9:I[51858,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:I[51858,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"ViewportBoundary\"]\ne:I[51858,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"MetadataBoundary\"]\n10:I[52576,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"default\"]\n:HL[\"/_next/static/chunks/544aa04d9ad6b1c4.css\",\"style\"]\n:HC[\"/\",\"\"]\n"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"cpXgShJOejCuciqlXzuOp\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/544aa04d9ad6b1c4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/366af0615f68e276.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/070f526e0e0f419c.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/f48c09c46e1db0f1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/b61bea56d9c446ba.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true}\n"])</script>
1<script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script>
1<script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
1<script>self.__next_f.push([1,"11:I[49310,[\"/_next/static/chunks/7a768100bec00db1.js\"],\"IconMark\"]\nb:null\n"])</script>
1<script>self.__next_f.push([1,"f:[[\"$\",\"title\",\"0\",{\"children\":\"Local PDF Toolkit â Merge, Split \u0026 Sign PDFs\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local PDF tools that run entirely in your browser. Merge, split, and sign PDFs without uploads or accounts.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Local PDF Toolkit\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"local PDF merge,local PDF split,local PDF sign,merge PDFs locally,split PDFs locally,sign PDFs locally,offline PDF tools,browser PDF tools,PDF merge split sign\"}],[\"$\",\"meta\",\"4\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"5\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"link\",\"6\",{\"rel\":\"canonical\",\"href\":\"/\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:title\",\"content\":\"Local PDF Toolkit â Merge, Split \u0026 Sign PDFs\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:description\",\"content\":\"Local PDF tools that run entirely in your browser. Merge, split, and sign PDFs without uploads or accounts.\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:url\",\"content\":\"/\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:site_name\",\"content\":\"Local PDF Toolkit\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image\",\"content\":\"https://www.instantclaw.org/og.svg\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:alt\",\"content\":\"PDF Toolkit\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Local PDF Toolkit â Merge, Split \u0026 Sign PDFs\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Local PDF tools that run entirely in your browser. Merge, split, and sign PDFs without uploads or accounts.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://www.instantclaw.org/og.svg\"}],[\"$\",\"link\",\"20\",{\"rel\":\"icon\",\"href\":\"/favicon-16x16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"}],[\"$\",\"link\",\"21\",{\"rel\":\"icon\",\"href\":\"/favicon-32x32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"22\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\",\"sizes\":\"128x128\",\"type\":\"image/png\"}],[\"$\",\"$L11\",\"23\",{}]]\n"])</script>
1</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.