⚡deftools.io Security

🔏 SRI Hash Generator

Generate Subresource Integrity hashes for CDN scripts and stylesheets — sha256, sha384, sha512

Drop a JS/CSS file here, or browse

About this tool

Subresource Integrity (SRI) lets the browser verify that a CDN or third-party script hasn't been tampered with. You add an integrity attribute with a base64-encoded cryptographic hash to your <script> or <link> tags. The browser computes the hash of the fetched resource and blocks execution if it doesn't match.

This tool computes SHA-256, SHA-384, and SHA-512 hashes from a resource URL (it fetches the content for you), a local file you drop or browse for, or pasted script/CSS content, then gives you the ready-to-use HTML tag with the integrity attribute and crossorigin="anonymous".

Example: Paste https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js into the URL field and click Fetch → a <script> tag with the sha384 hash appears, ready to drop into your HTML.

FAQ

What hash algorithm should I pick? ›

Use sha384 for production. It is the sweet spot: strong enough to be collision-resistant, widely supported by all modern browsers, and shorter than sha512. SHA-256 is also fine but less common in the SRI ecosystem. SHA-512 is overkill and results in a longer integrity attribute.

Can I generate SRI for a local file? ›

Yes. Drop or browse for a JS, CSS, or MJS file using the file upload area. The file is read entirely in your browser — nothing is uploaded to any server. The content is loaded into the text area and you can then click Generate to get the SRI hashes and ready-to-use HTML tags.

Why does my tag include crossorigin="anonymous"? ›

SRI requires the resource to be fetched with CORS when it is hosted on a different origin. Adding crossorigin="anonymous" tells the browser to send a CORS request without credentials. If you omit it, the browser will refuse to apply SRI and the hash check is skipped entirely.

What happens if the hash doesn't match? ›

The browser blocks the resource from loading. A script with a bad integrity hash won't execute; a stylesheet won't be applied. You'll see a warning in the DevTools Console like "Failed to find a valid digest in the 'integrity' attribute." This is a safety feature — if a CDN is compromised and serves a modified file, the browser refuses it instead of running attacker-controlled code.

Related security tools

Copied!