模拟数据生成器

在浏览器中运行,不上传任何内容

定义字段列表,生成 JSON、CSV 或 SQL 格式的虚构记录。相同的种子总是生成相同的数据。

Fields

6 fields
1
[
2
{
3
"id": 1,
4
"name": "Zara Fischer",
5
"email": "zara.fischer57@example.org",
6
"city": "Denver",
7
"active": false,
8
"createdAt": "2022-01-13T07:04:00Z"
9
},
10
{
11
"id": 2,
12
"name": "Leila Santos",
13
"email": "leila.santos@example.org",
14
"city": "Berlin",
15
"active": true,
16
"createdAt": "2023-04-02T18:08:10Z"
17
},
18
{
19
"id": 3,
20
"name": "Aiko Nakamura",
21
"email": "aiko.nakamura@example.com",
22
"city": "Leeds",
23
"active": true,
24
"createdAt": "2024-07-13T06:42:07Z"
25
},
26
{
27
"id": 4,
28
"name": "Arjun Novak",
29
"email": "arjun.novak@example.com",
30
"city": "Pune",
31
"active": true,
32
"createdAt": "2022-05-20T14:47:59Z"
33
},
34
{
35
"id": 5,
36
"name": "Rosa Novak",
37
"email": "rosa.novak21@example.com",
38
"city": "São Paulo",
39
"active": true,
40
"createdAt": "2020-07-11T09:01:20Z"
41
},
42
{
43
"id": 6,
44
"name": "Lucia Rossi",
45
"email": "lucia.rossi@example.com",
46
"city": "Lagos",
47
"active": true,
48
"createdAt": "2022-09-30T16:19:48Z"
49
},
50
{
51
"id": 7,
52
"name": "Sami Torres",
53
"email": "sami.torres@example.net",
54
"city": "Toronto",
55
"active": true,
56
"createdAt": "2026-08-16T23:43:18Z"
57
},
58
{
59
"id": 8,
60
"name": "Tariq Mensah",
61
"email": "tariq.mensah50@example.org",
62
"city": "Perth",
63
"active": false,
64
"createdAt": "2023-09-16T18:56:51Z"
65
},
66
{
67
"id": 9,
68
"name": "Sofia Costa",
69
"email": "sofia.costa35@example.org",
70
"city": "Lagos",
71
"active": true,
72
"createdAt": "2023-05-19T14:12:24Z"
73
},
74
{
75
"id": 10,
76
"name": "Amara Wilson",
77
"email": "amara.wilson76@example.org",
78
"city": "Lyon",
79
"active": true,
80
"createdAt": "2025-06-12T23:59:58Z"
81
}
82
]
10 rows · 6 fields
1.7 KB

什么是模拟数据?

模拟数据看起来真实,但完全是编造的,在开发和测试软件时用来代替真实记录。与其从生产环境复制客户数据(既有风险,在隐私法规下也常常违法),不如生成格式正确、却不属于任何人的姓名、邮箱和地址。

前端开发者需要在后端完成之前就有数据可以渲染。测试人员需要大量多样的记录来检查列表、搜索、排序和分页。API 测试需要请求体,数据库需要初始数据。演示时,使用看起来合理的姓名也比 test1、test2、test3 更有说服力。

本工具的数据由种子生成:相同的字段、行数和种子总是得到相同的记录。把种子写进测试 fixture,团队中每个人都能得到完全一样的数据;换一个种子就能得到一组新数据。

使用方法

  1. 1在左侧定义字段列表:为每个字段设置名称和类型,以及数字范围、日期范围或取值列表等选项。预设可以一键填充常见结构,例如用户、商品、订单和访问日志。
  2. 2设置行数(最多 10,000 行)和种子。New seed(Ctrl+Enter)会随机选择一个种子。
  3. 3选择输出格式:JSON(美化或压缩)、JSON Lines、以逗号、分号或制表符分隔的 CSV,或者面向 PostgreSQL 和 SQLite、或面向 MySQL 的 SQL INSERT 语句。
  4. 4在 Table 标签页中检查记录,然后复制,或下载为文件(Ctrl+S)。

问题排查

两个字段同名
每个字段名都会成为一个 JSON 键或一列,所以名称必须唯一。请重命名其中一个。
刷新后数据变了
种子变了。记下状态栏中显示的种子,或者自己设置一个,就能再次得到相同的行。
MySQL 不接受生成的 SQL
请选择 MySQL 方言:它会用反引号包裹名称,并在字符串中把反斜杠写两遍,这正是 MySQL 默认期望的格式。另一种方言使用标准的双引号名称。
Excel 把 CSV 的所有值都放进了一列
在许多欧洲地区设置下,Excel 期望使用分号。请选择分号作为分隔符,或者通过 数据 › 自文本 导入文件,并在那里选择分隔符。

常见问题

数据是在服务器上生成的吗?

不是。记录在你的浏览器中生成。字段列表和输出设置会保存在当前浏览器中,下次打开时依然存在。

生成的人名或号码会是真实的吗?

姓名是名和姓的随机组合。邮箱使用 example.com、example.org 和 example.net,这些域名专为文档保留,从不投递邮件。电话号码使用 555-0100 到 555-0199,这是北美为虚构作品保留的号段;IP 地址来自为文档保留的地址段(192.0.2.0/24、198.51.100.0/24、203.0.113.0/24 和 2001:db8::/32)。

生成的值是唯一的吗?

顺序 ID 和 UUID 是唯一的。其他值是随机抽取的,所以在大数据集中姓名和邮箱可能重复;需要唯一键时,请添加一个 ID 字段。

可以在我自己的测试中使用这个种子吗?

种子只能在本工具中重现数据。要在测试套件中得到相同的记录,请下载一次,然后把文件作为 fixture 提交到代码库。