brianvoe/gofakeit

Random fake data generator written in go

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 3 minutes ago
Added to GitGenius on September 12th, 2026
Created on April 24th, 2015
Open Issues & Pull Requests: 7 (+0)
GitHub issues: Enabled
Number of forks: 297
Total Stargazers: 5,387 (+0)
Total Subscribers: 23 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.3 hours
Mean response time: 66.8 days
90th percentile: 388.9 days
Tracked items: 19

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 13% of issues opened in the past year have been closed. Three people close 100% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 587 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (3)
  • help wanted (2)

Most active issues this week

Detailed Description

Gofakeit is a random fake data generator written in Go.

The tool addresses the need for generating realistic test data during development and testing. It provides over three hundred functions covering common data types like names, addresses, emails, phone numbers, and dates. Users can seed the generator for reproducible output or rely on cryptographically secure seeding by default. The tool supports multiple random sources, including the default math/rand/v2 PCG generator, and allows switching to alternatives like crypto/rand through a global rand set mechanism.

Gofakeit suits projects that need synthetic data for testing without external dependencies. It works well for unit tests, integration tests, and populating databases with realistic values. The tool can generate data for entire structs through automatic field population, with support for struct tags to control generation behavior for specific fields. For cases where struct modification is not possible, the Fakeable interface allows custom generation logic. The project also includes a command-line tool and HTTP server for generating data outside of Go code, and supports Go's template engine for custom output formatting.

The project maintains active development with regular updates to its function library and testing infrastructure. The codebase includes comprehensive benchmarks to track performance characteristics. The tool has zero external dependencies, keeping it lightweight for integration into other projects. Custom functions can be registered through AddFuncLookup, allowing extension of both the core library and the command-line and server interfaces.