NanoStories, a dataset of 50 million rule-generated English children's stories, has been released. Developers can download data that does not rely on neural generation to train small language models or test data processing at scale.

1. Stories assembled from scenes and word lists

Each row contains one complete story. The stories are split across 50 Parquet files, a column-oriented file format, with 1 million stories per file. Each row has just one field, text, holding the English story. This supports training experiments that use the full text as input.

Stories link scenes in sequence across five plots, such as finding objects or sharing snacks. Names, traits, and animals come from fixed lists, with background descriptions added to about one in three stories. The table below shows generator list sizes from the dataset documentation.

Table: Main lists used by the generator

Conditions: Based on the rule-based generator lists in the dataset card

Unit: Count

Stories assembled from scenes and word lists
ItemCount
Story themes5
Names20
Personality traits12
Roles12
Animal adjectives12
Animal species10

2. Uses from training to data processing tests

The documentation suggests training small language models from scratch or comparing against other synthetic children's story corpora. Tokenizers and pipelines that read data and feed it into training can also be tested at scale.

Developers can load the public dataset as input for these experiments. The distribution page provides this loading example:

from datasets import load_dataset

ds = load_dataset("AuroraAI-Research/NanoStories")

The files occupy about 4.19GB on disk. The viewer reports an in-memory data size of about 28.6GB, larger than the stored files. Both download size and in-memory size should be considered when choosing how to read the data.

3. 50 million stories generated on a phone CPU

The documentation reports generating 50 million stories in about 9.5 minutes using a single worker on a phone CPU. It presents this figure as an example of producing large-scale data with rules rather than a neural model.

The documentation says results remain identical across repeated runs or changes in worker count if the random seed and generation batch size stay the same. This reproducibility helps when repeating experiments on data generated under the same conditions.

4. Diversity, rather than generation cost, becomes the experimental variable

Rule-based generation produces a large corpus, a collection of texts, without running a neural model, but repeats five plots and fixed word lists. The documentation states that no grammar checks or human review took place. It excludes measuring general language ability or real-world writing quality, and treating story morals as factual or educational authority.

The focus is therefore on training and data processing experiments and the effects of generation rules. As the documentation suggests, it can support research on how data diversity and vocabulary affect small model training.

5. Checking public files and licensing

The dataset is licensed under Apache-2.0. Repository commits record data uploads and documentation creation and updates on October 23, 2026. Developers can check the dataset page for its structure and usage examples, and the commit history for changes to public files and documentation.

NanoStories offers a large collection of rule-generated stories as a shared starting point for small model training and data processing experiments.