30 open-source projects similar to ai/nanoid, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Nanoid alternative.
ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique identifiers that maintain a natural chronological order based on their generation timestamp. The project enables the creation of unique keys across distributed systems without a central coordinator. These identifiers are designed for use as database primary keys to maintain index performance and insert efficiency. The library includes capabilities for identifier serialization and parsing, allowing conversion between binary, text, and SQL formats. It also provides command-line to
This PHP library provides tools for generating and validating universally unique identifiers according to RFC 4122 standards. It implements a generation tool for creating version 1, 3, 4, and 5 identifiers, as well as sequential and Nil UUIDs. The library features specialized capabilities for transforming identifiers between hexadecimal strings, binary bytes, integers, and date objects. It supports the generation of sequential identifiers to improve database indexing and storage performance, as well as deterministic name-based identifiers using MD5 or SHA-1 hashing. The project includes a va
shortid is a library for creating compact, non-sequential strings used as unique identifiers for database records and public URLs. It functions as a URL-friendly identifier utility designed to produce short alphanumeric strings. The project allows for the use of a custom alphabet to control the visual appearance of identifiers and avoid ambiguity. This custom character set mapping ensures that generated keys meet specific formatting or branding requirements. The system includes capabilities for non-sequential key generation to prevent resource enumeration, as well as tools to validate whethe
A robust HTML entity encoder/decoder written in JavaScript.
Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec
This project is a collection of Go libraries designed to reduce the size of multiple web formats while preserving functional integrity. It serves as a high-performance text processor and multi-format asset compressor for shrinking HTML, CSS, JavaScript, JSON, SVG, and XML files by removing redundant characters. The tool is designed for both static batch processing and real-time use. It includes middleware capabilities to intercept and minify web responses on the fly based on MIME types or file extensions, allowing for content compression during active data streams. The processing suite cover
Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
This project is a Unicode text repair tool and mojibake correction library designed to fix encoding glitches and restore original characters from mangled strings. It functions as a text encoding detector and a Unicode normalization tool to resolve issues where text has been incorrectly decoded. The library specializes in reversing multi-layered encoding errors and repairing complex mojibake patterns. It includes capabilities for detecting lossy encoding sequences, guessing byte encodings, and decoding non-standard UTF-8 variants. The toolset covers a broad range of text cleaning and normaliz
i18next is a JavaScript localization library and internationalization framework used to translate application text into multiple languages. It functions as a dynamic translation manager that handles translation resources, language detection, and the mapping of unique keys to localized strings. The system features a pluralization and interpolation engine that applies language-specific grammatical rules for numeric counts and injects dynamic variables into strings. It utilizes a plugin-based backend architecture to load and cache translation namespaces from various sources, including remote ser
Strip leading whitespace from each line in a string
Replace all homoglyphs with base characters. Useful to detect similar strings.
Strip UTF-8 byte order mark (BOM) from a string
Up to 100x faster strings for C, C++, CUDA, Python, Rust, Swift, JS, & Go, leveraging NEON, AVX2, AVX-512, SVE, GPGPU, & SWAR to accelerate search, hashing, sorting, edit distances, sketches, and memory ops 🦖
Convert character encodings in pure javascript.
Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar
Your dev tool to manage /etc/hosts like a pro!
This project is a UUID generation library providing a standards-compliant implementation of RFC 4122. It serves as a tool for creating and validating universally unique identifiers across multiple versions to ensure global uniqueness and prevent data collisions. The library supports several generation methods, including random-based entropy, timestamp sequencing, and namespace-based hashing. It also includes utilities for identifier validation, parsing, and converting identifiers between hexadecimal string representations and binary byte arrays. A command line utility is included for the man
Hide secrets with invisible characters in plain text securely using passwords 🧙🏻♂️⭐
Lightweight simple translation module for node.js / express.js with dynamic json storage. Uses common ('...') syntax in app and templates.
Remove or replace part of a string like Array#splice
xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable identifiers. It functions as a stateless generator that creates identifiers without requiring a central coordinator or network synchronization between instances. The project converts binary identifiers into human-readable, case-insensitive Base32 strings, making the output suitable for use in URLs and web applications. It ensures uniqueness across different processes and hosts by combining high-resolution timestamps with machine identifiers. These identifiers are designed for use as d
Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other target formats. It is a CommonMark compliant parser and extensible engine that can transform Markdown into a searchable and manipulatable abstract syntax tree. The library provides a framework for adding custom syntax and rendering logic through a modular pipeline of parsers and renderers. It supports native ahead-of-time compilation and trimming to minimize binary size. Capabilities include the generation of structured HTML with custom attributes and styling, the extraction
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
This project provides the official specification for ULIDs, which are 128-bit identifiers that combine a millisecond-precision timestamp and random data. These identifiers are designed to be lexicographically sortable, ensuring that they maintain a strict chronological sequence for database indexing and time-based sorting. The specification defines a standard for binary-to-string serialization using a Crockford-inspired Base32 alphabet. This encoding is intended to produce human-readable strings while excluding ambiguous characters to prevent transcription errors. The technical standards cov
PostgREST is a tool that automatically transforms a PostgreSQL database schema into a production-ready RESTful API. It serves as a database access layer and query engine that maps HTTP requests directly to SQL queries, providing a low-code interface for executing create, read, update, and delete operations without requiring manual boilerplate code. The project distinguishes itself by using schema-driven API generation and metadata-based discovery to expose database tables as navigable resources. It extends standard CRUD capabilities through the execution of custom and templated SQL, a plugin-
Lucia is an authentication library that provides session management, OAuth integration, and password-based login for web applications. It creates and validates server-side sessions using cryptographically random tokens stored in HttpOnly, Secure, SameSite=Lax cookies, with constant-time token comparison to prevent timing side-channel attacks. The library supports authentication through email and password, GitHub OAuth, Google OAuth, and passkey-based sign-in. It enforces two-factor authentication using time-based one-time passwords (TOTP) from authenticator apps, generates recovery codes for