A tech stack is the combination of programming languages, frameworks, libraries, databases, servers, and tooling used to build and run web applications.
A Tech Stack (technology stack) is the structured hierarchy of software tools, programming languages, client-side frameworks, server runtimes, databases, caching layers, and cloud infrastructure components that combine to power a web application. Modern web architectures span multiple functional layers—from client-side presentation (e.g., React, Vue, Tailwind CSS) and edge routing (e.g., Cloudflare Workers, Vercel Edge) to server execution runtimes (Node.js, Go, Python, PHP) and persistent storage (PostgreSQL, Redis).
Audit and reverse-engineer the architecture of any website in seconds using our privacy-first Tech Stack Detector, inspect operational server responses with the HTTP Headers Analyzer, or explore client-side bundle structures with the Source Map Explorer.
| Architectural Layer | Standard Technologies | Key Client-Side Markers & Fingerprints |
|---|---|---|
| Meta-Framework & SSR | Next.js, Nuxt, Astro, SvelteKit, Remix | __NEXT_DATA__, /_next/static/chunks/, id="__nuxt", <astro-island> |
| UI & Reactive Runtime | React, Vue.js, Svelte, Angular, Solid | data-reactroot, data-v-, ng-version, _nghost- attributes |
| Styling & CSS Engine | Tailwind CSS, Bootstrap, Material UI | Compiled atomic classes (flex, grid, bg-slate-900), MuiButton, chakra- |
| Content Management (CMS) | WordPress, Shopify, Drupal, Ghost, Sanity | <meta name="generator">, /wp-content/themes/, Shopify.theme |
| Edge CDN & Reverse Proxy | Cloudflare, Vercel, Fastly, AWS CloudFront | Response headers: CF-Ray, x-vercel-id, x-amz-cf-id, x-served-by |
| Analytics & Telemetry | Google Analytics 4, Plausible, PostHog, Hotjar | gtag/js?id=G-, googletagmanager.com/gtm.js, plausible.io/js/script.js |
| Security & Gateways | Turnstile, reCAPTCHA, hCaptcha, WAF | challenges.cloudflare.com, recaptcha/api.js, hcaptcha.com |
Software fingerprinting analyzes publicly exposed client-side artifacts to determine underlying components with high statistical confidence:
Incoming Web Request / Rendered Document
│
├── 1. HTTP Response Headers ───────► Server, X-Powered-By, CF-Ray, X-Vercel-Id
│
├── 2. Meta & Header Elements ──────► <meta name="generator" content="WordPress 6.5">
│
├── 3. Script & Link Resource URLs ──► /wp-content/plugins/woocommerce/, /_next/static/
│
├── 4. DOM AST & State Markers ─────► id="__next", data-sveltekit-hydrate, ng-version
│
└── 5. Global Window Objects ────────► window.Shopify, window.dataLayer, window.hj
Edge proxies and application servers often transmit diagnostic headers. For example:
CF-Ray: 8bb109a12c4d-IAD indicates routing via Cloudflare's Washington Dulles edge node.x-vercel-id: iad1::iad1::v5n7q-1725619200000 confirms deployment on Vercel's serverless platform.X-Powered-By: PHP/8.3.10 or Express reveals the backend language/framework (unless stripped by security policies).Modern Single Page Applications (SPAs) serialize state into inline script payloads for client hydration:
<!-- Next.js Pages Router Injected State -->
<script id="__NEXT_DATA__" type="application/json">
{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"7kR8N..."}
</script>
Monolithic content management systems load plugins and themes from rigid path patterns:
/wp-content/themes/{theme-name}/style.css and /wp-content/plugins/{plugin-name}/window.Shopify.theme = {"name": "Dawn", "id": 135402324} and /apps/{app-slug}/interface DetectedMarker {
technology: string;
category: string;
evidence: string;
}
export function detectWebStack(html: string, headers: Headers): DetectedMarker[] {
const matches: DetectedMarker[] = [];
// Check HTTP Header
if (headers.has('cf-ray')) {
matches.push({ technology: 'Cloudflare', category: 'CDN', evidence: headers.get('cf-ray')! });
}
// Check Next.js
if (html.includes('id="__next"') || html.includes('/_next/static/')) {
matches.push({ technology: 'Next.js', category: 'Meta-Framework', evidence: 'Next.js hydration markers' });
}
// Check WordPress
const wpMatch = html.match(/<meta\s+name=["']generator["']\s+content=["'](WordPress\s+[^"']+)["']/i);
if (wpMatch) {
matches.push({ technology: 'WordPress', category: 'CMS', evidence: wpMatch[1] });
}
return matches;
}
Yes. Webmasters can obscure their tech stack by configuring reverse proxies to strip Server and X-Powered-By headers, self-hosting JavaScript libraries under arbitrary pathnames, disabling generator <meta> tags, and utilizing CSS class name obfuscators. However, runtime hydration requirements and third-party SaaS integrations (analytics, live chats, payments) almost always leave identifiable fingerprints.
No. Tech stack detection only inspects public data sent to client browsers (HTML markup, script tags, stylesheets, and HTTP response headers). Private databases (such as PostgreSQL, MySQL, or MongoDB) and internal VPC microservices remain invisible unless explicitly leaked through unhandled API error traces.
Use the free Tech Stack Detector to perform real-time URL scanning or paste raw HTML for 100% private, client-side analysis.
Free, browser-based utilities to test, generate, and inspect Tech Stack (Web Technology Fingerprinting & Architecture) payloads directly.
Detect frameworks, CMS platforms, analytics, and server technologies used by any website.
Analyze HTTP response headers for security, caching, and compliance issues.
Resolve minified stack traces back to original source code using source maps.
Analyze and visualize JavaScript bundle sizes with optimization suggestions.