Webflow · free forever · no signup

Add a free npm downloads badge to Webflow

One snippet, pasted into a Code Embed element on the canvas — because it belongs beside the install command, in the post or docs page that teaches it. Webflow is behind hundreds of thousands of production sites, and almost none of those sites want another app just to render a small piece of live data. Nothing to install. Webflow renders raw HTML and script tags inside a Code Embed element, so no third-party app sits between you and the widget.

The free npm downloads badge that doesn't refetch an SVG every page load. Shields.io's npm badge is fetched 3rd-party. npm-stat.com is a separate site visitors have to leave for. This npm downloads badge is a 4 KB script tag — pulls the live download count from api.npmjs.org, caches it server-side for 6 hours, and shows 'npm 3.2M downloads / week' as a crisp pill in 7 themes. Free, no API key, no signup, supports scoped packages (@scope/pkg).

How to install it on Webflow

  1. 1Open the page in the Designer and click Add (+) → Code Embed.
  2. 2Drag it exactly where the widget should appear — under a heading, beside a product, above the footer.
  3. 3Paste the snippet into the code editor and click Save & Close. The Designer shows a placeholder, not the widget.
  4. 4Publish, then open the live URL to see it render.
On a free webflow.io staging site? Code Embeds render inline, not in an iframe, so the widget inherits your Webflow styles and sizes itself — no fixed height to manage, unlike iframe-based builders.

Three things that trip people up on Webflow

Custom code fields need a paid plan

Site settings → Custom code and the page-level code fields are gated behind a paid Site plan or a paid Workspace. On a free webflow.io staging project they're visible but inert, which looks exactly like a broken snippet. The Code Embed element has no such gate, so free projects are not locked out — put the snippet on the canvas instead.

The Designer never runs your code

A Code Embed shows a grey placeholder in the Designer, and site-level code doesn't execute on the canvas at all. Preview is unreliable for third-party scripts too. Publish, then check the live domain in a normal tab. Most 'the widget doesn't work on Webflow' reports are an unpublished change.

Don't add a second jQuery, and watch the 50k cap

Webflow already loads its own jQuery; importing another version breaks interactions site-wide. Our snippet has no jQuery dependency, so nothing to do here — but if you're pasting several third-party tags, that's the usual culprit. Each code field also caps at 50,000 characters; past that, host the file externally and link it.

What you get, and what it costs

  • Free forever — there is no paid tier, no trial and no card
  • No signup for the badge-style widgets; the live ones create a site ID inline from your URL
  • Async script — it never blocks your page from rendering
  • Works in the Designer, in page-level and site-level custom code, and inside CMS Collection page templates
  • Bots filtered server-side on every visitor-counting widget

Webflow questions

Do I need an app to add a npm downloads badge to Webflow?

Nothing to install. Webflow renders raw HTML and script tags inside a Code Embed element, so no third-party app sits between you and the widget. Installing an app for this would mean an extra dependency, an update cycle and a security surface to render one snippet. Paste it into a Code Embed element on the canvas and you're done.

Where exactly does the snippet go on Webflow?

A Code Embed element on the canvas — because it belongs beside the install command, in the post or docs page that teaches it. Open the page in the Designer and click Add (+) → Code Embed. Drag it exactly where the widget should appear — under a heading, beside a product, above the footer. Paste the snippet into the code editor and click Save & Close. The Designer shows a placeholder, not the widget. Publish, then open the live URL to see it render.

Will it slow my Webflow site down?

No. The script tag is async, so it never blocks your page from rendering, and the widget draws itself after your content is already on screen. Webflow serves your site from its own CDN and the snippet is a single async tag, so it loads beside your content rather than in front of it. Put JavaScript in Footer code rather than Head code when you don't need it early — Webflow recommends the same thing. Nothing to purge; publishing replaces the page.

Does it work with page builders like Webflow Designer?

Webflow Designer: Add (+) → Code Embed. Page settings: paste inside the <head> tag or before </body> for one page. Site settings: Custom code → Head or Footer for every page. CMS Collection templates: drop a Code Embed into the template. Any builder with a raw-HTML or code block will render it, because there's nothing framework-specific in the snippet.