Chrome / Brave extension · v0.1.0

Spin your DOM in z-space

zstack explodes any web page into its z-index / stacking layers and floats them in 3D — so you can finally see which thing is on top of what, and why.

Add to Chrome ↗ Install manually View source ↗ Local-only · no build step · no servers · no tracking
zstack — exploded stacking layers
zstack exploding a web page into its stacking layers with the report panel open
// the problem

Flat DevTools can't show you a stacking bug

The menu that hides behind a banner. The modal that won't come to the front. The z-index: 999999 arms race in someone else's CSS. zstack is a forensic tool for exactly these.

z-index: 2147483647 z-index: 2147483631 z-index: 2 z-index: 1 stacking context (z:auto) images & svg (page flow) page flow (base)
// diagnostics

What it catches

zstack flags the stacking mistakes that cause real bugs — right in a report panel next to the exploded view.

🚨

Absurd z-index values

Anything with |z-index| ≥ 100,000 is called out as a red "felony" layer. That 2147483647 you've seen? Yeah.

🗜️

Silently clamped values

Browsers cap z-index at ~2.1 billion. zstack reads your original CSS and shows you where a value got quietly clamped.

🔇

z-index that does nothing

A z-index on a position: static element is ignored by the browser. zstack points it out.

🧬

Why a layer exists

Explains what created each stacking context — transform, opacity, filter, will-change, position

// viewing

Two ways to look at it

🧊

3D

The layers float in depth. Fly the camera through them, rack focus, and orbit to see the gaps between layers.

2D

The same layers laid out as a flat, scrollable grid — easier to scan at a glance. Flip between them with the V key.

// install

Up and running in 2 minutes

The easiest way is straight from the Chrome Web Store. Prefer to load it yourself? The manual steps are below.

Add to Chrome ↗ Works in Brave and other Chromium browsers too.

Download the repo

Grab the ZIP from GitHub (Code → Download ZIP) and unzip it, or clone it.

Open your extensions page

Go to chrome://extensions (or brave://extensions).

Turn on Developer mode

Flip the toggle in the top-right corner.

Load unpacked

Click Load unpacked and select the extension/ folder. Pin the zstack icon to your toolbar.

Now open any web page and click the zstack icon. Click it again (or press esc) to close. Prefer no install? Open index.html from the repo for a self-contained demo.

// controls

Controls

Key / actionWhat it does
/ scrollrack focus through the layers
dragorbit the stack (3D)
Vswitch 2D / 3D view
Lshow / hide the report panel
Ptoggle paint / wire rendering
Dre-print the report to the DevTools console
Rsnap to a 45° angle
0reset the camera
escclose (or click the toolbar icon again)
🔒 Runs entirely on your machine

zstack only reads the page you're on when you click it, using just the activeTab and scripting permissions. It sends nothing anywhere, has no servers, and does no tracking. Read the full Privacy Policy.

← back to home

Terms of Service

Effective July 8, 2026 · Last updated July 8, 2026

These Terms of Service ("Terms") govern your use of zstack (the "Extension") and this website. zstack is a free, open-source developer tool. By using it, you agree to these Terms.

1. Acceptance of these Terms

By installing, loading, or using the Extension, or by using this website, you confirm that you have read and agree to be bound by these Terms. If you do not agree, do not use the Extension or the website.

2. What zstack is

zstack is a browser extension for Chromium browsers (Chrome, Brave, and similar) that analyzes the currently active web page and renders its z-index / stacking layers for inspection. It is a diagnostic and educational tool intended for developers, designers, and QA engineers.

zstack operates locally within your browser. It has no backend service, no user accounts, and does not transmit the pages you inspect to us or any third party. See the Privacy Policy for details.

3. License

zstack is released under the MIT License. In short, you are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, subject to including the original copyright and license notice. The software is provided "as is". The full license text is included in the project repository and governs the software itself; where these Terms and the MIT License conflict regarding the software, the MIT License controls.

4. Acceptable use

You agree to use zstack lawfully and responsibly. You will not:

  • use the Extension to access, inspect, or interfere with web pages or systems you are not authorized to access;
  • use it in a way that violates the terms of service of the websites you visit or any applicable law;
  • misrepresent the origin of the software, or remove or obscure its copyright and license notices;
  • rely on it as the sole basis for a security, safety, or compliance decision.

zstack inspects the page you explicitly point it at. You are responsible for the pages you choose to inspect and for how you use the results.

5. No warranty

The Extension and website are provided "as is" and "as available," without warranty of any kind, express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. zstack renders a fast approximation of a page's stacking structure; it may be incomplete or inaccurate, and it does not replace the browser's own developer tools. We do not warrant that it will be error-free or uninterrupted.

6. Limitation of liability

To the maximum extent permitted by law, in no event shall the author(s) or copyright holders be liable for any claim, damages, or other liability — whether in an action of contract, tort, or otherwise — arising from, out of, or in connection with the Extension, the website, or the use of or other dealings in the software.

7. Changes to these Terms

We may update these Terms from time to time. When we do, we will revise the "Last updated" date above. Continued use of the Extension or website after changes take effect constitutes acceptance of the revised Terms.

8. Contact

Questions about these Terms? Email jason@growdnd.com or open an issue on the GitHub repository.

← back to home

Privacy Policy

Effective July 8, 2026 · Last updated July 8, 2026

The short version: zstack does not collect, store, or transmit any personal data. It runs entirely inside your browser, only reads the page you actively point it at, and sends nothing to any server. There are no accounts, no analytics, and no tracking.

1. Scope

This Privacy Policy explains how the zstack browser extension and this website handle information. It applies to the Extension published from the zstack project and to this marketing/documentation website.

2. What we collect

Nothing. zstack does not collect, store, sell, or share any personal information or usage data. Specifically, the Extension does not:

  • create user accounts or ask you to log in;
  • send the content of the pages you inspect to us or anyone else;
  • use analytics, telemetry, cookies, fingerprinting, or advertising identifiers;
  • maintain any server or database that stores your data.

3. Browser permissions

zstack requests only the minimum permissions needed to do its job:

  • activeTab — grants temporary access to the current tab only when you click the zstack toolbar icon, so it can read that page's structure.
  • scripting — lets zstack inject the overlay script that analyzes and renders the stacking layers on the page you're viewing.

zstack does not request broad host permissions and does not run in the background on pages you haven't explicitly activated it on.

4. Everything happens locally

When you click the zstack icon, the analysis and 3D/2D rendering run entirely within your browser on your device. The DOM information zstack reads is used only to build the on-screen visualization and report, and is discarded when you close the overlay. Nothing is uploaded, logged remotely, or persisted between sessions by us.

zstack reads same-origin stylesheets to detect original ("authored") z-index values and clamping. This reading also happens locally in your browser and is never transmitted anywhere.

5. This website

This website is a static informational site. It does not set tracking cookies or run advertising or analytics scripts. If the site is hosted on a third-party platform (for example, a static hosting provider), that host may automatically record standard technical logs such as IP addresses and user-agent strings for security and operational purposes. We do not control, combine, or use those logs to identify or profile you.

6. Third-party services

zstack does not integrate any third-party SDKs, analytics, or advertising networks. If you choose to visit our source repository (for example, on GitHub), that third party's own privacy policy governs your interaction with it.

7. Children's privacy

zstack is a developer tool and is not directed to children. Because we collect no personal information from anyone, we likewise collect none from children.

8. Changes to this policy

If this policy changes, we will update the "Last updated" date above and post the revised version here. Because zstack collects no data, we do not expect material changes, but we will note any if they occur.

9. Contact

Questions about your privacy or this policy? Email jason@growdnd.com or open an issue on the GitHub repository.