Randomize Everything

A Nova extension that adds commands to randomly generate everything. Handy for placeholder and demo content.

Once installed and activated, Randomize Everything can be accessed through the Command Palette (View → Command Palette... or ⇧ + ⌘ + P), as an option in the Editor menu (Editor → Randomize Everything), or via the right-click context menu.

Randomize Everything can currently generate:

Generator Example output Editable preferences
Alphabetical string YZPBTbERyWRLFejbgrVNcYIQuGmdrJio String length
Alphanumeric string sNuZ5MNpqBgyM93viq8Uo0kYo59aAOkm String length
Password-like string o<=4vz@V&IC'gfHFYM+'hzM"=<qd0K7E String length
Single letter G
Sentence (Lorem Ipsum) Id aliqua culpa incididunt voluptate pariatur nisi mollit[...]
Paragraph (Lorem Ipsum) Ea reprehenderit nisi nisi ut officia sint ad fugiat officia[...]
Integer 85 Number range
Float 38.31776 Number range, number of decimal places
Binary integer 0101010 Number range
IPv4 address
IPv6 address ceef:a28a:9449:0587:f9b9:3917:5789:718a
MAC address (48-bit) 0F:84:47:EC:F7:DC
MAC address (64-bit) 54:E0:2B:AF:C4:60:47:9F
UUID (v4) b96420ab-13b6-48ff-b027-6c8bd4df5e6f
MD5 hash 44dd3274e0ecf47e7a09c4cdecdaabe0
SHA-1 hash 32b0574c6b8b2c74bb2e17ef3363056d41185fba
SHA-256 hash 2ff2defc8be08b6c8f6a6e7cb9d0b4567f59832eb1a2ddb8f1567636eee072c9
Date (ISO-8601) 1925-03-14 Year range
Time (ISO-8601) 18:04:20
Date and time (ISO-8601) 1942-05-06T08:38:59-01:00 Year range, timezone format
Hex color #c636e7 Capitalization
RGB color rgb(197, 72, 57) CSS compatible formatting
HSL color hsl(279, 87%, 34%) CSS compatible formatting
Country name Barbados
Country code (ISO-3166 alpha-2) CA
Country code (ISO-3166 alpha-3) NCL
Country code (ISO-3166 numeric) 484
First name Malorie
Last name Schmidt
Full name Darline Corte-Real
Email address Customize domain extensions, use real email providers
Web address Customize domain extensions
Domain name Customize domain extensions

Inspired by, and hat tip to, random-sublime-text-plugin and nova-uuid for the inspiration and the handy dandy open source code I used to get started.


Version 1.2.2

Nova 10+ now uses the native nova.crypto.randomUUID method when generating random UUIDs. Older versions of Nova continue to use the existing generator.

Some build-time dependencies have also been updated to the most recent versions.

Version 1.2.1

This is a bugfix release, which fixes newline characters being removed if the right-click context menu is used to perform a replacement at the end of or on a blank line. Thanks to @colinfoster for reporting this issue and suggesting a fix.

The lorem-ipsum dependency was updated to resolve an issue with a circular dependency.

Version 1.2.0

This update focuses on improving the user experience when generating random numbers.

Previously you could only generate numbers equal to or higher than 0. Range values were prompted for input using a small, easy to miss notification at the top right of the window, and strictly required you to supply the range in the format "[min]-[max]" (0-100). This has been updated in a few ways:

  • The small notification has been replaced with a more prominently displayed modal.
  • The recommended way to separate min and max numbers is now a comma, rather than a hyphen. For example, 0, 10.
  • You can put spaces between values in the list. 0,10, 0, 10 and 0 , 10 work just the same.
  • You can now provide a value below zero to generate negative numbers. For example, -10, 10 for numbers between -10 and 10.
  • You can now specify several comma-separated values, and the lowest and highest values will be determined automatically. For example, providing -15, -46, 90, 8, 34, -36 will generate numbers between -46 and 90. Useful if you're copying and pasting from elsewhere.
  • Because of this, you can now specify the minimum and maximum values in any order. 10, -10 will work just the same as -10, 10.

These changes apply to generating both integers and floats. Binary integer generation continues to only support positive integers.

For backwards compatibility reasons, using a hyphen separator will still work but will only be able to generate positive numbers. You must use a comma if you want negative numbers.

Version 1.1.0

  • Added single letter string generation.

Version 1.0.0

Initial release with support for:

  • Colors (hexadecimal, RGB, HSL)
  • Country
  • Country code (ISO-3166 alpha-2, ISO-3166 alpha-3, ISO-3166 numeric)
  • Dates, times and datetimes (ISO-8601)
  • Domain names
  • Email addresses
  • Floats
  • Hashes (MD5, SHA-1, SHA-256)
  • Integers (decimal, binary)
  • IP addresses (v4, v6)
  • Lorem Ipsum (sentences, paragraphs)
  • MAC addresses (48-bit, 64-bit)
  • Names (first, last, full)
  • Strings (alphabetical, alphanumeric, password-like)
  • UUID (v4)
  • Web addresses