Project

nanoid

0.11
No release in over 3 years
Low commit activity in last 3 years
Ruby implementation of Nanoid, secure URL-friendly unique ID generator
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.15
>= 5.10
>= 12.0
>= 5.0
>= 0.5
 Project Readme

nanoid.rb

This is ReadMe for version 2.0, if you looking for version compatible with NanoID 1.x look in branch v1.x.

A tiny, secure URL-friendly unique string ID generator.

Ruby implementation of original NanoID https://github.com/ai/nanoid

Installation

Into Gemfile / gems.rb add:

gem 'nanoid'

Usage

require 'nanoid'

Nanoid.generate

Options

parameter type description
size integer Length of generated string
alphabet string Collection of characters used for generated string
non_secure boolean Switch to use non-secure generated string. Do not use if you don't need

Default options:

Size: 21 character length

Alphabet: _-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

Non secure: false

Examples

Simple generate unique string

require 'nanoid'

Nanoid.generate
# => "MVNBLMwrcdbKjpo73qsmN"

Change length of generated string

require 'nanoid'

Nanoid.generate(size: 10)
# => "zRTPzok801"

Change alphabet of generated string

require 'nanoid'

Nanoid.generate(alphabet: '1234567890abcdef')
# => "84e292c6aabbbf50bf087"

Change size and alphabet of generated string

require 'nanoid'

Nanoid.generate(size: 14, alphabet: '1234567890abcdef')
# => "c5db3470fadf94"

Use non-secure generator

require 'nanoid'

Nanoid.generate(non_secure: true)
# => "-BX3dH02BmRX9Al4drpIb"