Skip to content

zachpinto/faker-streamlit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Faker Streamlit App

A clean, interactive Streamlit GUI for the Faker library — generate fake datasets easily and export them as CSV.


Web App

Try a GUI version of Faker using the Streamlit web app: Launch App


Features

  • ⚙️ Configure number of rows and columns
  • 🧬 Per-column data type selection from Faker or manual format (e.g. $###,###.##)
  • 🔁 Optionally restrict each field to a number of unique values
  • 📄 Preview and download data as CSV
  • 🧠 Uses the powerful Faker library for realistic fake data generation

Screenshot

Screenshot 2025-05-04 at 1 03 12 PM

Installation

git clone https://github.com/zachpinto/faker-streamlit.git
cd faker-streamlit
pip install -r requirements.txt
streamlit run app.py

Requirements

  • Python 3.8+
  • Streamlit 1.45.0+
  • Faker
  • pandas

See requirements.txt for specific version constraints.


About Faker

This app is built on top of the official Faker Python library.

Faker generates fake but realistic-looking data for a wide range of use cases, including:

  • Personal identity: names, addresses, emails, phone numbers
  • Internet and tech: usernames, IP addresses, domains, MACs
  • Financial: credit cards, currencies, prices
  • Location and datetime: cities, zip codes, datetimes
  • Job and company info: job titles, employers, business jargon

Faker is especially useful for:

  • Bootstrapping test databases
  • Anonymizing production data
  • Stress testing apps with large fake datasets

📚 Full docs here: https://faker.readthedocs.io/


Supported Formats

You can define fields in one of two ways:

1. Faker Built-in Types (Dropdown)

Choose from 100+ Faker methods, like:

  • name, address, email, company, job
  • ipv4, iban, phone_number, credit_card_number

Each row will call the selected method once to generate data for that column.

2. Manual Pattern Format

Use # for digits, ? for uppercase letters, and include any literal characters you want.

Examples:

  • $###,###.##$452,990.14
  • ??-####AZ-9842
  • Order-####-??Order-1023-KL

You can also limit each column to a fixed number of unique values (e.g. 10 departments, 50 zip codes).


Example Use Cases

  • Prototyping mock datasets for machine learning
  • Populating UI components with realistic data
  • Creating sample JSON APIs for demos
  • Teaching data pipelines, visualization, or testing
  • Filling out dashboards or Excel models quickly

License

The underlying Faker library is also released under the MIT License.


Acknowledgements

About

An interactive Streamlit GUI for the Faker library

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages