# Atomic Widgets

Elementor Core Advanced

Atomic widgets are content elements in Elementor’s atomic architecture. Each widget is stored as an object with elType set to widget and a widgetType that identifies the widget (for example e-heading, e-paragraph, or e-button). Alongside identity and versioning, the object holds interactions, editor metadata, control values in settings, and optional nested elements in elements.

# JSON Structure

Atomic widget structure:

{
	"id": "12345678",
	"version": "0.0",
	"elType": "widget",
	"widgetType": "e-heading",
	"isInner": false,
	"settings": [],
	"editor_settings": [],
	"interactions": [],
	"styles": [],
	"elements": []
}
1
2
3
4
5
6
7
8
9
10
11
12

# JSON Values

Argument Type Description
id string The unique identification key representing the element.
version string The widget schema version, used for data migrations.
elType string Always widget for atomic widgets.
widgetType string The widget type (for example e-heading, e-paragraph, e-button).
isInner boolean Whether the element is an inner element.
settings array/object Control values from the panel. Empty array when undefined; otherwise an object whose keys are control IDs. Values are usually typed (see below).
editor_settings array/object Editor-only metadata. Not rendered on the frontend.
interactions array Interactions attached to the widget. Empty when none are defined.
elements array Nested elements. Often empty; widgets that support nesting store child elements here.

# Typed settings

Atomic widget controls serialize as typed { $$type, value } objects (see atomic prop values). Examples include plain strings, rich text (html-v3), links, and dynamic/query references, depending on the widget schema.

# Nested elements

Widgets that support nesting store children in elements, the same pattern as layout atomic elements. Leaf widgets typically use an empty elements array.

# Example

A page with an e-div-block containing three atomic widgets (heading, paragraph, button). Paragraph text is shortened for readability; all attributes are preserved.

{
	"title": "test widgets",
	"type": "page",
	"version": "0.4",
	"page_settings": [],
	"content": [
		{
			"id": "710c74bb",
			"version": "0.0",
			"elType": "e-div-block",
			"isInner": false,
			"settings": [],
			"editor_settings": [],
			"interactions": [],
			"styles": [],
			"elements": [
				{
					"id": "662f0d0d",
					"version": "0.0",
					"elType": "widget",
					"widgetType": "e-heading",
					"isInner": false,
					"settings": {
						"tag": {
							"$$type": "string",
							"value": "h3"
						},
						"title": {
							"$$type": "html-v3",
							"value": {
								"content": {
									"$$type": "string",
									"value": "My title"
								},
								"children": []
							}
						},
						"link": {
							"$$type": "link",
							"value": []
						}
					},
					"editor_settings": [],
					"interactions": [],
					"styles": [],
					"elements": []
				},
				{
					"id": "71022738",
					"version": "0.0",
					"elType": "widget",
					"widgetType": "e-paragraph",
					"isInner": false,
					"settings": {
						"paragraph": {
							"$$type": "html-v3",
							"value": {
								"content": {
									"$$type": "string",
									"value": "Lorem ipsum dolor sit amet."
								},
								"children": []
							}
						},
						"link": {
							"$$type": "link",
							"value": []
						}
					},
					"editor_settings": [],
					"interactions": [],
					"styles": [],
					"elements": []
				},
				{
					"id": "480c5582",
					"version": "0.0",
					"elType": "widget",
					"widgetType": "e-button",
					"isInner": false,
					"settings": {
						"link": {
							"$$type": "link",
							"value": {
								"destination": {
									"$$type": "query",
									"value": {
										"id": {
											"$$type": "number",
											"value": 33514
										},
										"label": {
											"$$type": "string",
											"value": "About Us"
										}
									}
								}
							}
						}
					},
					"editor_settings": [],
					"interactions": [],
					"styles": [],
					"elements": []
				}
			]
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109