---
page_title: Modules Overview - Configuration Language
description: >-
  Modules are containers for multiple resources that are used together in a
  configuration. Find resources for using, developing, and publishing modules.
---

# Modules

> **Hands-on:** Try the [Reuse Configuration with Modules](/terraform/tutorials/modules?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorials.

_Modules_ are containers for multiple resources that are used together. A module
consists of a collection of `.tf` and/or `.tf.json` files kept together in a
directory.

Modules are the main way to package and reuse resource configurations with
Terraform.

## The Root Module

Every Terraform configuration has at least one module, known as its
_root module_, which consists of the resources defined in the `.tf` files in
the main working directory.

## Child Modules

A Terraform module (usually the root module of a configuration) can _call_ other
modules to include their resources into the configuration. A module that has
been called by another module is often referred to as a _child module._

Child modules can be called multiple times within the same configuration, and
multiple configurations can use the same child module.

## Published Modules

In addition to modules from the local filesystem, Terraform can load modules
from a public or private registry. This makes it possible to publish modules for
others to use, and to use modules that others have published.

The [Terraform Registry](https://registry.terraform.io/browse/modules) hosts a
broad collection of publicly available Terraform modules for configuring many
kinds of common infrastructure. These modules are free to use, and Terraform can
download them automatically if you specify the appropriate source and version in
a module call block.

Also, members of your organization might produce modules specifically crafted
for your own infrastructure needs. [Terraform Cloud](https://cloud.hashicorp.com/products/terraform) and
[Terraform Enterprise](/terraform/enterprise) both include a private
module registry for sharing modules internally within your organization.

## Using Modules

- [Module Blocks](/terraform/language/modules/syntax) documents the syntax for
  calling a child module from a parent module, including meta-arguments like
  `for_each`.

- [Module Sources](/terraform/language/modules/sources) documents what kinds of paths,
  addresses, and URIs can be used in the `source` argument of a module block.

- The Meta-Arguments section documents special arguments that can be used with
  every module, including
  [`providers`](/terraform/language/meta-arguments/module-providers),
  [`depends_on`](/terraform/language/meta-arguments/depends_on),
  [`count`](/terraform/language/meta-arguments/count),
  and [`for_each`](/terraform/language/meta-arguments/for_each).

## Developing Modules

For information about developing reusable modules, see
[Module Development](/terraform/language/modules/develop).
