# Change field name and type

This article serves to communicate the risks involved in changing a field's name, namespace and/or data type. It's important to note that ACF won't stop you from carrying out the changes, since the rationale for doing it can vary greatly.\
\
Normally, ACF will show these field properties as read-only for already created fields, but it's possible to edit these fields by clicking the small "lock" icon in the lower-left corner of the dialog:

![](https://3940270179-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbIlmOfNwpXqPZMStJkgh%2Fuploads%2F3PGeffVQ4RklexjGxoJc%2FCleanShot%202021-11-16%20at%2014.40.12.png?alt=media\&token=6934d6f9-7b36-43fc-a478-a2c7458670b2)

The reason behind making this just a tiny bit difficult is that changing an existing field's definition of name and/or namespace may cause loss of access to any already defined values for that particular scope that use the current name and namespace combination.

Or, maybe worse, you may point your new name/namespace combination to some already defined fields (by other apps, maybe) with incompatible values.

{% hint style="danger" %}
*Changing a field's data type may cause undesired effects, if the field's existing data is not compatible with the new type **and** may require changes to your theme.* \
\
\&#xNAN;*Please only change a field's type when you know what you are doing and always consult the below table for any issues that may arise. This may not be an exhaustive list of issues that may arise from changing a field's type, so make sure you are planning a change carefully.*
{% endhint %}

A change of a field's type is always possible when there are no existing values tied to the definition (no values entered for a product, a page, etc).\
\
However, when existing values are already in place, care must be taken before carrying out a change. Please see the below table for how field types can be changed. \
\
Also note that while something is possible from a technical standpoint, it doesn't mean it's a good idea. But ultimately, this is for you to decide.

### Field type change overview

**Text** - can be changed to any of the following:

* HTML
* Checkbox
* Selection
* Tags
* Number
* Color
* Multi-language Text
* Multi-language HTML

{% hint style="info" %}
If a Text field is changed to a Checkbox, any existing value will cause the checkbox to become checked
{% endhint %}

{% hint style="info" %}
*To change to a Multi-language field type, get in touch with support beforehand*
{% endhint %}

&#x20; **Markdown** - can be changed to:

* JSON&#x20;

**Checkbox** - can be changed to any of the following:

* Text
* HTML
* Selection
* Tags&#x20;

{% hint style="info" %}
If changed to a Selection, be sure to include the value "true" in the list of options
{% endhint %}

**Selection** - can be changed to any of the following:&#x20;

* Text
* HTML
* Markdown
* Tags
* Number

{% hint style="info" %}
Only change to a Number if existing selections are single-selection numbers
{% endhint %}

**Tags** - can be changed to any of the following:&#x20;

* Text
* HTML
* Markdown
* Selection

**Number** - can be changed to any of the following:&#x20;

* Text
* HTML
* Markdown
* Selection
* Tags&#x20;

**Color** - can be changed to any of the following:&#x20;

* Text
* HTML
* Markdown
* Selection
* Tags&#x20;

**Multi-language Text** - can be changed to any of the following:

* JSON
* Multi-language HTML
* Multi-language Markdown&#x20;

**Multi-language Markdown** - can be changed to:&#x20;

* JSON&#x20;

**Multi-language HTML** - can be changed to:&#x20;

* JSON&#x20;

**Reference to ...** - can be changed to any of the following:&#x20;

* Text
* Tags
