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

renamr

v1.0.7

Published

A fast and simple bulk file renamer CLI

Readme

renamr

npm version License: MIT

renamr is a fast, intuitive, and robust bulk file renaming tool for the command line. Designed with efficiency and simplicity in mind, it allows developers and power users to perform complex renaming operations across thousands of files instantly.


🚀 Features

  • Expressive Syntax: Simple commands to replace text, modify extensions, and manipulate casing.
  • Works from anywhere: cd into any folder and run commands — no need to specify a path. Renamr targets the current directory by default.
  • Dry Run Support: Preview all your renaming operations safely before applying any changes using the --dry-run flag.
  • Recursive Operations: Seamlessly rename files nested deeply within complex directory structures.
  • Cross-Platform: Built on Node.js, ensuring consistent behavior across Windows, macOS, and Linux.

📦 Installation

Install renamr globally via npm to access it continuously from anywhere on your system:

npm install -g renamr

🛠️ Usage Guide

Renamr works in two ways — from the current directory (no path needed) or with an explicit path or glob:

# From the current directory (cd into your folder first)
renamr <command> [options]

# Or pass a specific file, folder, or glob pattern
renamr <command> [options] <files...>

Commands

Text Replacement (change)

Seamlessly replace occurrences of a string within file names.

# From current directory
renamr change "old-text" -w "new-text"

# With explicit path or glob
renamr change "old-text" -w "new-text" ./src/**/*

File Content Replacement (content or rewrite)

Search and replace text inside the contents of files instead of just renaming the files.

# From current directory
renamr content "music player" -w "video player"

# With explicit glob
renamr content "music player" -w "video player" ./**/* --recursive

Extension Modification (ext)

Quickly standardize or convert file extensions across your project.

# Specific file
renamr ext hello.js -w .ts

# All .js files in current directory
renamr ext *.js -w .ts

# With glob path
renamr ext ./src/**/*.js -w .ts

Add Prefix (prefix)

Prepend a consistent string to the beginning of matched file names.

# From current directory
renamr prefix "img_"

# With explicit glob
renamr prefix "img_" ./assets/*.png

Add Suffix (suffix)

Append a string to matched file names, inserted correctly right before the file extension.

# From current directory
renamr suffix "_v2"

# With explicit glob
renamr suffix "_v2" ./data/*.json

Case Conversions (lowercase & uppercase)

Standardize naming conventions by applying lower or upper casing to file names. Both commands support shorthand aliases (low and upp).

# Convert all files in current directory to lowercase
renamr low

# Or with an explicit path
renamr low ./dist/**/* --recursive

# Uppercase with explicit path
renamr upp ./src/**/* --recursive

⚙️ Configuration Flags

| Flag | Shorthand | Description | | :--- | :-------- | :---------- | | --with <value> | -w | Required for replace and ext commands. Specifies the replacement string or new extension. | | --dry-run | -d | Safe Mode: Previews changes in the console without actually renaming any files. Highly recommended before destructive actions. | | --recursive | -r | Executes the command recursively across all subdirectories matching the glob pattern. |


💡 Practical Examples

Safe preview of an architectural refactor:

renamr change "component" -w "widget" ./src/**/* --dry-run

Migrating a legacy JavaScript codebase to TypeScript:

renamr ext ./src/**/*.js -w .ts

Batch renaming user uploads with a timestamp:

renamr prefix "upload_2024_" ./public/uploads/*

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.