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

qrp

v1.0.0

Published

QR Paste - Extract URLs and IPs from text and display as QR codes

Readme

QRP (QR Paste)

A command-line tool that extracts URLs and IPv4 addresses from text and displays them as ASCII QR codes in your terminal.

Features

  • 🔍 Automatically extracts URLs (http://, https://, www.) and IPv4 addresses
  • 📱 Displays QR codes as ASCII art directly in the terminal
  • ⚡ Supports both interactive input and piped/stdin input
  • 🎯 Shows multiple QR codes side-by-side, wrapping to new rows as needed
  • 📦 Zero dependencies - fully bundled for npx usage
  • 🚀 Fast and lightweight

Quick Start (npx)

The easiest way to use qrp is with npx (no installation required):

echo "https://example.com 192.168.1.1" | npx qrp

Installation

Option 1: Use with npx (recommended)

No installation needed! Just use npx qrp whenever you need it.

Option 2: Install globally from npm

npm install -g qrp

Then use it anywhere:

qrp

Option 3: Install from source

  1. Clone or download this repository

  2. Install dependencies:

    npm install
  3. Build the application:

    npm run build
  4. Link the command globally (makes qrp available system-wide):

    npm link

Usage

Interactive Mode

Simply run the command and paste your text:

npx qrp

Then paste your text (or type it) and the tool will automatically detect when you're done pasting and display the QR codes.

If you installed globally, you can use qrp instead of npx qrp

Piped Input

Pipe text directly into the command:

echo "Check out https://example.com and connect to 192.168.1.1" | npx qrp
cat logfile.txt | npx qrp
curl https://api.example.com/data | npx qrp

Examples

Extract URLs from command output:

docker ps | npx qrp

Extract IPs from network diagnostics:

ifconfig | npx qrp

Process clipboard content (macOS):

pbpaste | npx qrp

Process clipboard content (Linux with xclip):

xclip -o | npx qrp

Process clipboard content (Windows PowerShell):

Get-Clipboard | npx qrp

Note: If you installed qrp globally, replace npx qrp with just qrp in all examples above.

What Gets Extracted

  • URLs: Any text matching http://, https://, or www. patterns
  • IPv4 Addresses: Valid IPv4 addresses (e.g., 192.168.1.1, 10.0.0.1)

Duplicates are automatically removed from the output.

Output Format

The tool displays:

  1. Each URL/IP address as a label (colored for easy identification)
  2. QR codes as ASCII art below each label
  3. Multiple QR codes are displayed side-by-side when they fit
  4. QR codes automatically wrap to new rows if your terminal is too narrow
  5. Each QR code gets a consistent color based on its content

Development

Build

npm run build

Dev Mode

npm run dev

Project Structure

qrp/
├── src/
│   └── index.ts       # Main CLI application
├── dist/              # Built output (generated)
├── build.js           # esbuild configuration
├── package.json       # Project configuration
├── tsconfig.json      # TypeScript configuration
└── README.md          # This file

Requirements

  • Node.js 18 or higher (automatically checked by npx)
  • Terminal with Unicode support for best QR code display
  • No additional dependencies required (everything is bundled)

License

MIT

Tips

  • For best results, use a terminal with good Unicode character support
  • Scan the QR codes with your mobile device's camera or QR code reader app
  • The tool automatically detects your terminal width and wraps QR codes as needed
  • If displaying many QR codes, maximize your terminal window for best results
  • If QR codes don't display correctly, try adjusting your terminal's font size
  • Each QR code gets a unique color for easy visual distinction

Publishing to npm

If you want to publish this package yourself:

  1. Update the name in package.json to something unique
  2. Update the author field in package.json
  3. Login to npm: npm login
  4. Publish: npm publish

The package is configured to automatically bundle all dependencies, so users can run it instantly with npx!