Glossary
Plain-language definitions of SEO, redirect, analytics, and web technology terms. Each entry answers the question first, then explains how the thing actually works and what doesn't matter.
230 terms
- Anchor linkAn anchor link is same-page navigation using an href starting with # (a fragment identifier), or an empty href that triggers scroll behaviour within the current page.
- Canonical Tag: How to Tell Google Which URL Is the OriginalThe canonical tag (<link rel="canonical" href="...">) tells search engines which URL is the authoritative version when equivalent content is reachable at multiple addresses - via parameters, protocol, www/non-www, trailing slashes, or syndication.
- Canonical URLA canonical URL is the version of a page that you designate as the primary one for search engines to index when the same or very similar content is reachable at more than one address.
- Charset Declaration: Why UTF-8 Belongs at the Top of Every PageThe charset declaration (`<meta charset="UTF-8">`) tells the browser which character encoding to use when decoding the page's bytes into text, so letters, symbols, and non-Latin scripts render correctly rather than as garbled "mojibake".
- Empty Alt Text (alt="") for Decorative ImagesAn empty alt attribute (alt="") tells assistive technology an image is decorative and should be skipped entirely. This is correct and distinct from a missing alt attribute, which forces screen readers to announce the filename or generic fallback instead.
- External LinksAn external link is an anchor tag whose href resolves to a domain other than the one the page is served from. Every external link on this list, nofollow, sponsored, ugc, or plain, is a subset of this category, split out by its rel attribute.
- Favicon: The Small Icon With a Small but Real SEO RoleA favicon is the small icon (commonly 16x16 or 32x32, referenced via `<link rel="icon">`) shown in browser tabs, bookmarks, and next to a site's listing in Google's mobile search results.
- Generator Meta Tag: What It Reveals About a Site's PlatformThe generator meta tag (`<meta name="generator" content="WordPress 6.5">`) is an optional, often auto-inserted tag naming the CMS, theme, or site builder that produced the page.
- Heading Structure (H1-H6) and SEOHeading structure is the H1 through H6 outline of a page, expressing content hierarchy the way an outline expresses a document's sections. Search engines and assistive technology both use it to parse what a page covers and how its sections relate.
- Hreflang Tags for International SEOHreflang is a `link rel="alternate" hreflang="x"` annotation, set in the HTML head, an HTTP header, or an XML sitemap, that maps a set of equivalent pages across languages or regions so Google can serve the right one to each searcher. It signals equivalence and locale targeting, not translation or duplicate content.
- HTML lang Attribute: Telling Search Engines and Browsers Your Page's LanguageThe lang attribute on the <html> element (e.g., <html lang="en">) declares a page's primary language for browsers, screen readers, translation tools, and search engines.
- Image CountImage count is how many `img` elements, `picture` elements, and CSS background images appear on a page. It's a volume metric, not a quality one. It just sets the baseline for alt text and file-weight checks.
- IndexabilityIndexability is the composite answer to whether a page can end up in Google's index once every gate is checked: HTTP status code, robots.txt, meta robots/X-Robots-Tag, and canonical target. All four must pass; they're evaluated together, not in isolation.
- Internal LinksAn internal link is an anchor tag whose `href` resolves to another URL on the same registrable domain. They're the primary way Googlebot discovers new and updated pages after the initial crawl, and the mechanism through which authority signals flow between pages on a site.
- JavaScript LinksA JavaScript link is an anchor tag whose `href` is a `javascript:` URI (or missing entirely, relying on `onclick`), rather than pointing to an actual URL. Because there's no `href` for crawlers to extract, Googlebot has nothing to add to its discovery queue.
- Keyword DensityKeyword density is the frequency of specific words or phrases relative to total word count. It's a diagnostic measure of which terms a page emphasises most, hinting at the page's topic.
- Link AuditA link audit counts and classifies every link on a page (internal, external, nofollow, sponsored, broken) so you can spot crawl and authority problems at a glance.
- Mailto LinksA mailto link uses the `mailto:` URI scheme to open the visitor's email client with a pre-filled recipient, subject, or body text instead of loading a page.
- Meta Description: What It Is and Why It Still Matters for SEOThe meta description is a <meta name="description"> tag in <head> supplying the short summary shown under the title link in search results. It carries no ranking weight but is the second thing a searcher reads before deciding to click.
- Meta Robots Tag: Controlling Indexing and Link-Following Per PageThe meta robots tag (<meta name="robots" content="...">) is a page-level directive controlling whether a crawler may index a page and whether it should follow the outbound links on it. It's independent of robots.txt, which governs crawling access rather than indexing.
- Missing Image Alt TextA missing alt attribute means an `img` tag has no alt attribute at all, which is different from an empty one. Screen readers have nothing to announce and fall back to the filename; Google has no text context.
- Nofollow Linksrel="nofollow" tells search engines not to follow a link or pass ranking credit through it. Since September 2019, Google treats nofollow as a hint, not a rule; it may ignore it for both crawling and ranking.
- On-Page SEO Score: How a Single 0-100 Number Is CalculatedAn on-page SEO score is a single 0-100 number, often paired with a letter grade, produced by rolling up a checklist of on-page factors - title, meta description, headings, indexability, images, links, schema - into one weighted composite.
- Open Graph Tags ExplainedOpen Graph tags are `<meta property="og:*">` elements that tell Facebook and LinkedIn what title, image, and description to show when a page is shared. Without them, those platforms guess from your page title and the first large image they find.
- Right-Click SEO Shortcuts: What Each One OpensThe context menu is the small list that appears when you right-click a web page. Scalpel SEO adds a short set of shortcuts to it, so you can jump straight from the page to its analysis, its robots.txt, its sitemap, or an external check such as PageSpeed Insights, the Rich Results Test, or the Wayback Machine. You can turn each shortcut on or off in the extension's settings, so the menu only holds the ones you use.
- Schema Completeness: Required vs Recommended PropertiesSchema completeness measures whether a structured data block includes Google's required properties for its type, and how many recommended properties are also present. Required properties gate rich-result eligibility; recommended ones shape how the rich result renders.
- SERP Preview: Simulating How Your Page Looks in Google ResultsA SERP preview is a mockup rendering a page's title and meta description the way Google displays them in search results, using pixel widths instead of raw character counts.
- Sponsored Linksrel="sponsored" is a link attribute marking paid arrangements: advertising, sponsorships, or affiliate deals. Google introduced it in September 2019 as one of three rel hints, alongside nofollow and ugc.
- Structured Data and Schema Markup ExplainedStructured data is markup, usually JSON-LD, that describes a page's content in schema.org vocabulary so search engines parse it as data instead of inferring from prose. It enables rich results: star ratings, FAQs, recipes, and product prices in Google search.
- target="_blank" Without rel="noopener"target="_blank" opens a link in a new tab. Historically, without rel="noopener" or rel="noreferrer", the newly opened page could access window.opener and redirect the original tab via reverse tabnabbing.
- Tel LinksA tel link uses the tel: URI scheme to trigger a phone call on mobile devices, and sms: does the same for text messages. Neither generates a crawlable page or link equity.
- Title tagA title tag is the HTML title element that names a page. Search engines show it as the clickable headline in search results and use it as a signal of what the page is about.
- Twitter Card TagsTwitter Card tags are `<meta name="twitter:*">` tags that control how a link displays when shared on X. X reads these first, then falls back to Open Graph tags for missing fields.
- UGC Linksrel="ugc" is a link attribute Google introduced in September 2019 to mark links embedded in user-generated content: blog comments, forum posts, guestbook entries. It signals the site owner didn't author or vet the linked content.
- Uncommon Link SchemesUncommon link schemes are hrefs using a non-standard URI scheme: data: URIs, app-specific protocol handlers (whatsapp:, myapp://), or other non-http URLs. Crawlers can't index them.
- View as Googlebot: What User-Agent Switching ProvesThis feature temporarily changes the browser tab's User-Agent header to Googlebot's, so a server that serves different content based on UA reveals that behaviour. It is a UA switch only. The requesting IP stays the browser's own, and nothing about Google's actual rendering pipeline runs.
- Viewport Meta Tag: The Baseline for Mobile-Friendly PagesThe viewport meta tag (`<meta name="viewport" content="width=device-width, initial-scale=1">`) tells mobile browsers to render the page at the device's actual width instead of a shrunk-down desktop layout - the foundation of a responsive design.
- Why Scalpel SEO Is Free, and How Donations HelpScalpel SEO is a free browser extension with no paid tier, no locked features, and no adverts. If you find it useful, you can make an optional one-off donation that helps fund new checks and ongoing upkeep. Donating is never required, and it does not unlock anything, because every feature is already free for everyone.
- Word Count in SEOWord count is the word tally of a page's visible body text, excluding navigation and boilerplate. Auditing tools use it to flag pages worth investigating, not as a target number.
- GA4 Session IDThe GA4 session ID is a timestamp-based value, sent as `sid`, that groups a user's events into a single visit. It travels with the session number (`sct`) and an engagement flag (`seg`), which together tell GA4 when a new session starts.
- Google Ads Conversion TagA Google Ads conversion tag, identified as `AW-XXXXXXX`, tells Google Ads that someone completed an action worth counting, such as a purchase or a sign-up. It fires a request to `googleadservices.com` so a campaign can be measured against real outcomes.
- Google Consent ModeGoogle Consent Mode passes a user's cookie choices to Google tags on every hit. The `gcs` parameter carries the signal state, and `gcd` carries the consent defaults and updates, so Google can adjust how it stores data and models gaps.
- Google Tag Manager ContainerA Google Tag Manager container is a single script, identified as `GTM-XXXXXXX`, that a site loads once. It holds the tags, triggers and variables you configure in the GTM interface, and it decides which tags fire and when.
- GTM vs gtag.js`gtag.js` is Google's tag that sends data straight to products like GA4 and Google Ads. Google Tag Manager puts a container in between, so you configure tags in an interface rather than in code. Plenty of sites run both at once.
- HAR ExportHAR export writes the captured hits to a HAR file. HAR (HTTP Archive) is the standard JSON format that Chrome DevTools, Firefox, Charles and Fiddler all read, so you can share a tag session or reopen it in another tool.
- Hit Log FilterThe hit filter is a search box. It keeps only the hits whose event name, account id, or any decoded parameter value contains what you type. The match ignores case and updates as you type, so you can focus on one event fast.
- Hit Status CodeThe status chip on a hit is its HTTP response code. Green means a 2xx success (a GA4 collect usually returns 204 No Content). Red means a 4xx or 5xx error. Grey means the request has not completed yet.
- Keyboard shortcutsScalpel Tags ships keyboard shortcuts. One toggles preserve log in the panel, another opens the side panel. You can change or clear the keys yourself on the browser's extensions shortcuts page, at `chrome://extensions/shortcuts`.
- Meta PixelThe Meta Pixel is Meta's web tracking tag. It sends events (PageView, Purchase, custom events) to facebook.com/tr as image or fetch requests, so advertisers can measure conversions and build audiences from what happens on their site.
- Preserve LogPreserve log stops Scalpel Tags clearing its capture when the page loads a new URL. Normally each new document starts a fresh log. With preserve log on, hits and dataLayer pushes carry across loads, so you can follow a redirect or a multi-step checkout.
- Record toggle (pause and resume)The record toggle controls live capture. While recording, new hits stream into the panel. When you pause it, the panel stops adding rows so the view holds still, but status codes on the rows you already have keep updating as requests finish.
- Remarketing TagA remarketing tag adds a visitor to an advertising audience so they can be shown ads later. It fires on a page view, often through doubleclick.net view-through requests, and it is not the same as recording a completed conversion.
- Replayed dataLayer PushA replayed push is one that happened before Scalpel Tags could hook dataLayer.push. The tool reads the entries already sitting in the array, reports them in order so the timeline is complete, and flags each one as replayed rather than live.
- Scalpel Tags DevTools panelThe Scalpel Tags DevTools panel is the deep view. It lists every captured hit with time, provider, event, account and status, plus a text filter, per-vendor controls, raw request and body, and the dataLayer timeline with diffs. Open DevTools and pick the tab.
- Scalpel Tags right-click menuThe right-click menu adds two shortcuts to any page. One opens Scalpel Tags on that tab so you can inspect its tags. The other toggles preserve log, keeping the capture across page loads. Turn each item on or off in the popup settings.
- Side panel viewThe side panel docks Scalpel Tags to the side of the browser window. Unlike the toolbar popup, which closes the moment you click the page, the side panel stays open and follows the active tab, so you can browse and watch tags at once.
- Support Scalpel LabsScalpel Tags is free and stays free. There is no paid tier, no nag screen, and nothing is held back behind a paywall. If the extension saves you time, a small donation helps us keep it maintained and build more tools like it.
- What are GA4 event parameters?GA4 event parameters are the extra fields attached to an event, such as `page_type` or `value`. On the wire they appear as `ep.<name>` for text and `epn.<name>` for numbers. User properties use `up.<name>` and describe the user, not the event.
- What are hits and batched hits in GA4?A hit is a single request a tag sends. To save round trips, GA4 often batches several events into one `POST` to `/g/collect`, with each event on its own line of the request body. A batch is still one network request.
- What does muting a vendor do?Muting a vendor hides that vendor's hits everywhere in Scalpel Tags, both the popup and the panel, while still showing that the vendor is present. It cuts noise from a chatty tag so you can watch the one you care about.
- What is a dataLayer push?A dataLayer push is a call to `dataLayer.push(...)`. It appends one object to the array. Google Tag Manager watches for pushes, and a Custom Event trigger fires when a push carries a matching `event` value, such as `add_to_cart`.
- What is a GA4 measurement ID?A GA4 measurement ID, written `G-XXXXXXX`, identifies one Google Analytics 4 data stream. Every hit the page sends carries it as the `tid` query parameter, which is how Google routes the event to the right property.
- What is a tag provider, and how does decoding work?A provider is the vendor behind a request, such as GA4, Google Ads or Meta. Scalpel Tags tests each request URL against a set of known endpoint patterns, and when one matches it decodes the parameters into named, readable fields, all in the browser.
- What is first-party (server-side) tagging?First-party tagging serves collection from the site's own domain rather than Google's, usually through a server-side GTM container. The requests still look like GA4 hits, so Scalpel Tags recognises any host that carries the `/g/collect` path with `v=2`.
- What is the accumulated dataLayer state?The accumulated state is the full dataLayer object as it stands after the push you selected. Scalpel Tags folds every earlier push in, using GTM merge rules, so you see the exact data a tag would read at that moment, not just the last push.
- What is the dataLayer diff?The dataLayer diff compares the accumulated state before and after a push. It lists what the push added, what it changed (with the old and new values), and what it removed, using dot-paths like `ecommerce.value`, so overwrites are obvious.
- What is the dataLayer?The `dataLayer` is a plain JavaScript array on the page. Your site pushes objects into it (events, ecommerce details, user state), and Google Tag Manager reads those objects to decide which tags to fire and what data to send.
- What is the GA4 client ID?The GA4 client ID is a random identifier stored in the `_ga` first-party cookie. It travels on every hit as the `cid` parameter and ties requests from the same browser together, which is how GA4 counts one user across several sessions.
- What is the GA4 Measurement Protocol?The GA4 Measurement Protocol is the format GA4 uses on the wire. Each hit is a request to `/g/collect` whose parameters describe the event (`en`), the property (`tid`), the client and session, and the device, all as key/value pairs.
- What is the provider filter?The provider filter is a row of chips, one per vendor Scalpel Tags has seen. Ticked chips are shown; untick one to drop that vendor from the table. It is a quick way to focus on a single tool on a busy page.
- Confidence Scores: How Sure Is a Technology Detection?A confidence score is how sure a detection is, from 0 to 100. Each piece of evidence contributes its own weight and they sum, capped at 100; 100 means practically certain and anything under 50 is a weak hint. Implied technologies inherit a reduced share of their implier's confidence.
- Cookie Detection: How Cookie Names Reveal the PlatformCookie detection matches the names of cookies a site has set against known platform patterns: `PHPSESSID` means a PHP session, `_shopify_s` means Shopify, `wordpress_logged_in_*` means WordPress. Only cookies already present in the current tab are read, entirely locally. The value is not needed: the name is the signal.
- Detection HistoryDetection history is a short, per-site record of your recent technology scans. It is held only in session memory, capped per site, and cleared when the browser closes. Nothing is written to disk and nothing is uploaded.
- Detection VectorsA detection vector is the channel a detection came from: an HTTP response header, a meta tag, a script URL, inline script text, a cookie, a JavaScript global, a DOM element, the page HTML, or the page URL. Each vector has different reliability and different privacy properties.
- DOM DetectionDOM detection looks for elements a technology inserts into the page, matched by CSS selector, plus optional checks on an element's attributes or text. Chat widgets, page builders, embeds and frameworks all leave signature nodes.
- Fingerprint Database FreshnessFreshness is how old the bundled fingerprint snapshot is. Scalpel Stack ships a pinned copy of the open database, so it ages between updates. Older snapshots can miss newer technologies, so the popup flags its age and prompts a refresh.
- HTML Pattern DetectionHTML pattern detection matches fingerprints against the page's rendered HTML: the comments, class names, data attributes and markup structures a framework, theme or plugin leaves behind. It is the catch-all vector for traces that are not a header, script, cookie, meta or global.
- HTTP Header Detection: Reading the Server and X-Powered-By LinesHTTP header detection fetches the current page's own URL once, only when you click 'Check HTTP headers', to read its response headers such as Server, X-Powered-By, X-Generator and Via. Server-side technologies reveal themselves here and almost nowhere else.
- Implied Technologies: Detections Inferred From Other DetectionsAn implied technology is one inferred from another rather than seen directly: WooCommerce implies WordPress, which implies PHP and MySQL. Implied entries carry slightly lower confidence than the detection that produced them.
- JS Global Detection: Finding Libraries by Their window VariablesJS global detection checks for variables a library defines on window: React, Shopify, jQuery.fn.jquery, __NEXT_DATA__. It probes a fixed list of dot-paths in the page's own JavaScript world.
- Meta Tag Detection: The generator Tag and Other GiveawaysMeta tag detection reads a page's meta elements, most usefully the generator tag, which many content management systems stamp with their name and version. It is the single most reliable CMS giveaway when present.
- Right-Click Menu Shortcuts: Detect a Stack or Copy a Report in One ClickThe right-click menu shortcuts add two entries to a page's context menu: 'Detect stack on this page', which opens the analysis in the side panel, and 'Copy tech report', which copies the Markdown report to your clipboard. Each entry can be turned on or off in settings.
- Script Detection: What a Page's <script> Tags RevealScript detection reads a page's script tags: the URLs it loads scripts from and the inline script code between the tags. Both frequently name a library: /wp-includes/js/, cdn.shopify.com, react.production.min.js.
- Side Panel Mode: Keep the Technology Stack in View as You BrowseSide panel mode docks the analysis in Chrome's side panel instead of the toolbar popup. The panel stays open beside the page and re-scans automatically as you switch tabs, so a site's technology stack stays in view while you browse.
- Tag Managers: The Container That Loads Everything ElseA tag manager is a container (Google Tag Manager is the dominant one) that loads other marketing and analytics scripts ('tags') from a single snippet, configured outside the site's code. One tag-manager detection usually means several tools are loaded behind it.
- Technology Categories: Grouping a Stack by What Each Part DoesA technology category groups detected technologies by what they do: content management, analytics, CDN, frameworks, e-commerce, tag managers, and dozens more. Scalpel Stack uses the categories defined by the open fingerprint database, ordered by priority.
- Technology Fingerprinting: How a Website's Stack Gives Itself AwayA technology fingerprint is a recognizable trace a technology leaves in a web page: a script URL, a meta tag, a cookie name, a JavaScript global, a DOM structure or an HTTP header. These traces identify it without asking any server.
- The Evidence TrailAn evidence trail is the exact proof behind a detection: which vector fired, the fingerprint pattern that matched, and the matched text from the page. Nothing is asserted without it.
- The Open Fingerprint Database Behind Scalpel StackThe open fingerprint database is the set of technology patterns Scalpel Stack matches against: a version-pinned snapshot of the community-maintained, GPL-licensed enthec/webappanalyzer project, bundled inside the extension.
- Version Extraction: Reading a Tech's Exact VersionVersion extraction reads a technology's version out of the matched text itself: a `?ver=` query string on a script URL, a generator meta tag, or a JavaScript global, using the fingerprint's capture groups. It is never guessed.
- What Is a CDN? Content Delivery Networks ExplainedA content delivery network (CDN) serves a site's assets and often the whole site from edge servers geographically near each visitor, cutting latency and absorbing load. Cloudflare, Fastly, Akamai and Amazon CloudFront are common examples.
- What Is a CMS? Content Management Systems ExplainedA content management system (CMS) is the software a website's pages are authored, stored and served with (WordPress, Drupal, Joomla, Ghost and many others). It separates content from presentation so non-developers can publish. Because a CMS stamps consistent traces across every page, it is one of the most detectable parts of a stack.
- 301 redirectA 301 is the HTTP status code for a permanent redirect. It tells browsers and search engines a page has moved permanently to the new address in the Location header.
- 302 redirectA 302 tells the client a resource is temporarily at the URL in the Location header. Browsers don't cache it by default, and search engines usually keep the original URL as the canonical one.
- 303 redirectA 303 tells the client to fetch a different resource with a GET request, regardless of the original method. It powers the POST-redirect-GET pattern: after form submission, redirect to results so refresh never resubmits.
- 307 redirectA 307 is a temporary redirect that preserves the request method and body. A POST stays a POST at the new URL. Chrome also displays '307 Internal Redirect' when HSTS upgrades HTTP to HTTPS; this is a browser-side response, not from any server.
- 308 redirectA 308 is the permanent redirect that preserves the request method and body; a POST stays a POST. For search engines it's equivalent to a 301: signals consolidate onto the new URL.
- Cache-Control HeaderCache-Control is the response header that tells browsers and shared caches whether and for how long they may reuse a response without asking the server again. On a redirect, it governs how long the redirect decision itself is replayed locally.
- Canonical Link HeaderThe canonical Link header (Link: <https://...>; rel="canonical") declares the authoritative URL for a response at the HTTP layer, exactly as the HTML link rel="canonical" tag does in the head. It is the only way to canonicalise non-HTML resources such as PDFs.
- Follow Redirects with curl - Replay a Chain from the Shell`curl -L <url>` follows redirects and prints each hop. Add `-I` to send HEAD requests (headers only), and `-sSIL` bundles silent mode, show-errors, HEAD, and location-follow into one command. That single line traces the whole chain from the shell with nothing but curl.
- HAR File - Share a Redirect Chain in DevTools FormatA HAR file (HTTP Archive) is a JSON record of HTTP requests and responses. Each hop in a redirect chain becomes one entry with its URL, status code, response headers and timing. Any tool that reads HAR can open it (Chrome DevTools, Firefox, or a standalone HAR viewer) and show the chain in its native inspector.
- HSTS Header: How Strict-Transport-Security Eliminates Redirect HopsHTTP Strict Transport Security is a response header (Strict-Transport-Security: max-age=...) that instructs the browser to reach this host only over HTTPS for the given lifetime. Once learned, the browser upgrades any http:// attempt internally before it touches the network, which Chrome displays as a '307 Internal Redirect'.
- JavaScript RedirectA JavaScript redirect sends the visitor to a new URL from script (`location.href`, `location.replace`, or `location.assign`) after the original page loads. It's a client-side redirect, invisible at the HTTP layer and only visible once JavaScript executes.
- Meta Refresh Redirect: How It Works and Why Server Redirects Beat ItA meta refresh is an HTML instruction (`<meta http-equiv="refresh" content="5; url=...">`) that tells the browser to load another URL after N seconds. It happens after the page is delivered and parsed, making it a client-side redirect rather than an HTTP one.
- Per-Tab Redirect HistoryPer-tab history is the extension's rolling record of the last 20 navigations in each tab, browsable from the popup's history strip. Selecting an entry re-renders that chain read-only, exactly as it was captured.
- Redirect Chain: What It Is, What It Costs, and How to Collapse ItA redirect chain is the sequence of hops between a requested URL and the final URL that serves content (e.g. http→https→www→target). Each hop adds one round trip before the user sees anything.
- Redirect Loop: Why ERR_TOO_MANY_REDIRECTS Happens and How to Fix ItA redirect loop is a chain that revisits a URL it has already been through, so no request ever reaches content. Browsers detect the cycle after a bounded number of hops and give up with an error such as Chrome's ERR_TOO_MANY_REDIRECTS.
- Redirect Server Config - Write One Rule Instead of ThreeRedirect server config is the rule in your web server or CDN that tells it where to send a request. Instead of stacking three rules that each add a hop, you write one rule per entry variant that points directly at the final URL. nginx uses `return 301`, Apache uses `RewriteRule`, and Cloudflare uses Redirect Rules.
- Redirect Waterfall - Which Hop Owns the WaitA redirect waterfall is a bar chart where each hop becomes a bar, placed by when it started and sized by how long it took. The first bar starts at time zero; each subsequent bar starts when the browser sent the next request. It turns a flat list of hops into a picture of where the time went.
- Served From CacheA from-cache hop is one the browser answered out of its own HTTP cache instead of contacting the server. The status, headers, and redirect target you see are a replay of an earlier response; the server's current behaviour may already differ.
- Server IP per Redirect HopThe server IP of a hop is the address of the machine that produced that response: a CDN edge, a load balancer, or the origin. In multi-layer setups, different hops are routinely answered by different machines.
- Support Scalpel Redirects - Why the Tools Are FreeScalpel Redirects is free to use, with no ads, no tracking, and no paid tier. The only donation surface is a single button in settings, and it is entirely optional. A donation helps fund more free tools in the same family.
- Toolbar badgeThe toolbar badge shows the extension's at-a-glance verdict for the current tab, updated on every navigation. Colour indicates the category (amber for redirects, red for failures, purple for client redirects); text shows the hop count or status code.
- Wasted Redirect HopsA wasted hop is any redirect in a chain that could be eliminated by pointing its source directly to the final URL. The most common forms are 301→301 chains from old migrations and http→https→www stacks that should be one rule.
- X-Robots-TagX-Robots-Tag is an HTTP response header that applies the same directives as the robots meta tag (noindex, nofollow, noarchive). It works on any response: PDFs, images, non-HTML files, where meta tags can't go.
- Audible Tabs: Why Playing Sound Blocks SuspensionAn audible tab is one that is currently making sound, such as music, a video, or a call. Suspending it would reload the page and cut the sound, so Scalpel protects audible tabs from the automatic sweep by default.
- How Much Memory Does Suspending a Tab Save?Suspending a tab frees the memory its page was holding by tearing down the renderer process. Scalpel estimates the saving at about 85 MB per tab. Real figures vary widely by page, so the number is a guide, not a measurement.
- How to Suspend a Tab Right NowSuspending a tab discards it on demand rather than waiting for the inactivity timer. Scalpel frees the page's memory using Chrome's native discard; the tab keeps its title and position and reloads when you next open it.
- Import and Export Your Never-Suspend ListExport writes your never-suspend list as plain text, one site per line, that you can copy and save. Import reads that text back, adds each valid site, skips duplicates, and lists any lines it could not read as a pattern.
- Keyboard Shortcuts for Suspending TabsScalpel ships two keyboard shortcuts. Alt+S suspends the tab you are viewing, switching you to a neighbour first. Alt+Shift+S suspends every other tab in the window. You can change or clear both at `chrome://extensions/shortcuts`.
- Native Tab Discard: Why It Beats a Placeholder PageNative tab discard is Chrome's own way to suspend a tab, exposed through `chrome.tabs.discard()`. It frees the page's memory while keeping the real URL in the tab, so uninstalling or disabling the extension can never strand or lose a tab.
- Never Suspend a Site: Protect One DomainMarking a site as never-suspend adds its hostname to your protected list, so Scalpel leaves every tab on that site open. A bare hostname protects the site and all of its subdomains, from any window.
- Never-Suspend Patterns: Hostnames and Paths, No RegexA pattern is either a bare hostname or a hostname with a path. `mail.google.com` matches that host and its subdomains. `example.com/docs` also requires the path to start with `/docs`. There are no wildcards and no regular expressions.
- Pausing Tab Suspension: A Temporary Off SwitchPausing is a temporary off switch for the automatic sweep. While paused, no tab is suspended on its timer, but you can still suspend or restore tabs by hand. Resuming turns the sweep back on with your settings untouched.
- Pinned Tabs and Why Scalpel Leaves Them AloneA pinned tab is one you have fixed to the left of the tab strip, shrunk to its favicon. People pin the tabs they keep open all day, so Scalpel protects pinned tabs from the automatic sweep by default.
- Reading Your Suspended-Tab StatisticsThe stats panel is a running tally for the current browser session. It shows how many tabs are suspended now and their estimated memory, the total you have suspended this session, what is protected right now, and the sites you have freed most.
- Restore Suspended Tabs Without Losing Your PlaceRestoring reloads every suspended tab in the current window at once, so they are ready when you need them. It reloads each tab in place and does not switch you away from the tab you are on.
- Suspend All Other Tabs in a WindowSuspend other tabs discards every tab in the current window in one go, except the tab you are viewing. Pinned tabs, audio tabs, sites on your never-suspend list, and tabs with unsaved input are left alone.
- The Never-Suspend List: Sites You Always Keep OpenThe never-suspend list is your set of protected sites. Any tab whose address matches an entry is skipped by every sweep. Add a bare hostname to protect a whole site, or a hostname with a path to protect one section.
- The Scalpel Right-Click Menu for Suspending TabsScalpel adds up to three actions to the right-click menu on any web page: suspend the tab you are on, suspend every other tab in the window, or add the site to your never-suspend list. You can switch each one off in settings.
- The Tab Inactivity Timer: How Long Before a Tab SuspendsThe inactivity timer is the delay a tab must sit unused before Scalpel suspends it. The clock starts when you last looked at the tab; opening the tab, or loading a new page in it, resets the clock to zero.
- The Toolbar Badge: Your Suspended-Tab Count at a GlanceThe toolbar badge is the small number on the extension's icon. It counts how many tabs are suspended right now, across every window, and updates as tabs suspend and restore. You can switch it off if you prefer a clean icon.
- Unsaved Form Input: The One Thing Suspending Can LoseUnsaved form input is text you have typed into a page but not yet submitted. Because suspending reloads the tab, that text would be lost, so Scalpel protects a tab with unsaved input until you submit the form or reset it.
- What Is a Suspended Tab (and How It Frees Memory)A suspended tab is one Chrome has discarded to free the memory its page was using. The tab stays in the strip with its title and favicon, holds its position, and reloads its page the moment you click back to it.
- Colspan and Rowspan: How Merged Table Cells Are Exportedcolspan and rowspan let one table cell stretch across several columns or rows. On screen it reads fine, but a naive copy leaves holes where the covered cells would be. Filling every covered position with the merged value keeps the pasted grid rectangular.
- Column Data Type Inference: Guessing What Each Column HoldsColumn type inference guesses what a column holds, such as a number, date, currency, percentage, boolean, URL, email or plain text, by matching the shape of its values. It reads form, not meaning, so 03/04/2026 is 'a date' without deciding which day it is.
- Copy a Web Table into Google Sheets Without Losing ColumnsCopying a table for a spreadsheet means putting two flavours on the clipboard at once: tab-separated plain text and a real HTML <table>. Sheets, Excel and Numbers each read whichever they prefer, so a paste keeps every row and column instead of dumping into one cell.
- CSV File Format: What It Is and How Quoting WorksCSV (comma-separated values) is a plain-text table: one record per line, fields separated by commas. RFC 4180 sets the rules, most importantly that a field holding a comma, a double quote or a line break is wrapped in double quotes, with inner quotes doubled.
- CSV Injection: Why a Cell Starting with = Is DangerousCSV injection (formula injection) happens when a spreadsheet treats a cell beginning with `=`, `+`, `-` or `@` as a formula and runs it on open. Scraped data can carry a hostile cell like `=cmd|...`. Prefixing such cells with a single quote makes the spreadsheet show them as literal text.
- Markdown Tables - The Pipe Syntax and Its LimitsA Markdown table uses pipes to separate columns and a dashed line under the first row to mark the header, as defined by GitHub Flavored Markdown. It is great for READMEs and issues, but it cannot show merged cells and treats a literal pipe in a cell as a column break unless escaped.
- Merge Several Web Tables into One CSV or Excel WorkbookMerging tables means exporting several tables from a page as one deliverable rather than one file each. A stacked CSV puts them one under another with a heading between; an XLSX workbook gives each table its own sheet; a rich copy pastes them all in one go.
- Nested Tables - How a Table Inside a Cell Is HandledA nested table is a `<table>` placed inside another table's cell. Older layouts used them heavily. When you extract data, the inner table's text should not be flattened into the outer cell; each table is better read on its own.
- Pick a Table on the Page - Click to Capture Exactly OnePick on page turns the cursor into a table picker - hover highlights each detected table, and a click captures that one. It is the answer when the automatic list misses a table inside a scroll container, or when a page has many tables and you want just one.
- Table Detection Confidence: What the Percentage MeansDetection confidence is a 0 to 100 percent score for how table-like a block of markup is. A real `<table>` with two or more rows, two or more columns and a header scores near the top; a loose list of repeated cards scores lower because it might not be data.
- Table Extraction Limits: Why a Big Table Gets TruncatedExtraction limits are safety caps on how much of a very large table is read: here, 10,000 rows, 256 columns and 32 KB of text per cell. They stop a runaway page from freezing the browser. Normal pages never come close.
- Table Header Row: Telling Headings from DataThe header row is the row of column names at the top of a table. HTML marks it up with `<thead>` or `<th>`, but plenty of pages skip that, so a tool has to guess and let you override. The choice decides which cells become headings in an export.
- The Right-Click Menu - Capture or Copy a Table Without the PopupThe right-click menu adds two shortcuts to the browser context menu - capture every table on the page, or copy the table under your cursor straight to the clipboard. Both work without opening the popup, and each item can be switched off in settings.
- The UTF-8 BOM: Why Excel Sometimes Needs It in a CSVA byte-order mark (BOM) is three bytes (EF BB BF) at the very start of a UTF-8 file. UTF-8 does not need one, but older Excel uses it as a signal to read the file as UTF-8, so accents and symbols open correctly instead of turning into mojibake.
- Transpose a Table: Turn Rows into ColumnsTransposing a table swaps its axes: the first row becomes the first column and vice versa. It is the fix when a table is laid out the wrong way for your tool, for example a wide table of one record per column that you want as one record per row.
- TSV Files: Tab-Separated Values and When to Use ThemTSV (tab-separated values) is like CSV but uses a tab between fields. Because ordinary text rarely contains a tab, TSV pastes into a spreadsheet cleanly even when cells hold commas, which is why the clipboard uses it for structured pastes.
- Web Table Detection: Real Tables, ARIA Grids and Div GridsWeb table detection is the job of finding tabular data in a page's markup. Some tables use the real `<table>` element; many use `<div>`s styled as grids, ARIA roles, or repeated cards. A good extractor recognises all four shapes, not just `<table>`.
- Why Scalpel Labs Tools Are Free, and How Donations HelpScalpel Tables is free with every feature unlocked, no account, and no upsell. Donations are optional and never gate anything. They cover the cost of building and maintaining the tools, and fund the next ones, so the whole set can stay free.
- XLSX Files: What an Excel Workbook Actually IsXLSX is the modern Excel workbook format. Despite the single icon, an `.xlsx` file is a zip archive of XML parts (the OOXML standard, ECMA-376): a workbook, one sheet per worksheet, styles and relationships. That structure is why it can hold multiple sheets and cell types a CSV cannot.
- Anchor Text: Write Link Text That Describes the TargetAnchor text is the visible, clickable words inside a link. Good anchor text describes the target. 'Read our returns policy' tells you what's there. 'Click here' tells you nothing.
- Broken Link Checker: Find Dead Links on a PageA broken link checker requests each link on a page and reads its HTTP status code. A 404 means the page vanished; a 5xx means the server failed; a 2xx means it still works.
- Browser Context-Menu ShortcutsA browser context menu is the list that appears when you right-click a page. Scalpel adds a small set of shortcuts to it, such as extracting the page's links or opening its sitemap, and you choose which appear.
- Duplicate Links: Why One URL Shows Up Many TimesDuplicate links are repeated hyperlinks to the same URL on one page. Shared nav, body and footer templates often repeat the same URL dozens of times. Deduping removes duplicates to show the real link total.
- Highlight Links on a PageHighlighting links draws an outline around every link on a page and colours it by type. You see internal, external and nofollow links at a glance without reading HTML.
- Regex Link FilteringA regex link filter matches links against a regular expression rather than plain text. One pattern selects every PDF, every link under a path, or every URL with a tracking parameter in a single pass.
- Region CaptureRegion capture lets you drag a rectangle on a page and extract only the links inside it. Export one menu, table or article section instead of every link on the entire page.
- XML SitemapAn XML sitemap is a urlset file listing URLs you want search engines to find. One loc element per URL. Aids discovery on large sites with weak internal links. Does not make a page rank.
- Bulk Image DownloadBulk image download saves every selected picture in one action. Each file is written to your chosen subfolder with the name pattern applied, using the chrome.downloads API. No zip archive; zipping would need a bundled library.
- Canvas Image ExtractionA canvas element draws pixels with JavaScript, so there is no file URL to copy. To save it you call canvas.toDataURL(), which returns a PNG data URI. A canvas drawing cross-origin content becomes tainted and throws SecurityError.
- CSS background-imageA CSS background-image paints a picture behind an element through a stylesheet rule, not an img tag. The URL lives in the element's computed style, so the only reliable way to find these is to sweep getComputedStyle across the page, which is how Scalpel Images catches them.
- Data URI ImagesA data URI (data URL) embeds a whole image inside the URL itself as base64 or percent-encoded text, using the data: scheme, so the image loads with no extra network request. Because the bytes are right there in the string, you can read the exact file size without downloading anything.
- Duplicate Image DetectionDuplicate image detection groups images that are almost certainly the same file served from different URLs. Matching by byte size plus pixel dimensions is fast and needs no pixel decoding, unlike perceptual hashing. This lightweight approach catches most duplicates with no computational cost.
- How to Find Every Image on a Web PageImages reach a page through several channels, not just the <img> tag. A thorough extractor also reads srcset and <picture> candidates, lazy-load attributes like data-src, CSS background-image, same-origin <canvas>, preload hints and the og:image meta tag.
- Image Dimension ProbingDimension probing loads an image quietly in the background, with a new Image() object, to read its natural width and height when the page never rendered it. Lazy-loaded and off-screen images have no measured size until something loads them, so probing fills that gap.
- Image DimensionsAn image has two sizes. Its natural size is the real pixel width and height of the file, read from naturalWidth and naturalHeight. Its display size is the box it fills on the page, set by CSS. A 2000px photo can display in a 200px box, so the two rarely match.
- Image File FormatAn image file format is how the file is encoded, shown by its extension or its data-URI MIME type: jpg, png, gif, webp, svg or avif. Each suits a job: JPEG for photos, PNG for flat graphics with transparency, SVG for vectors, WebP and AVIF for smaller modern files.
- Image File SizeImage file size is how many bytes the file takes. The browser already knows it for pictures the page loaded via the Resource Timing API, which reports encodedBodySize per resource. For data URIs the size is computed from the encoded payload.
- Image Filename PatternsA filename pattern renames each download using tokens that fill in per image. Scalpel Images supports {name}, {ext}, {index}, {width}, {height}, {format}, {host} and {date}. For example, {name}-{width}x{height}.{ext} saves a file as photo-800x600.jpg.
- Next-Gen Image FormatsNext-gen image formats are WebP and AVIF, newer encodings that make an image much smaller than JPEG or PNG at the same quality. WebP is a safe drop-in for most photos; AVIF compresses even harder and handles flat colour and transparency well.
- Responsive ImagesA responsive image lists several files in a `srcset` attribute, or across `<picture>` `<source>` elements, each tagged with a width (`w`) or density (`x`) descriptor. The browser picks one to fit the viewport and screen, so the file you actually see depends on the device.
- Right-Click Image MenuA context menu is the small menu that appears when you right-click anything on a web page. Chrome extensions can add their own items to it via the contextMenus API. Scalpel Images adds two actions, each with its own shortcut in the settings panel.
- Adding Custom Colors to tailwind.config.jsA Tailwind colour config adds your own colours under theme.extend.colors in tailwind.config.js. Each key becomes a set of utility classes, so brand: '#38bdf8' gives you bg-brand, text-brand, border-brand, and the rest.
- Alpha Compositing - Why Transparent Text Contrast Is TrickyAlpha compositing blends a semi-transparent colour over its background using the formula result = alpha × foreground + (1 − alpha) × background, per channel. A 50%-opaque black over white composites to grey, and must be done before measuring contrast.
- Colour Blindness Simulation - See Your Palette as Others DoColour blindness simulation re-renders a colour as someone with a colour vision deficiency would perceive it. Protanopia and deuteranopia (red-green weakness) affect roughly 8% of men; tritanopia (blue) is rare; achromatopsia is total absence of colour.
- Colour Contrast Matrix - Check Every Pair at OnceA colour contrast matrix is a grid scoring WCAG contrast of every colour in a palette against every other. Rows are text, columns are background; each cell shows the ratio and pass/fail status. The diagonal represents a colour on itself.
- Colour Design Tokens - One Palette, Every PlatformA colour design token is a named colour stored as JSON rather than baked into code. A build step transforms the same token into CSS variables, iOS and Android resources, so one source drives every platform.
- Colour History - Reuse Every Colour You Pick, PrivatelyColour history is a local list of every colour you pick, harvest or save, newest first, stored on your device. It lets you reuse a colour from earlier without re-picking. Nothing is sent anywhere.
- Colour Palette Extraction - Lift a Palette From Any PagePalette extraction captures the visible page as a bitmap and reduces its thousands of pixels to a short list of dominant colours, ranked by how much area each covers. It gives you a real site's working palette in one click.
- CSS Color Audit: Find Every Color a Page UsesA CSS colour audit reads computed colours from every visible element (`color`, `background-color`, borders, `fill`), groups them, counts usage, and lists which properties and elements use each. It is a live-page colour inventory.
- CSS Color Formats: hex, rgb, hsl, hwb and oklchCSS can write the same colour five ways: `#hex`, `rgb()`, `hsl()`, `hwb()` and `oklch()`. They render identically; they differ in how easy each is to read and adjust. Hex is compact, HSL is intuitive, OKLCH is perceptual.
- CSS Custom Properties (Variables) for ColorCSS custom properties are variables you declare with a `--` prefix, usually on `:root`, and read with `var()`: `:root { --brand: #38bdf8 }` then `color: var(--brand)`. They let one colour live in one place and cascade everywhere.
- CSS Gradients: Linear, Radial and ConicA CSS gradient is a generated image that blends two or more colour stops. `linear-gradient()` runs the blend along an angle, `radial-gradient()` spreads it from a centre point, and `conic-gradient()` sweeps it around a centre like a colour wheel.
- CSS Named Colors: All 148 Keywords (plus transparent)CSS defines 148 named colour keywords, such as `tomato`, `teal` and `rebeccapurple`, each mapping to a fixed hex value. The special keyword `transparent` is a fully see-through black, and `currentColor` inherits the element's text colour.
- Hex Color Codes: How #RRGGBB Works and When to Use ItA hex colour code writes red, green and blue as three pairs of hexadecimal digits,
- HSL Color: Hue, Saturation and Lightness in CSShsl() sets a colour by hue (an angle 0 to 360 on the colour wheel), saturation (0% grey to 100% vivid) and lightness (0% black to 100% white): hsl(199 89% 60%). An optional slash alpha adds opacity.
- HWB Color: Hue, Whiteness and Blacknesshwb() picks a hue, then adds whiteness and blackness as percentages: hwb(199 20% 10%). It mirrors how a painter tints a colour with white or shades it with black. Whiteness plus blackness at 100% yields grey.
- Median Cut Color Quantization, ExplainedMedian cut is a quantisation algorithm that recursively splits pixels into boxes in RGB space, cutting each box at the median along its longest axis. Each final box's average colour becomes a palette entry.
- OKLCH Color: Perceptual Lightness, Chroma and Hueoklch() sets a colour by lightness, chroma (colourfulness) and hue in the OKLab perceptual space: oklch(0.72 0.15 230). Because the space matches human vision, equal numeric steps look like equal visual steps, unlike hsl().
- Pinned Colors: Protect the Ones You Keep Coming Back ToPinning marks a colour as protected. Pinned colours sort to the top, survive the 100-item cap, and are kept when you Clear history. A pinned colour can also be given a name.
- Relative Luminance: The Brightness Behind ContrastRelative luminance is a colour's perceived brightness on a 0–1 scale (0 = black, 1 = white). WCAG computes it by linearising sRGB channels and weighting them 0.2126R + 0.7152G + 0.0722B, because the eye favours green over blue.
- rgb() Color: Red, Green, Blue Channels Explainedrgb() sets a colour from red, green and blue channels, each 0 to 255 (or 0% to 100%). Modern CSS writes them space-separated with an optional slash alpha: rgb(56 189 248 / 0.5). The legacy comma form still parses.
- Saved Color Palettes: Keep a Scan for LaterA saved palette is a scanned set of colours you have named and kept, stored locally. Unlike history, a saved palette holds a curated group you can reopen, copy or export anytime.
- The EyeDropper API: Native Color Picking in the BrowserThe EyeDropper API is a built-in browser feature that opens an OS-level magnifier and returns the sRGB hex of any pixel you click, anywhere on screen, including over images, video, canvas, or other applications. No screenshots, no extra permissions.
- WCAG AA vs AAA: The Contrast Pass MarksWCAG has three levels, A, AA and AAA. For text contrast, AA needs 4.5:1 for normal text and 3:1 for large text; AAA raises those to 7:1 and 4.5:1. Large text is roughly 18.66px bold or 24px regular.
- WCAG Contrast Ratio: How Text Readability Is MeasuredThe WCAG contrast ratio compares text and background luminance from 1:1 to 21:1 using the formula (L1 + 0.05) / (L2 + 0.05). Black on white reaches the maximum, 21:1; a colour on itself is 1:1.
- Bulk Tab Actions: Change Many Tabs at OnceBulk tab actions apply one command to several tabs together. You tick the tabs you want, then close, pin, mute, move, or group them all in a single step, rather than repeating the same action on each tab on its own.
- Chrome Tab Groups: Create, Rename and Colour ThemA Chrome tab group gathers related tabs under one coloured, named pill in the tab strip. You create a group from a selection of tabs, then give it a title and a colour, and collapse it to fold its tabs away when you do not need them.
- Export and Import Tab Snapshots as JSONExporting snapshots writes them to a plain JSON file you own. You can keep that file as a backup or copy it to another machine, then import it there to load the snapshots back. The file is made on your device, and nothing is uploaded.
- How to Move Tabs Between WindowsMoving tabs between windows takes the tabs you pick and sends them to another open window, or opens a new window to hold them. It is the quick way to split one crowded window into two tidy ones, or to gather scattered tabs together.
- How to Search All Your Open Tabs at OnceSearching open tabs filters every tab across all your windows as you type, matching on both the page title and its web address. The list narrows live with each keystroke, and the match ignores capital letters, so you need not match the case.
- Merge All Browser Windows Into OneMerging browser windows moves the tabs from every open window into a single window. Tab groups move across as whole units, so grouped tabs stay together rather than scattering. It is the fastest way to gather a sprawl of windows back into one.
- Recently Closed Tabs and How to Reopen ThemRecently closed tabs are the tabs and windows Chrome remembers just after you close them. Reopening one brings the page back in place, along with its back and forward history, so you carry on where you left off rather than starting the page fresh.
- Selection Scope Versus Filter ScopeScope decides which tabs a bulk action changes. Selection scope acts only on the tabs you have ticked. Filter scope acts on every tab that matches the current search, ticked or not. A toggle switches between the two before you run an action.
- Tab Audio Indicators: Sound and Mute IconsA tab audio indicator is the small icon that shows whether a tab is making sound. A speaker means the tab is playing audio. A crossed speaker means the tab is muted. Clicking the icon mutes or unmutes that tab straight away.
- Tab Session Snapshots: Save and Restore Your TabsA tab session snapshot is a saved record of the windows and tabs you have open at one moment. You restore it later to reopen those pages. The snapshot is kept on your own device in local storage, and nothing about it is ever uploaded.
- The Full Window View Versus the Toolbar PopupThe full window view opens the tab manager as its own browser tab instead of the toolbar popup. A popup closes the instant you click another window, which interrupts moves and merges. The window view stays open, so you can work across several windows without it vanishing.
- The Nine Chrome Tab Group ColoursChrome gives a tab group one of nine fixed colours: grey, blue, red, yellow, green, pink, purple, cyan, or orange. The colour shows on the group pill and its tabs, so a glance at the strip tells one group from another.
- What Are Duplicate Tabs and How to Close ThemDuplicate tabs are two or more tabs pointing at the same web address. Closing duplicates removes the extras and keeps one copy of each page. A pinned copy is always the one kept, so a tab you rely on is never the one closed.
- Acceptable Ads, and Why Scalpel Opts OutAcceptable Ads is a programme that lets certain adverts past a blocker if they meet a format standard. Large advertisers pay to be included. Some popular blockers turn it on by default. Scalpel does not join it and blocks those adverts too.
- Cosmetic Filtering, and Why V1 Skips ItCosmetic filtering hides page elements with CSS, such as the empty frame left when an advert is blocked. It needs a content script that reads the page. Scalpel version 1 blocks at the network layer only, so it does no cosmetic filtering yet.
- declarativeNetRequest, the Manifest V3 Blocking APIdeclarativeNetRequest is the Chrome API that Manifest V3 blockers use. The extension hands Chrome a set of rules once. Chrome then matches every request against them itself. The extension never sees your traffic, which is why it needs no access to your browsing.
- Dynamic Rules, Added While You BrowseDynamic rules are blocking or allow rules an extension adds while it runs, rather than bundling them. They persist across restarts. Scalpel uses one dynamic allowAllRequests rule for each site on your allowlist, which lets that site's requests through.
- EasyList, the Filter List Behind Most Ad BlockersEasyList is an open, community-maintained filter list that names the URL patterns used to serve adverts. Most blockers build on it. Scalpel bundles a version-pinned snapshot and converts it to Chrome's rule format, so the copy you run is fixed and auditable.
- EasyPrivacy, the Tracker ListEasyPrivacy is the companion list to EasyList. It targets tracking pixels, analytics beacons and fingerprinting scripts rather than display adverts. Run alongside EasyList, it stops the requests that follow you between sites without touching the page's own content.
- How Ad Blockers WorkAn ad blocker watches for the network requests that fetch adverts and trackers, then stops them before they load. The page still renders, minus the advert bytes. Blocking at the network layer cuts data, speeds up loading, and removes most tracking.
- Manifest V3 and Content BlockingManifest V3 is the current Chrome extension platform. It replaced the blocking `webRequest` API with declarativeNetRequest, where Chrome applies rules the extension supplies. The extension no longer watches your traffic, so a blocker built on it needs no browsing-history access.
- Network-Level Blocking, and Its One LimitNetwork-level blocking cancels the request that would fetch an advert, so its bytes never load. That saves data and time. What it cannot do is remove the empty space the advert would have filled, because that is a job for CSS, not the network.
- Pausing, Per Site and EverywherePausing switches blocking off temporarily, either everywhere or for one site, without changing your lists or allowlist. A global pause lasts for the browsing session and clears on restart. Turn it back on and every rule returns exactly as it was.
- Request Resource TypesThe resource type is the kind of thing a request fetches: a script, image, stylesheet, font, sub-frame and so on. Chrome tags every request with one. Filter rules use the type to be precise, such as blocking a tracker script but allowing images.
- Static Rulesets, the Bundled Rule FilesA static ruleset is a JSON file of blocking rules shipped inside the extension. Chrome reads it at install and applies it directly. Because the rules are bundled, blocking starts the moment the extension loads and needs no network request, ever.
- The Allowlist, and Where It LivesAn allowlist is the set of sites where you have switched blocking off, usually to support a site or fix a broken page. Scalpel stores yours locally and reconciles it into one dynamic rule per site, so those pages load with nothing blocked.
- The Blocked Count, and Why It Is HonestThe blocked count is the number of requests Chrome stopped on the current page. Scalpel reads it with getMatchedRules for the active tab, only when you open the popup. It does not watch other tabs, so cross-page totals under-count by design.
- The Rule Limits, and How Scalpel Stays Inside ThemChrome guarantees a minimum number of enabled static blocking rules per extension, currently 30,000, plus caps on rulesets and dynamic rules. Scalpel keeps its default lists inside the guarantee and ships the overflow as optional rulesets you can switch on.
- The Toolbar BadgeThe toolbar badge is the small label on the extension icon. It shows how many requests were blocked on the active page, or the word OFF when that site is on your allowlist or blocking is paused. It is always per tab.
- Third-party requestsA third-party request is one that loads from a different domain than the page you are on. If you visit a news site and it fetches a script from an ad network, that fetch is third-party. Most adverts and trackers work this way.
- What Is a Filter List?A filter list is a text file of rules, each describing a URL pattern to block or allow. Ad blockers read the list and act on each request. Scalpel converts the lists into Chrome's declarativeNetRequest JSON format once, at build time, not while you browse.