🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

cmpstr

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cmpstr

CmpStr is a lightweight, fast and well performing package for calculating string similarity

latest
Source
npmnpm
Version
3.3.0
Version published
Weekly downloads
2.1K
4.97%
Maintainers
1
Weekly downloads
 
Created
Source

CmpStr – Modern String Similarity Package

Static Badge Static Badge NPM License GitHub package.json version GitHub Actions Workflow Status NPM Downloads jsDelivr hits (npm) npm package minimized gzipped size Static Badge Static Badge

ko-fi

CmpStr is a modern TypeScript library for advanced string comparison, similarity measurement, phonetic indexing, and text analysis. It provides a comprehensive collection of established algorithms such as Levenshtein, Dice–Sørensen, Jaro-Winkler, LCS, q-Gram, and more.

The library is dependency-free, fully typed, and designed with extensibility in mind. Custom metrics, phonetic mappings, normalization filters, and processing pipelines can be integrated without modifying the core. CmpStr offers a unified, consistent API for single comparisons, batch processing, and pairwise matching across synchronous and asynchronous workflows.

Originally released in 2023 with a minimal feature set, CmpStr was fundamentally redesigned in 2025 to support a broader range of algorithms, scalable processing, and more demanding real-world use cases.

Key Features

Getting Started

Install CmpStr using npm:

npm install cmpstr

or with yarn:

yarn add cmpstr

Minimal Example

import { CmpStr } from 'cmpstr';

const cmp = CmpStr.create().setMetric( 'levenshtein' ).setFlags( 'i' );
const result = cmp.test( [ 'hello', 'hola' ], 'Hallo' );

console.log( result );
// { source: 'hello', target: 'Hallo', match: 0.8 }

Asynchronous Usage

import { CmpStrAsync } from 'cmpstr';

const cmp = CmpStrAsync.create().setProcessors( {
  phonetic: { algo: 'soundex' }
} );

const result = await cmp.searchAsync( 'Maier', [
  'Meyer', 'Müller', 'Miller', 'Meyers', 'Meier'
] );

console.log( result );
// [ 'Meyer', 'Meier' ]

Try it online with OneCompiler.

CLI Tool

CmpStr can also be used directly from the command line via cmpstr-cli. The CLI exposes many of the library’s features for interactive use, scripting, and automated processing, making it suitable for data cleaning, analysis, and batch workflows.

Documentation

Comprehensive documentation, API references, and advanced usage examples are available in the GitHub Wiki.

Check out the technical documentation created with TypeDoc, which exposes all classes, methods and types.

License

MIT License — © 2023–2026 Paul Köhler (komed3)

Keywords

string-similarity

FAQs

Package last updated on 18 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts