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 🙏

© 2025 – Pkg Stats / Ryan Hefner

n8n-nodes-jscanify

v0.5.1

Published

n8n node for document scanning using OpenCV.js (pure JavaScript, no native dependencies)

Readme

n8n-nodes-jscanify

This is an n8n community node. It lets you use professional document scanning capabilities in your n8n workflows using OpenCV.js - with zero native dependencies!

This node can detect, highlight, and extract paper documents from images with automatic distortion correction, all using pure JavaScript/WebAssembly.

n8n is a fair-code licensed workflow automation platform.

✨ Key Features

  • 🚀 Pure JavaScript/WebAssembly - No native compilation required!
  • 📦 Easy Installation - Installs in seconds on any platform
  • 🌍 Cross-Platform - Works on Linux, macOS, Windows, ARM, Docker
  • 🎯 Professional Document Detection - Accurate paper boundary detection using OpenCV
  • 📐 Perspective Correction - Undistorts skewed and angled documents
  • Fast Performance - WebAssembly-optimized processing (~350-500ms per image)
  • Production Ready - Uses official OpenCV.js library

Table of Contents

Installation

Follow the installation guide in the n8n community nodes documentation.

Community Nodes Installation

  1. Go to Settings > Community Nodes
  2. Select Install
  3. Enter n8n-nodes-jscanify in Enter npm package name
  4. Agree to the risks of using community nodes
  5. Select Install

After installing the node, you can use it like any other node in your workflows.

Operations

This node supports the following operations:

Highlight Paper

Detects and highlights paper/document boundaries in an image. This operation:

  • Detects the edges of a paper document in the image
  • Draws a highlighted overlay showing the detected paper boundaries
  • Returns the image with the highlighted paper area
  • Useful for previewing detection before extraction

Extract Paper

Extracts and undistorts a paper document from an image. This operation:

  • Detects the paper document in the image
  • Applies perspective correction to undistort the document
  • Extracts the paper to a clean, rectangular image
  • Allows you to specify output dimensions (width and height)
  • Ideal for scanning documents, receipts, business cards, etc.

Credentials

This node does not require any credentials as it processes images locally using pure JavaScript.

Compatibility

  • Minimum n8n version: 0.200.0
  • Tested with: n8n 1.0.0+
  • Node.js version: 14.x or higher
  • Platform: Any (Linux, macOS, Windows, ARM, Docker, etc.)

System Requirements

No system dependencies required!No build tools needed!No native compilation!

This node uses pure JavaScript/WebAssembly libraries:

  • OpenCV.js - Official OpenCV port (pure JS/WASM)
  • Jimp - Pure JavaScript image processing

Just install and go:

npm install n8n-nodes-jscanify

Tips for Best Detection

  • For optimal paper detection, images should have good contrast between the paper and background
  • Ensure good lighting with minimal shadows
  • Keep all four corners of the document visible in the image
  • Works best with rectangular documents (paper, receipts, business cards)
  • Use solid backgrounds (avoid patterns)

Usage

Basic Workflow Example

  1. Read/Download Image: Use the HTTP Request node or Read Binary File node to get an image
  2. Add JScanify Node: Add the JScanify node to your workflow
  3. Configure Operation:
    • Select "Extract Paper" to scan and extract the document
    • Or select "Highlight Paper" to preview the detection
  4. Set Binary Field: Specify the binary property name (default is "data")
  5. Configure Output (for Extract Paper):
    • Set Paper Width (e.g., 500 pixels)
    • Set Paper Height (e.g., 1000 pixels)
  6. Process Result: The scanned document will be available in the output binary data

Tips for Best Results

  • Good Lighting: Ensure the document is well-lit with minimal shadows
  • Solid Background: Place the document on a solid, contrasting background
  • Flat Surface: Keep the document as flat as possible
  • Clear Edges: Make sure all four corners of the document are visible
  • Image Quality: Use high-resolution images for better detection accuracy

Example Use Cases

  • Receipt Scanning: Extract receipts from photos for expense tracking
  • Document Digitization: Convert physical documents to digital format
  • Business Card Scanning: Extract business cards from photos
  • Form Processing: Scan and extract forms for data entry
  • ID/Passport Scanning: Extract ID documents from photos

Resources

Technical Details

This node uses pure JavaScript/WebAssembly libraries:

  • OpenCV.js (v1.2.1) - Official OpenCV port for JavaScript
    • Canny edge detection
    • Contour detection
    • Polygon approximation
    • Perspective transformation
  • Jimp (v1.6.0) - Pure JavaScript image processing
    • Image I/O
    • Format conversion
    • Pixel manipulation

Total dependencies: ~60 packages (all pure JavaScript) Native modules: 0 Installation time: ~5-10 seconds

Version history

0.5.0 (OpenCV.js Implementation) - Current ✅

  • Zero native dependencies - Pure JavaScript/WebAssembly
  • Professional accuracy - Official OpenCV algorithms
  • Fast installation - No compilation required
  • Cross-platform - Works everywhere
  • Canny edge detection - Industry-standard algorithm
  • Contour detection - Find document boundaries
  • Perspective transform - Proper distortion correction
  • ~95% detection rate - In ideal conditions

0.4.0 (Scanic Integration)

  • Integrated scanic library
  • Required canvas (native compilation)

0.3.x (Custom Pure JS)

  • Custom implementation
  • Poor accuracy

0.1.0 (Initial Release)

  • Initial implementation
  • Basic operations