Production websites deliver CSS as minified bundles: single compressed files that may contain a framework, component library, and application styles all concatenated together.
Loading Unminifier Beautifier…
Step-by-step workflow for extracting CSS from DevTools Network tab
Converts concatenated multi-file bundles to readable code
Works on bundles from any framework: React, Angular, Vue, plain HTML
Instant browser-based conversion, no install required
Drop the Unminifier Beautifier into any page — blog post, product docs, intranet, school portal — with a single line of HTML. Your visitors get the full tool, processed entirely in their browser. No backend, no uploads, no signup.
Embed code
<iframe
src="https://www.fixtools.io/css-tool/unminifier-beautifier?embed=1"
width="100%"
height="780"
frameborder="0"
style="border:0;border-radius:16px;max-width:900px;"
title="Unminifier Beautifier by FixTools"
loading="lazy"
allow="clipboard-write"
></iframe>Attribution-friendly: a small "Powered by FixTools" link appears in the embed footer.
A CSS bundle is the output of a build tool that has concatenated multiple source CSS files, processed them through PostCSS or a preprocessor, and minified the result. The bundle may be named main.css, bundle.min.css, or a content-hash filename like styles.a1b2c3d4.css. It is served from the production server or a CDN and loaded by the HTML via a link tag. When you open DevTools Network tab while the page loads, this bundle appears as a CSS request. Clicking the request and viewing the Response sub-tab shows the raw minified content exactly as it arrived from the server.
The Response sub-tab is the right source for bundle inspection because it shows the actual bytes the browser received. The Sources panel also shows CSS files, but if source maps are configured, it may show the original pre-build source rather than the bundle. Source maps are useful for debugging with the original source context, but for inspecting what is actually deployed to production users, the Network tab Response is the ground truth. Copy the entire response body and paste it into FixTools to convert it to readable form.
After converting, the bundle's structure becomes clear. You will typically see a CSS reset or normalize block near the beginning, followed by base element styles, component-level styles, and utility classes. In frameworks like Next.js, the bundle may interleave styles from multiple components in the order they were imported. Understanding the bundle structure helps you locate specific rules more quickly and understand the cascade order, since rules later in the file override earlier rules of equal specificity.
Indentation conventions deserve a deliberate decision when the converted bundle is going to live in a code review or a documentation deliverable. The converter outputs two-space indentation, matching Prettier and most modern style guides. That works well for inspection: deeply nested @media inside @supports blocks remain readable without horizontal scrolling, and bundle structure is easier to follow at modest indent depths. If the converted file will be committed alongside a codebase that uses four spaces or tabs, re-indent before commit using Stylelint's indentation rule, Prettier with a project-specific tabWidth, or the editor Convert Indentation command. The cost of a mismatched indentation style is not just aesthetic; it triggers reformat-on-save in many editors, which then mixes the indentation flip with whatever real change a future developer is trying to make, producing diffs that are hard to review.
Paste a production CSS bundle copied from the browser DevTools Network tab Response sub-panel. The output expands the entire concatenated bundle into readable, indented CSS showing every rule from every file that was combined into the bundle.
Step-by-step guide to css bundle inspector:
Open DevTools and disable cache
Press F12 to open Chrome DevTools. Click the Network tab. Check the Disable Cache checkbox. This ensures the page reloads the current production bundle from the server rather than serving a cached version.
Reload and locate the CSS bundle
Press Ctrl+R to reload the page. Click the CSS filter in the Network tab. Identify the main bundle by file size: it is usually the largest CSS file. Click the bundle filename in the request list.
Copy the response body
Click the Response sub-tab in the request detail panel. Click inside the response text area and press Ctrl+A to select all, then Ctrl+C to copy the complete minified bundle content.
Convert in FixTools and explore
Open FixTools CSS Unminifier, paste the bundle content, and click Unminify. Copy the readable output to a text editor. Use Cmd+F to search for selectors, properties, or at-rules of interest within the converted bundle.
Common situations where this approach makes a real difference:
Investigating a page-specific CSS regression
A product manager reports that text on a specific product page became smaller after a recent deployment. A developer opens the product page in Chrome, copies the CSS bundle from the Network tab, converts it to readable using FixTools, and searches for the product card class name. The converted bundle shows that the font-size declaration was changed from 16px to 14px in the most recent build. The change is traced to a component style update that was not intended to affect product cards.
Auditing a performance budget for CSS
A performance engineer wants to understand what the CSS bundle contains and whether any large sections can be deferred or removed. They extract and convert the bundle, then walk through the readable output section by section. They identify a large block of @keyframes animations for a feature that was removed from the UI three months ago. Removing those keyframe declarations reduces the bundle size by 12KB, which the engineer confirms against the before-and-after minified file sizes.
Verifying a third-party CSS integration
A team adds a third-party analytics dashboard widget that injects its own CSS bundle. A developer inspects the network requests on the page with the widget enabled and finds a second CSS bundle loaded from the widget's CDN. They copy and convert that bundle to understand what styles it introduces. The converted output reveals that the widget defines its own flexbox layout and custom properties that conflict with the host application's grid system, explaining the layout shift they observed after adding the widget.
Documenting production CSS for a handoff
A contractor is handing off a project and the client wants documentation of the current production CSS. The contractor extracts the production CSS bundle from the live site, converts it to readable, adds structural comments identifying the sections, and delivers the formatted file as part of the handoff package. The client team can read and maintain the formatted file without needing the full build toolchain.
Get better results with these expert suggestions:
Identify bundle boundaries within a concatenated file
Build tools that concatenate multiple files sometimes insert comments as file boundaries before minifying. If the minifier was configured to preserve licence comments (starting with /*!), these boundary comments survive in the bundle. After converting to readable, search for /*! to find these markers. They identify which section of the bundle originated from which source file.
Check the Content-Length header to confirm bundle size
In the DevTools Network tab, click the bundle request and check the Headers sub-tab for the Content-Length response header. This tells you the exact transfer size of the minified bundle in bytes. Comparing this against the character count of the converted readable output helps you understand the whitespace overhead.
Use multiple Network tab CSS entries to identify split bundles
Some build configurations split CSS into multiple bundles: a critical CSS file loaded in the head and a deferred bundle loaded asynchronously. Both appear in the Network tab. Inspect and convert each one separately to understand the full CSS loaded on a page.
Look for duplicate @font-face declarations in the converted bundle
Concatenated bundles sometimes include @font-face declarations from multiple component stylesheets that define the same font. After converting, search for @font-face and count the occurrences. Duplicate font face declarations add bundle size without providing any additional functionality.
Disable cache before inspecting to see the latest bundle
Check the Disable Cache checkbox in the DevTools Network tab before reloading. Without disabling cache, Chrome may serve a cached version of the CSS bundle that could be days or weeks old, not reflecting recent production changes.
Filter by CSS type to find bundles quickly
Click the CSS filter button in the DevTools Network tab to show only stylesheet requests. Production bundles stand out by their file size: they are typically the largest CSS files on the page. Sort by Size to find the main bundle quickly.
Use Ctrl+Shift+P and type Coverage to find unused CSS
After converting a bundle to readable form, use DevTools Coverage tool to identify which rules are actually used on the page. Cross-referencing coverage data with the readable bundle helps prioritise CSS that can be removed from the bundle in future builds.
More use-case guides for the same tool:
Open the full Unminifier Beautifier — free, no account needed, works on any device.
Open Unminifier Beautifier →Free · No account needed · Works on any device