1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Image & PDF Converter and Compressor · 100% offline</title> 7 <meta name="description" content="Convert and compress images and PDFs offline. Right-click any web image to save or convert it. Remove EXIF, merge or split PDFs, and unlock Pro once for $7." /> 8 <link rel="canonical" href="https://verimedia.xyz/image-converter/" /> 9 <meta property="og:title" content="Image & PDF Converter and Compressor" /> 10 <meta property="og:description" content="Convert images and PDFs offline. Compress, merge, split, remove EXIF. No uploads, no tracking. One-time $7 Pro." /> 11 <meta property="og:image" content="https://verimedia.xyz/logo.png" /> 12 <meta property="og:type" content="website" /> 13 <meta property="og:url" content="https://verimedia.xyz/image-converter/" /> 14 15 <!-- Favicon --> 16 <link rel="icon" type="image/svg+xml" href="/favicon.svg"> 17 <link rel="alternate icon" type="image/png" href="/favicon.png"> 18 <link rel="apple-touch-icon" href="/favicon.png"> 19 20 <link rel="preconnect" href="https://fonts.googleapis.com"> 21 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 22 <link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,[email protected],200..800&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap" rel="stylesheet"> 23 24 25
25<script type="application/ld+json"> 26 { 27 "@context": "https://schema.org", 28 "@type": "SoftwareApplication", 29 "name": "Image & PDF Converter and Compressor", 30 "applicationCategory": "MultimediaApplication", 31 "operatingSystem": "Chrome, Firefox", 32 "description": "Convert and compress images and PDFs locally in the browser. No uploads, no data collection. Merge PDFs, split pages, remove EXIF metadata, right-click any web image to save or convert it.", 33 "offers": [ 34 { "@type": "Offer", "price": "0", "priceCurrency": "USD", "name": "Free" }, 35 { "@type": "Offer", "price": "7", "priceCurrency": "USD", "name": "Pro (one-time)" } 36 ] 37 } 38 </script>
38 39 40
40<script type="module" crossorigin src="/assets/site-chrome-ATHaPKSB.js"></script>
40 41 <link rel="stylesheet" crossorigin href="/assets/site-chrome-Buq6fdcI.css"> 42</head> 43<body class="image-converter-page" data-chrome-profile="false"> 44 <header></header> 45 46 <!-- HERO --> 47 <div class="wrap hero"> 48 <p class="mono-label reveal d1" data-i18n="image_converter.kicker">Chrome & Firefox Extension · Free & Pro</p> 49 <h1 class="reveal d2" data-i18n-html="image_converter.hero_title">Image & PDF <span class="glow">Converter</span></h1> 50 <p class="sub reveal d3" data-i18n-html="image_converter.hero_summary">Convert, compress, merge, and split images and PDFs <b>directly in your browser.</b> 51 Right-click any web image to save or convert it. Remove EXIF metadata, target a max file size, choose output quality. <b>100% offline</b> - nothing ever leaves your machine.</p> 52 <div class="cta reveal d4"> 53 <a class="btn btn-primary" id="installBtn" href="#" data-install data-i18n="image_converter.install_cta">+ Add to Chrome - Free</a> 54 <a class="btn btn-ghost" href="#pricing" data-buy data-i18n="image_converter.pro_cta">Unlock Pro · $7</a> 55 </div> 56 <p class="micro reveal d4" data-i18n-html="image_converter.micro">One-time purchase · <span>no subscription</span> · works fully offline</p> 57 58 <div class="terminal reveal d5" aria-hidden="true"> 59 <div class="bar"><i></i><i></i><i></i></div> 60 <div class="body"> 61 <div class="l">$ convert IMG_4821.heic --to avif --quality 80 --strip-exif</div> 62 <div class="ok">â decoded HEIC · EXIF removed · 4.2 MB â 380 KB <span class="p">(â91%)</span></div> 63 <div class="l">$ pdf report.pdf --compress --dpi 150</div> 64 <div class="ok">â 7 pages rasterized · 18.4 MB â 2.1 MB <span class="p">(â89%)</span></div> 65 <div class="l">$ pdf scan1.pdf scan2.pdf scan3.pdf --merge</div> 66 <div class="ok">â merged.pdf · 3 documents · 0 bytes uploaded</div> 67 </div> 68 </div> 69 </div> 70 71 <!-- TRUST --> 72 <div class="trust"><div class="wrap"><div class="row"> 73 <span data-i18n-html="image_converter.trust_offline"><span class="dot">â</span> <b>100%</b> offline</span> 74 <span data-i18n-html="image_converter.trust_uploads"><span class="dot">â</span> <b>No</b> uploads</span> 75 <span data-i18n-html="image_converter.trust_data"><span class="dot">â</span> <b>No</b> data collected</span> 76 <span data-i18n-html="image_converter.trust_browser"><span class="dot">â</span> Runs in <b>your</b> browser</span> 77 <span data-i18n-html="image_converter.trust_permission"><span class="dot">â</span> <b>Nothing</b> runs in the background</span> 78 </div></div></div> 79 80 <!-- FORMATS --> 81 <section id="formats"><div class="wrap"> 82 <div class="section-head"> 83 <p class="mono-label" data-i18n="image_converter.formats_kicker">Formats</p> 84 <h2 data-i18n="image_converter.formats_title">Any format in. Any format out.</h2> 85 <p data-i18n="image_converter.formats_summary">Images, PDFs, and HEIC photos from iPhone. Everything decoded and converted locally using WebAssembly and the Canvas API. Nothing leaves your device.</p> 86 </div> 87 <div class="formats"> 88 <div class="fmt heic"><div class="name">HEIC</div><div class="meta">iPhone photos · decode</div></div> 89 <div class="fmt"><div class="name">WebP</div><div class="meta">in · out</div></div> 90 <div class="fmt"><div class="name">AVIF</div><div class="meta">in · out</div></div> 91 <div class="fmt"><div class="name">JPG</div><div class="meta">in · out</div></div> 92 <div class="fmt"><div class="name">PNG</div><div class="meta">in · out</div></div> 93 <div class="fmt"><div class="name">PDF</div><div class="meta">compress · merge · split · convert</div></div> 94 </div> 95 <p class="any" data-i18n-html="image_converter.formats_body">Convert between any format, compress with an adjustable quality slider, resize by percentage, and see exact before/after sizes. <b>Remove EXIF metadata</b> (location, camera info) from JPG output. For PDFs: compress pages by rasterizing at your chosen DPI, <b>merge multiple PDFs</b> into one, or <b>split a multi-page PDF</b> into individual page files. Export to <b>
95AVIF</b> for next-gen compression (up to 90% smaller than JPG).</p> 96 </div></section> 97 98 <!-- HOW --> 99 <section id="how" style="padding-top:0;"><div class="wrap"> 100 <div class="section-head"> 101 <p class="mono-label" data-i18n="image_converter.how_kicker">How it works</p> 102 <h2 data-i18n="image_converter.how_title">Three steps. Zero uploads.</h2> 103 </div> 104 <div class="steps"> 105 <div class="step"><div class="num" data-i18n="image_converter.step1_num">01 / DROP</div><h3 data-i18n="image_converter.step1_title">Drop your files</h3><p data-i18n="image_converter.step1_body">Drag images or PDFs onto the popup or pick them from your device. Up to 5 at once on Free, unlimited on Pro.</p></div> 106 <div class="step"><div class="num" data-i18n="image_converter.step2_num">02 / CONVERT</div><h3 data-i18n="image_converter.step2_title">Choose what to do</h3><p data-i18n="image_converter.step2_body">Pick a format, set quality or a target file size, resize, remove EXIF. For PDFs: compress, merge, or split pages. Everything runs locally.</p></div> 107 <div class="step"><div class="num" data-i18n="image_converter.step3_num">03 / DOWNLOAD</div><h3 data-i18n="image_converter.step3_title">Save instantly</h3><p data-i18n="image_converter.step3_body">Download each file individually, or grab them all as a single ZIP. Nothing ever touches a server.</p></div> 108 </div> 109 </div></section> 110 111 <!-- WEB IMAGE TOOLS (new in 1.2) --> 112 <section id="web-tools" style="padding-top:0;"><div class="wrap"> 113 <div class="section-head"> 114 <p class="mono-label">New in 1.2</p> 115 <h2>Grab images straight from any page.</h2> 116 <p>Convert images without ever leaving the page you are on. All of it free, and still 100% local.</p> 117 </div> 118 <div class="steps"> 119 <div class="step"><div class="num">RIGHT-CLICK</div><h3>Save any web image</h3><p>Right-click an image on any website and save it as PNG, JPG, WebP, or AVIF in one click, or compress and resize it before saving. Works in Chrome and Firefox.</p></div> 120 <div class="step"><div class="num">SCAN</div><h3>Find images on this page</h3><p>One click scans the current tab for up to 300 images: photos, icons, backgrounds, srcset variants. Everything lands in a gallery inside the popup. Chrome only.</p></div> 121 <div class="step"><div class="num">BATCH</div><h3>Convert or download in bulk</h3><p>Select any images from the gallery and batch-convert them, or download them all as a single ZIP. Nothing runs until you click, and no page content is sent anywhere.</p></div> 122 </div> 123 </div></section> 124 125 <!-- COMPARE --> 126 <section id="pricing"><div class="wrap"> 127 <div class="section-head"> 128 <p class="mono-label" data-i18n="image_converter.pricing_kicker">Free vs Pro</p> 129 <h2 data-i18n="image_converter.pricing_title">Generous free tier. $7 unlocks the rest.</h2> 130 <p data-i18n="image_converter.pricing_summary">Pro is a one-time purchase, not a subscription. Pay once, keep it forever, works offline.</p> 131 </div> 132 <div class="compare"> 133 <div class="crow head"><div class="feat" data-i18n="image_converter.feature_head">Feature</div><div class="col" data-i18n="image_converter.free_head">Free</div><div class="col pro" data-i18n="image_converter.pro_head">Pro · $7</div></div> 134 <div class="crow"><div class="feat" data-i18n="image_converter.feature_convert">Convert images (HEIC, WebP, AVIF, JPG, PNG)</div><div class="col yes">â</div><div class="col yes">â</div></div> 135 <div class="crow"><div class="feat" data-i18n="image_converter.feature_avif">Export to AVIF (next-gen, smallest files)</div><div class="col yes">â</div><div class="col yes">â</div></div> 136 <div class="crow"><div class="feat" data-i18n="image_converter.feature_compress">Compress with quality slider</div><div class="col yes">â</div><div class="col yes">â</div></div> 137 <div class="crow"><div class="feat" data-i18n="image_converter.feature_resize">Resize by percentage</div><div class="col yes">â</div><div class="col yes">â</div></div> 138 <div class="crow"><div class="feat" data-i18n="image_converter.feature_exif">Remove EXIF metadata (location, camera info)</div><div class="col yes">â</div><div class="col yes">â</div></div> 139 <div class="crow"><div class="feat" data-i18n="image_converter.feature_settings">Remember settings</div><div class="col yes">â</div><div class="col yes">â</div></div> 140 <div class="crow"><div class="feat" data-i18n="image_converter.feature_pdf_images">PDF to images / images to PDF</div><div class="col yes">â</div><div class="col yes">â</div></div> 141 <div class="crow"><div class="feat" data-i18n="image_converter.feature_pdf_compress">Compress PDF (choose quality and DPI)</div><div class="col yes">â</div><div class="col yes">â</div></div> 142 <div class="crow"><div class="feat" data-i18n="image_converter.feature_pdf_merge">Merge PDFs / split PDF pages</div><div class="col yes">â</div><div class="col yes">â</div></div> 143 <div class="crow"><div class="feat" data-i18n="image_converter.feature_rightclick">Right-click any web image to save or convert</div><div class="col yes">â</div><div class="col yes">â</div></div> 144 <div class="crow"><div class="feat" data-i18n="image_converter.feature_scan">Page image scanner with batch gallery (Chrome)</div><div class="col yes">â</div><div class="col yes">â</div></div> 145 <div class="crow"><div class="feat" data-i18n="image_converter.feature_zip">Download all as ZIP</div><div class="col yes">â</div><div class="col yes">â</div></div> 146 <div class="crow"><div class="feat" data-i18n="image_converter.feature_batch">Batch size</div><div class="col" data-i18n="image_converter.five_files">5 files</div><div class="col yes" data-i18n="image_converter.unlimited">Unlimited</div></div> 147 <div class="crow"><div class="feat" data-i18n="image_converter.feature_crop">Exact-pixel resize & crop</div><div class="col no">-</div><div class="col yes">â</div></div> 148 <div class="crow"><div class="feat" data-i18n="image_converter.feature_target_size">Target a maximum file size</div><div class="col no">-</div><div class="col yes">â</div></div> 149 <div class="crow"><div class="feat" data-i18n="image_converter.feature_rename">Bulk rename on export</div><div class="col no">-</div><div class="col yes">â</div></div> 150 </div> 151 152 <div class="procta reveal" style="margin-top:32px;"> 153 <div> 154 <div class="big" data-i18n-html="image_converter.price_big">$7 <small>once · forever</small></div> 155 <ul> 156 <li data-i18n="image_converter.bullet_batch">Unlimited batch</li><li data-i18n="image_converter.bullet_crop">Exact resize & crop</li><li data-i18n="image_converter.bullet_aspect">Aspect ratio crops</li> 157 <li data-i18n="image_converter.bullet_rename">Bulk rename</li><li data-i18n="image_converter.bullet_target">Target a max file size</li><li data-i18n="image_converter.bullet_license">Lifetime license</li><li data-i18n="image_converter.bullet_support">Supports ongoing development</li> 158 </ul> 159 </div> 160 <div style="display:flex;flex-direction:column;gap:12px;min-width:220px;"> 161 <button class="btn btn-primary" id="buyBtn" disabled style="justify-content:center;" data-i18n="image_converter.checkout_ready">Unlock Pro - $7</button> 162 <a class="btn btn-ghost" href="#" data-install style="justify-content:center;" data-i18n="image_converter.install_first">Install the extension first</a> 163 </div> 164 </div> 165 </div></section> 166 167 <!-- FAQ --> 168 <section style="padding-top:0;"><div class="wrap"> 169 <div class="section-head"><p class="mono-label" data-i18n="image_converter.faq_kicker">FAQ</p><h2 data-i18n="image_converter.faq_title">Questions, answered.</h2></div> 170 <div class="faq-accordion image-converter-faq"> 171 <div class="faq-item open"> 172 <button class="faq-trigger" aria-expanded="true"><span data-i18n="image_converter.faq_upload_q">Are my files uploaded anywhere?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 173 <div class="faq-body"><p data-i18n-html="image_converter.faq_upload_a">Never. All decoding, conversion, and compression happen locally in your browser using the Canvas API and WebAssembly. Processing makes zero network calls; the only request the extension ever sends is a one-time license check when you activate Pro. The right-click and page-scan tools run only when you explicitly trigger them, and no page content is ever sent anywhere.</p></div> 174 </div> 175 <div class="faq-item"> 176 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_heic_q">How do I convert iPhone HEIC photos?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 177 <div class="faq-body"><p data-i18n="image_converter.faq_heic_a">Just drop them in. HEIC is the one format Chrome can't decode natively, so we run a local WebAssembly decoder (libheif). Your photos are converted to JPG, PNG, WebP or AVIF entirely on your device, with correct orientation.</p></div> 178 </div> 179 <div class="faq-item"> 180 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_pdf_q">What can I do with PDFs?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 181 <div class="faq-body"><p data-i18n="image_converter.faq_pdf_a">Quite a lot. You can convert PDF pages to images (JPG, PNG, WebP, AVIF), combine images into a single PDF, compress a PDF by rasterizing its pages at a chosen DPI and quality level, merge multiple PDFs into one document, or split a multi-page PDF into individual page files. All of this is free.</p></div> 182 </div> 183 <div class="faq-item"> 184 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_pdf_size_q">Will PDF compression always reduce the file size?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 185 <div class="faq-body"><p data-i18n="image_converter.faq_pdf_size_a">
185Not always. PDFs that contain mostly text and vector graphics are already very compact. Rasterizing them to images can make them larger. Compression works best on PDFs that already contain embedded photos or scanned images. The extension shows you the before and after size so you always know the result.</p></div> 186 </div> 187 <div class="faq-item"> 188 <button class="faq-trigger" aria-expanded="false"><span>How do the web image tools work?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 189 <div class="faq-body"><p>Right-click any image on a webpage to save it as PNG, JPG, WebP, or AVIF, compress or resize it first, or open it in the full converter. In Chrome you can also click "Find Images on This Page" in the popup to scan the current tab into a gallery and batch-convert or batch-download. The first time you use these tools the browser asks for permission to read image data on sites; it is requested once, on demand, never at install.</p></div> 190 </div> 191 <div class="faq-item"> 192 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_exif_q">What does "Remove EXIF" do?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 193 <div class="faq-body"><p data-i18n="image_converter.faq_exif_a">EXIF metadata is information embedded in JPEG photos: GPS coordinates, camera model, date taken, and more. Checking "Remove EXIF" strips this before saving the output, which protects your location privacy when sharing images. It only applies when converting to JPG, since other formats do not carry EXIF in the same way.</p></div> 194 </div> 195 <div class="faq-item"> 196 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_target_q">What is the max file size target?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 197 <div class="faq-body"><p data-i18n="image_converter.faq_target_a">A Pro feature that automatically finds the highest quality that fits under a size you set (for example, 500 KB). The extension runs a binary search over quality levels so you do not have to guess. Works for JPG, WebP, and AVIF. Not available for PNG since PNG is lossless.</p></div> 198 </div> 199 <div class="faq-item"> 200 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_sub_q">Is Pro a subscription?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 201 <div class="faq-body"><p data-i18n="image_converter.faq_sub_a">No. Pro is a single $7 payment that unlocks everything forever: unlimited batches, exact resize and crop, aspect ratio cropping, bulk rename, and the max file size target. It keeps working offline after you activate.</p></div> 202 </div> 203 <div class="faq-item"> 204 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_activation_q">How does activation work?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 205 <div class="faq-body"><p data-i18n="image_converter.faq_activation_a">After purchase you get a license key shown on screen and emailed as backup. Paste it into the extension once. It then works offline. We never re-check on every launch, and you will never be locked out if you are offline.</p></div> 206 </div> 207 <div class="faq-item"> 208 <button class="faq-trigger" aria-expanded="false"><span data-i18n="image_converter.faq_refund_q">Can I get a refund?</span><i data-lucide="chevron-down" class="faq-chevron"></i></button> 209 <div class="faq-body"><p data-i18n-html="image_converter.faq_refund_a">Yes, payments are handled by Paddle, our Merchant of Record. See our <a href="/refund/" style="color:var(--accent)">refund policy</a>.</p></div> 210 </div> 211 </div> 212 </div></section> 213 214 <section style="padding-top:0;"><div class="wrap"> 215 <div class="section-head"><p class="mono-label">More from VeriMedia</p><h2>More privacy-first tools.</h2></div> 216 <div class="formats"> 217 <a class="fmt" href="/vanishai/" style="text-decoration:none;color:inherit;"><div class="name">VanishAI</div><div class="meta">Skip Google AI Overviews · Free</div></a> 218 <a class="fmt" href="/quietbrowsing/" style="text-decoration:none;color:inherit;"><div class="name">
218QuietBrowsing</div><div class="meta">Clean tracking links · Free + Pro</div></a> 219 </div> 220 </div></section> 221 222 <footer></footer> 223 224
224<script src="https://cdn.paddle.com/paddle/v2/paddle.js" id="paddleSdk"></script>
224 225
225<script> 226 const PADDLE_TOKEN = 'live_2f19b88294a235307e74e44f820'; 227 const PRICE_ID = 'pri_01ksyzt6bxskdfk8yvggr303fz'; 228 const DEFAULT_EXT_ID = 'ginldpeohafdjojkghpoeflaloemlimh'; 229 const CHROME_STORE_URL = 'https://chromewebstore.google.com/detail/image-pdf-converter-and-c/ginldpeohafdjojkghpoeflaloemlimh'; 230 const FIREFOX_STORE_URL = 'https://addons.mozilla.org/en-US/firefox/addon/image-converter-and-compressor/'; 231 232 // Route installs to the right store based on the visitor's browser. 233 const IS_FIREFOX = navigator.userAgent.includes('Firefox'); 234 const STORE_URL = IS_FIREFOX ? FIREFOX_STORE_URL : CHROME_STORE_URL; 235 const STORE_NAME = IS_FIREFOX ? 'Firefox Add-ons' : 'Chrome Web Store'; 236 237 const params = new URLSearchParams(location.search); 238 const extId = params.get('ext') || DEFAULT_EXT_ID; 239 const successUrl = `${location.origin}/image-converter/success/?ext=${encodeURIComponent(extId)}`; 240 const i18n = (key, fallback) => window.VM_TRANSLATIONS?.image_converter?.[key] || fallback; 241 242 // Reflect the detected browser in the install button label. 243 if (IS_FIREFOX) { 244 document.querySelectorAll('[data-install]').forEach((el) => { 245 if (/add to chrome/i.test(el.textContent)) el.textContent = '+ Add to Firefox - Free'; 246 }); 247 } 248 249 document.querySelectorAll('[data-install]').forEach((el) => { 250 el.addEventListener('click', (e) => { 251 if (STORE_URL) { el.setAttribute('href', STORE_URL); el.setAttribute('target', '_blank'); return; } 252 e.preventDefault(); 253 el.textContent = `Launching on the ${STORE_NAME} soon â¦`; 254 }); 255 }); 256 257 const buyBtn = document.getElementById('buyBtn'); 258 let paddleReady = false; 259 260 function showCheckoutUnavailable() { 261 if (paddleReady) return; 262 buyBtn.disabled = false; 263 buyBtn.removeAttribute('data-i18n'); 264 buyBtn.textContent = 'Checkout unavailable - retry'; 265 } 266 267 function openCheckout() { 268 if (!window.Paddle) { 269 showCheckoutUnavailable(); 270 return; 271 } 272 if (buyBtn.disabled) return; 273 Paddle.Checkout.open({ 274 items: [{ priceId: PRICE_ID, quantity: 1 }], 275 settings: { successUrl, displayMode: 'overlay', theme: 'dark' }, 276 }); 277 } 278 buyBtn.addEventListener('click', openCheckout); 279 280 function initPaddle() { 281 if (paddleReady || !window.Paddle) return; 282 paddleReady = true; 283 Paddle.Initialize({ 284 token: PADDLE_TOKEN, 285 eventCallback: (e) => { 286 if (e.name === 'checkout.completed') { 287 const txn = e.data?.transaction_id || e.data?.id || ''; 288 if (txn) sessionStorage.setItem('paddle_txn', txn); 289 location.href = txn ? `${successUrl}&txn=${encodeURIComponent(txn)}` : successUrl; 290 } 291 }, 292 }); 293 buyBtn.disabled = false; 294 buyBtn.setAttribute('data-i18n', 'image_converter.checkout_ready'); 295 buyBtn.textContent = i18n('checkout_ready', 'Unlock Pro - $7'); 296 maybeAutoCheckout(); 297 } 298 if (window.Paddle) initPaddle(); 299 else window.addEventListener('load', () => window.Paddle && initPaddle()); 300 document.getElementById('paddleSdk')?.addEventListener('error', showCheckoutUnavailable); 301 setTimeout(showCheckoutUnavailable, 6000); 302 303 function maybeAutoCheckout() { 304 if (params.get('ext')) openCheckout(); 305 } 306 </script>
vendor: 1 bytes, line 306
306
307<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"efd92ae952af426abeecf14e81e0227d","r":1,"spa":2}' crossorigin="anonymous"></script>
307 308</body> 309</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.