---
pagination_prev: null
description: Overview of the "Build a custom generator" codelab.
---

import Image from '@site/src/components/Image';

# Build a custom generator

## 1. Codelab overview

### What you'll learn

- How to create a custom language generator.
- How to create block generator definitions for existing blocks.
- How to create block generator definitions for new blocks.
- How to use a custom generator in an application.

### What you'll build

You will build a JSON generator that implements the [JSON language spec](https://www.json.org/json-en.html).

<Image
  src="/images/codelabs/custom-generator/json_workspace.png"
  alt="Screenshot of the toolbox and workspace built in this codelab. It contains blocks that implement the JSON spec, like member, object, lists, strings, and numbers."
  className="codelabImage"
/>

### What you'll need

- Familiarity with JSON and the JSON specification.
- Basic understanding of blocks and toolboxes in Blockly.
- NPM installed ([instructions](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)).
- Comfort using the command line/terminal.
