# Copy fields from one module to another

**URL:** <https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721>\
**Category:** CMS Development\
**Created:** [December 9, 2023, 11:56am UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721 "2023-12-09T11:56:07Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![DM2](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/dm2/32/39641_2.png) [@DM2](https://community.hubspot.com/u/DM2)\
**Post date:** [December 9, 2023, 11:56am UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/1 "2023-12-09T11:56:07Z")

</div>

Hi

Is it possible to copy a group of fields from one modue to another?

I’m aware you can clone modules, but I would like to be able to copy over a complicated set of fields that I’ve created in one module to a number of exisiting ones.

Alternatively is there a way of having some kind of global include that can be shared amongst modules?

Thanks!

---

<div class="post-metadata">

**Author:** ![SteveHTM](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/stevehtm/32/22074_2.png) [@SteveHTM](https://community.hubspot.com/u/SteveHTM)\
**Post date:** [December 9, 2023, 9:05pm UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/2 "2023-12-09T21:05:05Z")

</div>

@DM2 - There may be cleverer options, but I’d suggest use of the CLI tools features:

- fetch the module with the complicated fields setup to your local evironment

- copy the meta data files from this module to your new module

- upload the new module and all the field options will be replicated.

Hope this is helpful.

Steve

---

<div class="post-metadata">

**Author:** ![shaider4](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/shaider4/32/200867_2.png) [@shaider4](https://community.hubspot.com/u/shaider4)\
**Post date:** [December 11, 2023, 11:56am UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/3 "2023-12-11T11:56:33Z")

</div>

Here’s what I always do:

1. **Navigate to the Module:**

2. **Select Records:**

3. **View and Edit Record:**

4. **Copy Field Values:**

5. **Navigate to the Target Module:**

6. **Edit Record:**

7. **Paste Field Values:**

8. **Save Changes:**

---

<div class="post-metadata">

**Author:** ![SamDuckett](https://avatars.discourse-cdn.com/v4/letter/s/977dab/32.png) [@SamDuckett](https://community.hubspot.com/u/SamDuckett)\
**Post date:** [January 22, 2026, 11:48am UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/4 "2026-01-22T11:48:42Z")

</div>

In theory, could this cause issues due to having identical id’s across modules in their fields.json files?

---

<div class="post-metadata">

**Author:** ![jaymewelch](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jaymewelch/32/41908_2.png) [@jaymewelch](https://community.hubspot.com/u/jaymewelch)\
**Post date:** [January 22, 2026, 6:38pm UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/5 "2026-01-22T18:38:23Z")

</div>

Not sure since there is a relationship with the module. Does the pair  
create a unique instance, or is it strictly by field ID?.  
Either way, it would definitely make sense to generate new IDs when it’s  
copied over.

---

<div class="post-metadata">

**Author:** ![Berangere](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/berangere/32/220784_2.png) [@Berangere](https://community.hubspot.com/u/Berangere)\
**Post date:** [January 27, 2026, 4:55pm UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/6 "2026-01-27T16:55:39Z")

</div>

Hi @SamDuckett, and thanks so much @jaymewelch for your contribution on the HubSpot Community!  
So, field IDs in fields.json are generally unique UUIDs that identify each field within a module.  
When you copy a module’s metadata files and upload them as a new module, HubSpot will recognize it as a separate module with its own field instances.

For best results and to prevent any conflicts, it’s a good idea to generate new IDs for your copied fields. You can do this by:

- Manually updating the id values in your copied fields.json, or  
- Using the CLI’s hs create module command to set up a fresh module structure, then bringing in your field configurations (without reusing the old IDs).  
Field IDs are UUIDs (for example, “id”: “357bacfa-2bb8-e996-4589-f55e10d4f1d4”), and each one should be unique.  
Here are some resources for reference:  
- [Module and theme fields](https://developers.hubspot.com/docs/cms/reference/fields/module-theme-fields)  
- [Module and Theme Fields Overview](https://developers.hubspot.com/docs/cms/reference/fields/overview)  
- [Write module and theme fields using JavaScript](https://developers.hubspot.com/docs/cms/start-building/building-blocks/fields/write-fields-using-javascript)  
This approach will help keep your modules organized and running smoothly!  
Bérangère  
_This post was created with the assistance of AI tools_

---

<div class="post-metadata">

**Author:** ![Kevin-C](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/kevin-c/32/34570_2.png) [@Kevin-C](https://community.hubspot.com/u/Kevin-C)\
**Post date:** [December 10, 2023, 4:58pm UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/7 "2023-12-10T16:58:45Z")

</div>

Hey @DM2

So there is no “quick” way to do this but there are options!

First if you’re looking for a global implemetation of custom property selections from a module that can be used throughout a page or theme, you can use my favorite HS property “[export\_to\_template\_context](https://developers.hubspot.com/docs/cms/building-blocks/modules/export-to-template-context)”.

This property is added to module expression when coding it into a template:

```lia-code-sample
{% module "job_title" path="@hubspot/text", label="Enter a Job Title", value="Chief Morale Officer", export_to_template_context=True %} 

```

You can then use the properties exported from the module by name like:

`{{ widget_data.job_title.body.value }} `

Second (as @SteveHTM has mentioned) you could use the “copy JSON” option from the module and paste it into another when developing locally:

When in the design manager, click Actions \> Copy JSON. This code can now be pasted into a module’s fields.json config file using a coded editor like VSCode. This JSON is also availble from the original module’s fields.json files as well.

```lia-code-sample
[
 {
 "default": {
 "form_id": "7b4fc5b2-1d4a-4a0a-8319-xxxxxxxxxxxxx",
 "response_type": "inline",
 "message": "Thanks for submitting the form.",
 "gotowebinar_webinar_key": null,
 "form_type": "HUBSPOT"
 },
 "display_width": null,
 "id": "form",
 "label": "Form",
 "locked": false,
 "name": "form",
 "required": false,
 "type": "form"
 }
]

```

Third you can always clone the module!

In the deisgn manager, right click the module and select “Clone module”

 ![KevinC_0-1702227295523.png](https://d2qpr2jzcazej7.cloudfront.net/original/3X/0/3/0383f03ada1146f6083d33dae4b17fb631877918.png)

There is so much that one can do with just these 2 implementation!

If you have any question I can help answer please don’t hesitate to reach out!

Best

---

<div class="post-metadata">

**Author:** ![DM2](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/dm2/32/39641_2.png) [@DM2](https://community.hubspot.com/u/DM2)\
**Post date:** [December 11, 2023, 9:43am UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/8 "2023-12-11T09:43:10Z")

</div>

Thanks, the copying json and re-uploading via the cli worked best for me!

---

<div class="post-metadata">

**Author:** ![jaymewelch](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jaymewelch/32/41908_2.png) [@jaymewelch](https://community.hubspot.com/u/jaymewelch)\
**Post date:** [April 26, 2024, 4:11pm UTC](https://community.hubspot.com/t/copy-fields-from-one-module-to-another/95721/9 "2024-04-26T16:11:35Z")

</div>

It would be ideal if there was a way to copy/paste the JSON from one module to another in the HubSpot Design Manager. I like to have a consistent set of style settings across each module within a theme. Having to hand code them in for every module or use an external IDE is tedious.
