---
description: |
  The file Packer builder is not really a builder, it just creates an artifact
  from a file. It can be used to debug post-processors without incurring high
  wait times.
page_title: File - Builders
---

<BadgesHeader>
  <PluginBadge type="official" />
</BadgesHeader>

# File Builder

Type: `file`
Artifact BuilderId: `packer.file`

The `file` Packer builder is not really a builder, it just creates an artifact
from a file. It can be used to debug post-processors without incurring high
wait times.

## Basic Example

Below is a fully functioning example. It create a file at `target` with the
specified `content`.

<Tabs>
<Tab heading="HCL2">

```hcl
source "file" "basic-example" {
  content =  "Lorem ipsum dolor sit amet"
  target =  "dummy_artifact"
}

build {
  sources = ["sources.file.basic-example"]
}
```

</Tab>
<Tab heading="JSON">

```json
{
  "type": "file",
  "content": "Lorem ipsum dolor sit amet",
  "target": "dummy_artifact"
}
```

</Tab>
</Tabs>

## Configuration Reference

Configuration options are organized below into two categories: required and
optional. Within each category, the available options are alphabetized and
described.

Any [communicator](/packer/docs/templates/legacy_json_templates/communicator) defined is ignored.

### Required:

- `target` (string) - The path for the artifact file that will be created. If
  the path contains directories that don't exist, Packer will create them, too.

### Optional:

You can only define one of `source` or `content`. If none of them is defined
the artifact will be empty.

- `source` (string) - The path for a file which will be copied as the
  artifact.

- `content` (string) - The content that will be put into the artifact.
