---
contentType: overview
---

# Creating nodes

Learn how to build your own custom [nodes](/glossary.md#node-n8n).

This section includes:

* Guidance on planning your build, including [which style to use](/integrations/creating-nodes/plan/choose-node-method.md).
* [Tutorials](/integrations/creating-nodes/build/index.md) for different node building styles.
* Instructions for [testing your node](/integrations/creating-nodes/test/index.md), including how to use the n8n [node linter](/integrations/creating-nodes/test/node-linter.md) and [troubleshooting](/integrations/creating-nodes/test/troubleshooting-node-development.md) support.
* How to [share your node](/integrations/creating-nodes/deploy/submit-community-nodes.md) with the community, submit it for [verification by n8n](/integrations/creating-nodes/deploy/submit-community-nodes.md), or use it as a [private node](/integrations/creating-nodes/deploy/install-private-nodes.md).
* [Reference material](/integrations/creating-nodes/build/reference/index.md), including UI elements and information on the individual files that make up a node.

## Prerequisites

This section assumes the following:

* Some familiarity with JavaScript and TypeScript.
* Ability to manage your own development environment, including git.
* Knowledge of npm, including creating and submitting packages.
* Familiarity with n8n, including a good understanding of [data structures](/data/data-structure.md) and [item linking](/data/data-mapping/data-item-linking/index.md).
