I'm pleased to announce that an Excel 2007 version of Random Data Generator is now available!
Random Data Generator is an add-in for Excel 2000-2007 that lets you easily create fake, randomly generated personal and demographic information in Excel.

This data can be used in applications such as PivotTables, macros, charts, tutorials, web demos, databases — anywhere that fake test data is needed, without using actual personal information (which may be protected by Sarbanes-Oxley [SOX] and/or the Health Insurance Portability and Accountability Act [HIPAA]).
The output data has many applications. It can be imported into RDBMS applications such as SQL or Oracle databases, used by other programming languages such as .NET, SAS or PHP, or programs such as MapPoint.
Output Fields
You may generate fake test data for the following fields:
- Address – house number and street name
- AutoNumber – same as ROW() function, or the Access field of the same name
- Birthday – a valid date between today and 90 years prior
- City/State/Zip – valid combination of city name, state abbreviation and zip code
- Company Name – fictitious company name
- Country – country abbreviation from a list of recognized countries
- Credit Card Number – fake CC number using AmEx, Discover, Visa or Mastercard format
- Date – random date between today and 90 years prior
- Day – random day number (1 to 31)
- Day Of Week – day of week (Monday through Sunday)
- Email Address – a random 5-10 character username followed by one of 20 randomly selected domains
- First Name – chosen from 4500+ first names
- Fiscal Quarter – Q1, Q2, Q3, Q4
- Gender – Male or Female, randomly assigned to each record
- Last Name – chosen from 4500+ last names
- Latitude – a randomly selected point in the United States
- Longitude – a randomly selected point in the United States
- Middle Initial – capital A-Z
- Month – January through December
- Mother's Maiden Name – chosen from 4500+ maiden names
- Name Prefix – Mr.,Ms.,Mrs. and so on
- Name Suffix – Jr.,Sr.,Ph.D. and so on
- Number – random number between 1 and 100
- Password – 8-12 character password with uppercase, lowercase and special characters
- SAT Score – 600-2400 score in multiples of ten
- SSN – a United States SSN formatted as NNN-NN-NNNN
- Salary – a random number between 10,000 and 500,000
- Season – Winter, Spring, Summer, Fall
- Telephone (US) – U.S.-based telephone number formatted as (NNN) NNN-NNNN
- Telephone (UK) – London formatted phone number: (020) NNNN NNNN
- Time – AM or PM, 12-hour clock
- Year – A random year between the current year and 90 years prior
Multiple Output Formats
The following output formats are supported:
- Comma Separated Values (*.csv)
- DBF 4 – dBase IV (*.dbf) (Excel 2000-2003 only)
- Web Page (*.htm)
- Microsoft Access Database (*.mdb) (*.accdb in Excel 2007)
- Text File (Tab Delimited) (*.txt)
- Microsoft Excel 97-2003 Spreadsheet (*.xls)
- Microsoft Excel 5.0/95 Format (*.xls)
- Microsoft Excel 2007 Spreadsheet (*.xlsx) (Excel 2007 only)
- Microsoft Excel 2007 Binary Spreadsheet (*.xlsb) (Excel 2007 only)
- XML Spreadsheet (*.xml) (Excel 2003 and higher only)
You may also output to the current workbook (a new sheet will be created for the records). Up to 65,535 records may be created in any of these formats (1M+ records in Excel 2007).
Increased Record Count
Thanks to Excel 2007's increased row count, you may output over 1 MILLION fake records using Random Data Generator, up to Excel's row limit, in any of the above output formats using Excel 2007.
Rudimentary API
You can also program against RDG to incorporate some of its functions into existing VBA code, using the DLL provided in the installation package. The DLL is automatically regsvr32'd during installation, allowing for late binding.
Example using Late Binding
Sub test()
Dim RDG As Object
Set RDG = CreateObject("RDG.Misc")
MsgBox RDG.GetCC("Mastercard")
MsgBox RDG.GetCC("Visa")
End Sub
Example using Early Binding
First, set a reference to [drive letter]:\Program Files\Random Data Generator\RDG.dll (Replace drive letter with the letter drive where your OS is installed).
Sub test()
Dim RDG As RDG.Misc
Set RDG = CreateObject("RDG.Misc")
MsgBox RDG.GetCC("Mastercard")
MsgBox RDG.GetCC("Visa")
End Sub
If you plan on using RDG as an API, contact me for required parameters for each function.
Free Upgrade
If you purchase(d) the Excel 2000-2003 version of RDG, you may upgrade to the 2007 version for free. Simply contact me and have a copy of your email receipt ready.
- Learn more about Random Data Generator
- Purchase Random Data Generator for Microsoft® Excel 2003-2010
- Read the License Agreement
- Become an authorized reseller
- Student Discount now available!
Now Accepting Resellers/Affiliates
If you operate a website or blog, or would simply like to make extra money, sign up to resell Random Data Generator. Earn 25% commission for each referral. For more information about the affiliate program click here.
Note: The output of this add-in is random and any similarity to any person living or dead is merely coincidental. Credit card and Social Security Number information is fictional and for demonstration and testing purposes only. Any other use may constitute fraud.


What kinds of distribution can be specified?
Do you mean for the API?
What I mean is, say I want random salary values. Are they simply uniformly distributed between your lower and upper values, or can I specify that I want them taken, for example, from a lognormal distribution with particular parameters?
Unfortunately no, it's a random number between 10,000 and 500,000, but user-defined parameters for several functions are on my to-do list for the next version.
Any chance of getting this Add-in for Office 2010?