<p>Here are two approaches you could take:</p>

<h2>Seed Plugins</h2>

<ul>
<li><a href="https://sprout.barrelstrengthdesign.com/craft-plugins/import/docs/seed-data/faker-and-fake-data" rel="nofollow noreferrer">Sprout Import</a> - Sprout Import has features for both Seeding and Weeding seeded data. Sprout Import uses Faker to generate fake data and makes Faker available to you in your templates too. If you need to customize your fake data, the docs give an example of how you can generate fake data as a template, and then import that data. Sprout Import also has APIs to add support for custom Elements, Settings, and Fields if more customization is needed. When you add fake data with Sprout Import, you can mark is as "Seed Data" and later remove it from your Craft install from the Weed tab.</li>
<li><a href="https://github.com/am-impact/amseed" rel="nofollow noreferrer">A&amp;M Seed</a> - I have not used A&amp;M Seed but I believe it's the only other plugin I've seen that is built specifically for seeding.</li>
</ul>

<h2>Import Plugins</h2>

<p>As described with Sprout Import above, another approach to generating fake data is to generate fake data in an appropriate format that can be imported using an import plugin. Sprout Import accommodates this use case out of the box, but there are a handful of other Import plugins that you could generate data for and import directly.</p>

<ul>
<li><a href="https://sprout.barrelstrengthdesign.com/craft-plugins/import/docs/seed-data/faker-and-fake-data" rel="nofollow noreferrer">Sprout Import</a></li>
<li><a href="https://github.com/engram-design/FeedMe" rel="nofollow noreferrer">FeedMe</a></li>
<li><a href="https://github.com/boboldehampsink/import" rel="nofollow noreferrer">Import</a></li>
</ul>

<p><a href="https://sprout.barrelstrengthdesign.com/craft-plugins/import/docs/seed-data/faker-and-fake-data" rel="nofollow noreferrer">Sprout Import</a> and the <a href="https://github.com/sjelfull/Craft-Faker" rel="nofollow noreferrer">Craft-Faker</a> plugin both give you a way to use Faker in your twig templates to help generate Fake data to import. Each import plugin may have it's own requirements as to what format that data should be in, but Craft enables you to create Twig templates with whatever file extension you prefer (.json, .xml, etc).</p>

CC BY-SA 3.0
2017-09-29T18:37:38.660Z
Yikes... I completely forgot about the Import plugin. Now I remember a few weeks ago planning on just making a CSV and importing it... lol. The struggle is real. Thanks for the insightful suggestions, though!!
Steven Thate
CC BY-SA 3.0
2017-09-29T12:13:33.860Z
2017-09-29T12:13:33.860Z
Ben Parizek
<p>Or you could just use an existing seeding plugin like <a href="https://github.com/am-impact/amseed" rel="nofollow noreferrer">A&amp;M Seed</a>. :)</p>

<p>Even if it does do exactly what you're looking for, you can use it as a starting point for your plugin.</p>

CC BY-SA 3.0
2017-09-29T00:25:44.640Z
2017-09-29T00:25:44.640Z
Brad Bell
<p>Without taking the time to explain the reason behind the requirement, I need to make about 3,000 empty entries.</p>

<p>How can I do this, that is <strong>how can I generate X number of entries without manually saving them from the admin area</strong>, outside of writing my own plugin? I don't think there's any good way to just write some SQL and barf them into existence right inside the database :(</p>

<p>Edit:</p>

<p>So I'm fairly certain this would have to be done via custom plugin development if it is indeed possible. I've never made a Craft plugin before, so I'm a little gunshy!</p>

<p>I imagine the structure of the plugin would be something like this:</p>

<pre><code>public function onSaveEntry(Event $event)
{
    $title = $entry-&gt;title;

    for ( $i = $title; $i&lt;8000; $i++)
    {
        do
        {
            public function saveEntry(EntryModel $entry)
        }
    }
}
</code></pre>

<p>Now, this is pseudo-code at best. I'm not sure what to exactly do here. But I hope this illustrates my thinking:</p>

<ul>
<li>When I save a new entry, I want this thing to fire.</li>
<li>Right now my entries have auto-generated titles: take the last entry and add one: 5000 -> 5001 -> 5002, etc.</li>
<li>As long as we have less than 8000 entries (technically 3000 entries, as our entry titles will be 5000 - 8000) we want to keep saving new entries.</li>
<li>Once we finally save an entry with a title of 7999 or 8000, stop making entries.</li>
</ul>

<p>Is this possible? What do I need to do?</p>

<p>Thank you soooo much to whoever out there can help me out!</p>

CC BY-SA 4.0
2022-03-28T15:44:51.047Z
Sprout, A&M seed, Craft-Faker are no longer maintained.
Only FeedMe remains, but there's not fake entries generator.
Any suggestions ?
emilie zawadzki
CC BY-SA 4.0
2022-03-28T16:19:46.550Z
There are several online tools, like Mockaroo, that make it easy to generate fake data. You could then use Feed Me to import it.
CraftQuest
CC BY-SA 4.0
2022-03-30T08:08:25.747Z
That's a good point. Is it possible to make sort of reverse engineering easily with Mockaroo : import a sample data from a craft instance in the aim to generate a schema ?
Tried that and seems to be not obvious.
emilie zawadzki
<entries><saving>
Mass Creation of Entries
# Mass Creation of Entries

(Asked by: username_0 on 2017-09-28)

Without taking the time to explain the reason behind the requirement, I need to make about 3,000 empty entries.
How can I do this, that is how can I generate X number of entries without manually saving them from the admin area, outside of writing my own plugin? I don't think there's any good way to just write some SQL and barf them into existence right inside the database :(
Edit:
So I'm fairly certain this would have to be done via custom plugin development if it is indeed possible. I've never made a Craft plugin before, so I'm a little gunshy!
I imagine the structure of the plugin would be something like this:
public function onSaveEntry(Event $event)
{
    $title = $entry->title;

    for ( $i = $title; $i<8000; $i++)
    {
        do
        {
            public function saveEntry(EntryModel $entry)
        }
    }
}

Now, this is pseudo-code at best. I'm not sure what to exactly do here. But I hope this illustrates my thinking:

When I save a new entry, I want this thing to fire.
Right now my entries have auto-generated titles: take the last entry and add one: 5000 -> 5001 -> 5002, etc.
As long as we have less than 8000 entries (technically 3000 entries, as our entry titles will be 5000 - 8000) we want to keep saving new entries.
Once we finally save an entry with a title of 7999 or 8000, stop making entries.

Is this possible? What do I need to do?
Thank you soooo much to whoever out there can help me out!

**Tags:** entries, saving
> **Comments:**
> **username_1**: Sprout, A&M seed, Craft-Faker are no longer maintained. Only FeedMe remains, but there's not fake entries generator. Any suggestions ?  
> **username_2**: There are several online tools, like Mockaroo, that make it easy to generate fake data. You could then use Feed Me to import it.  
> **username_1**: That's a good point. Is it possible to make sort of reverse engineering easily with Mockaroo : import a sample data from a craft instance in the aim to generate a schema ? Tried that and seems to be not obvious.  

---

## 2 answers

### Answer by username_3 on 2017-09-29. Score: 1 | Accepted answer

Here are two approaches you could take:

## Seed Plugins

* [Sprout Import](https://sprout.barrelstrengthdesign.com/craft-plugins/import/docs/seed-data/faker-and-fake-data) - Sprout Import has features for both Seeding and Weeding seeded data. Sprout Import uses Faker to generate fake data and makes Faker available to you in your templates too. If you need to customize your fake data, the docs give an example of how you can generate fake data as a template, and then import that data. Sprout Import also has APIs to add support for custom Elements, Settings, and Fields if more customization is needed. When you add fake data with Sprout Import, you can mark is as "Seed Data" and later remove it from your Craft install from the Weed tab.
* [A&M Seed](https://github.com/am-impact/amseed) - I have not used A&M Seed but I believe it's the only other plugin I've seen that is built specifically for seeding.

## Import Plugins

As described with Sprout Import above, another approach to generating fake data is to generate fake data in an appropriate format that can be imported using an import plugin. Sprout Import accommodates this use case out of the box, but there are a handful of other Import plugins that you could generate data for and import directly.

* [Sprout Import](https://sprout.barrelstrengthdesign.com/craft-plugins/import/docs/seed-data/faker-and-fake-data)
* [FeedMe](https://github.com/engram-design/FeedMe)
* [Import](https://github.com/boboldehampsink/import)

[Sprout Import](https://sprout.barrelstrengthdesign.com/craft-plugins/import/docs/seed-data/faker-and-fake-data) and the [Craft-Faker](https://github.com/sjelfull/Craft-Faker) plugin both give you a way to use Faker in your twig templates to help generate Fake data to import. Each import plugin may have it's own requirements as to what format that data should be in, but Craft enables you to create Twig templates with whatever file extension you prefer (.json, .xml, etc).

> **Comments:**
> **username_0**: Yikes... I completely forgot about the Import plugin. Now I remember a few weeks ago planning on just making a CSV and importing it... lol. The struggle is real. Thanks for the insightful suggestions, though!!  

---

### Answer by username_4 on 2017-09-29. Score: 1

Or you could just use an existing seeding plugin like [A&M Seed](https://github.com/am-impact/amseed). :)

Even if it does do exactly what you're looking for, you can use it as a starting point for your plugin.


---

