npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mace-w/auto-crop

v1.0.3

Published

a small helper that crops a given image and returns the cropped image as new url

Readme

@mace-w/auto-crop

A lightweight utility to automatically crop images based on their actual visible content. Especially useful for transparent PNGs --- for example renderings, icons, or images with large safe zones. The service inspects pixel alpha values to remove empty transparent borders.

Demo

https://codepen.io/Mace-Wieland/pen/myPMgaB

✨ Features

  • Automatically crops an image down to its meaningful content
  • Works with image URLs or already-loaded <img> elements
  • Adjustable "inaccuracy" value to trade accuracy for performance
  • Returns Base64 URLs that can be directly used as an image source
  • Zero dependencies

📦 Installation

npm install @mace-w/auto-crop

or

pnpm add @mace-w/auto-crop

🚀 Usage

1. Crop an image by URL (recommended)

import { ImageCropService } from '@mace-w/auto-crop';

const cropService = new ImageCropService();

cropService
  .getCroppedImageUrl('https://example.com/image.png')
  .then((croppedUrl) => {
    const img = document.getElementById('target') as HTMLImageElement;
    img.src = croppedUrl.toString();
  });

2. Crop an already-loaded HTMLImageElement

import { ImageCropService } from '@mace-w/auto-crop';

const img = document.querySelector('#my-img') as HTMLImageElement;

new ImageCropService().cropImage(img);

⚙️ API

getCroppedImageUrl(url: string, inaccuracy?: number): Promise<URL>

Loads the image from the URL, crops it, and returns a Promise resolving to the cropped image URL.

  • url -- The image URL
  • inaccuracy -- How many pixels to skip while scanning (default: 5)
    • Higher values → faster, less accurate
    • Lower values → slower, more accurate

cropImage(image: HTMLImageElement, inaccuracy?: number): HTMLImageElement

Crops an already loaded <img> element.

  • Modifies the element's src directly
  • Returns the same image element

🧠 How it works

The service renders the image onto an off-screen canvas, scans pixel data (RGBA), and finds the first and last non-transparent pixels in both axes. It then draws the meaningful area onto a new canvas and exports it as a Base64 string.

📜 License

MIT