
- β¨ Features
- π Quick Start
- π Usage
- βοΈ Installation
- π§© Requirements
- π οΈ Building from Source
- π€ Contributing
- π License
- π Acknowledgements
- π¬ Feedback and Support
- β FAQ
- π Security Note
RandomGen is a powerful PowerToys Run plugin that generates various types of random data with a single keystroke. Perfect for developers, testers, and anyone who needs quick access to random data.
- π Cryptographically Secure Passwords - Generate strong passwords with mixed case, numbers, and symbols
- π Secure PIN Codes - Create numeric PINs with smart pattern detection to avoid weak PINs like 1234 or 0000
- π€ Personal Data - Generate realistic names, emails, phone numbers, and addresses
- π’ Business Data - Company names and other business-related information
- π Date Generation - Random dates within customizable ranges
- π’ Number Generation - Random numbers with custom min-max ranges
- π Unique Identifiers - GUIDs/UUIDs for development and testing
- π¨ Color Codes - Random HEX colors for design and testing
- π Web Data - URLs and domains for testing
- π³ Payment Testing - Credit card numbers (fake, for testing only)
- π Lorem Ipsum - Placeholder text with customizable word count
- Plugin ID:
EFADBA167C1B41D8A7426A7DF808D28E
- Action Keyword:
rd
- Thread-Safe Design - Optimized for performance with thread-local Faker instances
- Smart Caching - Improved performance with intelligent result caching
- Cryptographically Secure - Uses
System.Security.Cryptography.RandomNumberGenerator
for secure random generation - Intelligent Suggestions - Smart autocomplete for commands
- Context Menu Support - Right-click options for copying and regenerating values
- Download the latest release for your architecture (x64 or ARM64)
- Extract the ZIP file to your PowerToys Run plugins directory:
%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\RandomGen\
- Restart PowerToys
- Press
Alt+Space
to open PowerToys Run - Type
rd
followed by what you want to generate (e.g.,rd password
) - Best practice: Press the Space button to regenerate a new value.
-
Enhanced Option Syntax Support
- Now supports multiple ways to specify options:
- Exclusion:
-upper
,-special
,-numeric
,-lower
- Inclusion:
+upper
,+special
,+numeric
,+lower
- Natural language:
noupper
,no-special
,nonumbers
- Exclusion:
- Now supports multiple ways to specify options:
-
Better Error Handling
- Ensures at least one character type is always enabled
- Handles edge cases where all types are disabled
- Validates password length accommodates required character types
-
Improved Display
- Better subtitle showing what's excluded: (16 chars, no upper,special)
- Clearer option descriptions in tooltips
-
Usage Examples
rd password 16 -special
β 16-char password without symbolsrd password 22 -numeric
β 22-char password without numbersrd pwd 12 -upper -special
β 12-char password with only lowercase + numbersrd password 20 noupper
β 20-char password without uppercase letters
Use the activation keyword rd
followed by the data type you want to generate:
Command | Example | Description |
---|---|---|
rd password [length] |
rd password 16 |
Generate a secure password (default: 12 chars) |
rd pwd [length] |
rd pwd 16 |
Alias for password command |
rd pin [length] |
rd pin 6 |
Generate a numeric PIN (default: 4 digits) |
rd email |
rd email |
Generate a random email address |
rd name |
rd name |
Generate a random full name |
rd address |
rd address |
Generate a random address |
rd phone |
rd phone |
Generate a random phone number |
rd company |
rd company |
Generate a random company name |
rd lorem [count] |
rd lorem 25 |
Generate lorem ipsum text (default: 10 words) |
rd number [min-max] |
rd number 1-1000 |
Generate a random number (default: 1-100) |
rd num [min-max] |
rd num 1-1000 |
Alias for number command |
rd date |
rd date |
Generate a random date |
rd guid |
rd guid |
Generate a random GUID/UUID |
rd uuid |
rd uuid |
Alias for guid command |
rd color |
rd color |
Generate a random hex color |
rd url |
rd url |
Generate a random URL |
rd creditcard |
rd creditcard |
Generate a random credit card number (test use only) |
rd credit |
rd credit |
Alias for creditcard command |
Bogus supports many locales. Use rd locale <code>
to change the language for generated data. Supported locale codes include:
af_ZA
, ar
, az
, cz
, de
, de_AT
, de_CH
, el
, en
, en_AU
, en_AU_ocker
, en_BORK
, en_CA
, en_GB
, en_IE
, en_IND
, en_NG
, en_US
, en_ZA
, es
, es_MX
, fa
, fi
, fr
, fr_CA
, fr_CH
, ge
, hr
, id_ID
, it
, ja
, ko
, lv
, nb_NO
, ne
, nl
, nl_BE
, pl
, pt_BR
, pt_PT
, ro
, ru
, sk
, sv
, tr
, uk
, vi
, zh_CN
, zh_TW
, zu_ZA
.
| rd locale [code]
| rd locale fr
| Change data generation locale |
# Generate a 16-character password
rd password 16
# Generate a 6-digit PIN
rd pin 6
# Generate a random email address
rd email
# Generate a random number between 1 and 1000
rd number 1-1000
# Generate 25 words of lorem ipsum text
rd lorem 25
# Change locale to French
rd locale fr (or other `af_ZA`, `ar`, `az`, `cz`, `de`, `de_AT`, `de_CH`, `el`, `en`, `en_AU`, `en_AU_ocker`, `en_BORK`, `en_CA`, `en_GB`, `en_IE`, `en_IND`, `en_NG`, `en_US`, `en_ZA`, `es`, `es_MX`, `fa`, `fi`, `fr`, `fr_CA`, `fr_CH`, `ge`, `hr`, `id_ID`, `it`, `ja`, `ko`, `lv`, `nb_NO`, `ne`, `nl`, `nl_BE`, `pl`, `pt_BR`, `pt_PT`, `ro`, `ru`, `sk`, `sv`, `tr`, `uk`, `vi`, `zh_CN`, `zh_TW`, `zu_ZA` )
![]() |
![]() |
![]() |
Enjoying RandomGen? β Buy me a coffee to support development:
-
Context Menu - Right-click on any result to:
- Copy to clipboard (Ctrl+C)
- Generate a new value (F5)
-
Smart Autocomplete - Type part of a command to see suggestions
-
Intelligent Caching - Recently generated values are cached for improved performance
- PowerToys (v0.75 or later)
- Windows 10/11 (x64 or ARM64)
- .NET 9.0 Runtime (included with PowerToys)
- Approximately 2MB of disk space
- Download the latest release for your architecture (x64 or ARM64)
- Extract the ZIP file to your PowerToys Run plugins directory:
%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\RandomGen\
- Restart PowerToys
- Enable the plugin in PowerToys Settings β PowerToys Run β Plugin Manager
- Build the project (see Building from Source)
- Copy all files from the
RandomGen\Publish\
folder to your PowerToys Run plugins directory:%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\RandomGen\
- Restart PowerToys
- Enable the plugin in PowerToys Settings β PowerToys Run β Plugin Manager
After installation, press Alt+Space
to open PowerToys Run, then type rd
to see if the plugin is working correctly.
- Windows 10/11 (x64 or ARM64)
- PowerToys v0.75 or later
- .NET 9.0 Runtime (included with PowerToys)
- Approximately 2MB of disk space
This plugin is fully compliant with PowerToys Run validation requirements:
- β
PTRUN1301: Package naming follows the
<name>-<version>-<platform>.zip
convention - β PTRUN1303: SHA256 checksums are generated for all packages
- β PTRUN1401: Plugin version in metadata matches filename version
- β PTRUN1402: No unnecessary PowerToys dependencies included
The GitHub Actions workflow automatically ensures compliance with these requirements.
- .NET 9.0 SDK
- PowerToys (for testing)
- Visual Studio 2022 or Visual Studio Code
- Git
# Clone the repository
git clone https://github.com/ruslanlap/RandomGen.git
cd RandomGen
# Restore dependencies
dotnet restore
# Build the solution
dotnet build -c Release
# Create a publishable version (optional)
dotnet publish -c Release -o ./Publish
The built plugin will be in RandomGen\bin\Release\net9.0-windows10.0.22621.0
or in the Publish
directory if you ran the publish command.
RandomGen/Community.PowerToys.Run.Plugin.RandomGen/
- Main plugin codeMain.cs
- Core plugin implementationImages/
- Plugin iconsplugin.json
- Plugin metadata
RandomGen/Community.PowerToys.Run.Plugin.RandomGen.UnitTests/
- Unit tests
- Bogus v35.6.3 - For generating realistic fake data
- Community.PowerToys.Run.Plugin.Dependencies v0.91.0 - PowerToys Run plugin dependencies
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- New Data Types - Add more types of random data generation
- Localization - Add support for more languages and region-specific data formats
- Settings UI - Create a settings page for customizing default values
- Performance Optimizations - Improve caching and thread safety
- Enhanced Validation - Add more validation for generated data
- Unit Tests - Expand test coverage
- Documentation - Improve inline code documentation and user guides
- Follow the existing code style and patterns
- Ensure all new features have appropriate unit tests
- Use thread-safe practices for all data generation
- Document any new commands or features
- Test on both x64 and ARM64 architectures if possible
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have suggestions for improvement, please open an issue on GitHub.
How do I change the default action keyword?
You can change the action keyword in PowerToys Settings β PowerToys Run β Plugin Manager β RandomGen β Action Keyword.
Are the generated passwords secure?
Yes, passwords are generated using cryptographically secure random number generation methods from the .NET framework, ensuring high entropy and unpredictability.
Can I use this data in production?
The generated data is intended for testing, development, and demonstration purposes only. While passwords are cryptographically secure, other data like names, addresses, and credit card numbers are fictional.
Does this plugin work offline?
Yes, RandomGen works completely offline and doesn't require an internet connection.
How can I add a new data type?
To add a new data type, you would need to modify the Main.cs file, add a new generator method, and update the command handling logic. See the Contributing section for more details.
- Secure Password Generation - Passwords are generated using
System.Security.Cryptography.RandomNumberGenerator
for cryptographically secure randomness - PIN Security - PINs are checked against common patterns (like 1234, 0000) to avoid weak PINs
- Fake Data Only - All generated data (names, addresses, credit cards, etc.) is completely fictional and suitable for testing only
- Privacy - No personal data is collected, stored, or transmitted by this plugin
- Local Processing - All data generation happens locally on your machine
β οΈ Note: While passwords generated by this tool use cryptographically secure methods, always follow your organization's security policies for production passwords.
- Bogus - For generating realistic fake data
- Microsoft PowerToys - For the amazing PowerToys Run platform
- All Contributors - For their valuable contributions
- Credit card numbers are fake and generated using standard test patterns
- Do not use generated personal information for malicious purposes