# Why won't this flow import?

**URL:** <https://discourse.nodered.org/t/why-wont-this-flow-import/99382>\
**Category:** General\
**Created:** [14 October 2025 08:32 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382 "2025-10-14T08:32:42Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [14 October 2025 08:32 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/1 "2025-10-14T08:32:42Z")

</div>

In a [github issue](https://github.com/FlowFuse/node-red-dashboard/issues/1885) the OP is posting flows that validate ok in [https://jsonlint.com](https://jsonlint.com) but won't import as node red says it is not valid JSON.

Could someone who knows about such things indicate what the problem is? I suspect it may be due to embedded non-printable characters, or something similar. The question then is, should node-red be able to import it?

```auto
[
    {
        "id": "a17e320916ab3b9b",
        "type": "tab",
        "label": "Энергометр",
        "disabled": false,
        "info": ""
    },
    {
        "id": "b29ff552a7bdcaf4",
        "type": "ui-chart",
        "z": "a17e320916ab3b9b",
        "g": "f16661260a2f9b01",
        "group": "4ecca468c23df954",
        "name": "Монитор",
        "label": "Мониторинг напряжения, потребления, потерь и частоты онлайн",
        "order": 1,
        "chartType": "bar",
        "category": "seriesMon",
        "categoryType": "property",
        "xAxisLabel": "",
        "xAxisProperty": "topic",
        "xAxisPropertyType": "msg",
        "xAxisType": "category",
        "xAxisFormat": "dd.LL",
        "xAxisFormatType": "custom",
        "xmin": "",
        "xmax": "",
        "yAxisLabel": "",
        "yAxisProperty": "valuesMon",
        "yAxisPropertyType": "property",
        "ymin": "0",
        "ymax": "600",
        "bins": 10,
        "action": "replace",
        "stackSeries": false,
        "pointShape": "circle",
        "pointRadius": "2",
        "showLegend": true,
        "removeOlder": "5",
        "removeOlderUnit": "604800",
        "removeOlderPoints": "",
        "colors": [
            "#0095ff",
            "#ff0000",
            "#ff7f0e",
            "#2ca02c",
            "#a347e1",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "textColor": [
            "#666666"
        ],
        "textColorDefault": true,
        "gridColor": [
            "#e5e5e5"
        ],
        "gridColorDefault": true,
        "width": 6,
        "height": "5",
        "className": "",
        "interpolation": "smooth",
        "x": 1460,
        "y": 340,
        "wires": [
            []
        ]
    },
    {
        "id": "4ecca468c23df954",
        "type": "ui-group",
        "name": "Онлайн",
        "page": "d8ffe29d78eeda2b",
        "width": 6,
        "height": 1,
        "order": 1,
        "showTitle": true,
        "className": "",
        "visible": "true",
        "disabled": "false",
        "groupType": "default"
    },
    {
        "id": "d8ffe29d78eeda2b",
        "type": "ui-page",
        "name": "Мониторинг",
        "ui": "b3cc25479f46b68b",
        "path": "/monitoring",
        "icon": "home",
        "layout": "grid",
        "theme": "ec10442445c8ea89",
        "breakpoints": [
            {
                "name": "Default",
                "px": "0",
                "cols": "3"
            },
            {
                "name": "Tablet",
                "px": "576",
                "cols": "6"
            },
            {
                "name": "Small Desktop",
                "px": "768",
                "cols": "9"
            },
            {
                "name": "Desktop",
                "px": "1024",
                "cols": "12"
            }
        ],
        "order": 21,
        "className": "",
        "visible": "true",
        "disabled": "false"
    },
    {
        "id": "b3cc25479f46b68b",
        "type": "ui-base",
        "name": "My Dashboard",
        "path": "/dashboard",
        "appIcon": "",
        "includeClientData": true,
        "acceptsClientConfig": [
            "ui-notification",
            "ui-control"
        ],
        "showPathInSidebar": false,
        "headerContent": "page",
        "navigationStyle": "default",
        "titleBarStyle": "default",
        "showReconnectNotification": true,
        "notificationDisplayTime": 1,
        "showDisconnectNotification": true,
        "allowInstall": true
    },
    {
        "id": "ec10442445c8ea89",
        "type": "ui-theme",
        "name": "Default Theme",
        "colors": {
            "surface": "#ffffff",
            "primary": "#0094CE",
            "bgPage": "#eeeeee",
            "groupBg": "#ffffff",
            "groupOutline": "#cccccc"
        },
        "sizes": {
            "density": "default",
            "pagePadding": "12px",
            "groupGap": "12px",
            "groupBorderRadius": "4px",
            "widgetGap": "12px"
        }
    },
    {
        "id": "8443b8864894bd4f",
        "type": "global-config",
        "env": [],
        "modules": {
            "@flowfuse/node-red-dashboard": "1.29.0"
        }
    }
]

```

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [14 October 2025 08:38 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/2 "2025-10-14T08:38:36Z")

</div>

imports fine for me on Win + Chrome (it imports to a separate tab)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/9/c9b8207ec4dce4d25dd76a8cf0b43c4fdab961c2.png)

Do you have errors in the browsers console?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [14 October 2025 08:39 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/3 "2025-10-14T08:39:26Z")

</div>

Hmm, that's odd. After pasting it here and re-copying it, it is ok.

To see the problem it seems necessary to get it directly from github. I can't work out how to directly reference an individual comment on github, but it is the flow posted on ~~11/10/25~~ 09/10/25 in the link posted above.

Edit, corrected date

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [14 October 2025 08:43 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/4 "2025-10-14T08:43:27Z")

</div>

This one --\> [New version of the diagrams all curved and oblique!! · Issue #1885 · FlowFuse/node-red-dashboard · GitHub](https://github.com/FlowFuse/node-red-dashboard/issues/1885#issuecomment-3384576425)

to get share link, click on the date "5 days ago":

 ![Screenshot 2025-10-14 at 10.42.53](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/2/a204e04e162bfaa28eafd523b1c8823775591f10.png)

for what it's worth, it doesn't work with the [browser-red](https://cdn.flowhub.org):

 ![Screenshot 2025-10-14 at 10.44.20](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/a/0a44c3e8ea0ff1908571df0722b26409be192772.png)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [14 October 2025 12:26 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/5 "2025-10-14T12:26:23Z")

</div>

I see the problem, I think. The flow has UTF8 non-breaking spaces, 0xC2A0, dotted through it. Whether node-red should cope with that I don't know. I think the supplier of the flow is manually creating the flow file.

---

<div class="post-metadata">

**Author:** ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)\
**Post date:** [14 October 2025 15:36 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/6 "2025-10-14T15:36:37Z")

</div>

Manually.... or getting something else to generate it?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [14 October 2025 21:17 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/7 "2025-10-14T21:17:12Z")

</div>

I am not entirely sure, it has been difficult to determine that. It doesn't really matter I don't think. The question is whether node-red should say that it is invalid JSON when (apparently) it is not invalid.

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [15 October 2025 06:14 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/8 "2025-10-15T06:14:34Z")

</div>

Not sure if this is throwing it?  
these chars are not present here -\> [Why won't this flow import?](https://discourse.nodered.org/t/why-wont-this-flow-import/99382)

> **[View non-printable unicode characters](https://www.soscisurvey.de/tools/view-chars.php)**

 ![Screenshot 2025-10-15 at 07.13.41](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/c/ecc6be527044e03fcf1116156add764f27baf6b2.png)

**EDIT**

* * *

> [@Colin](#):
>
> I see the problem, I think. The flow has UTF8 non-breaking spaces, 0xC2A0, dotted through it. Whether node-red should cope with that I don't know. I think the supplier of the flow is manually creating the flow file.

Oh you found it (its early) 🫠

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [15 October 2025 06:45 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/9 "2025-10-15T06:45:29Z")

</div>

This looks very much like ai generated flows are being used. There are many posts around the web of ai inserting non printable characters in code.

So AI can generate flows? Yes, but you should not use them. Flow JSON is not schema driven nor is it schema validated. It is very easy for a bad combination of values to get in the flows and crash your system.

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [15 October 2025 07:24 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/10 "2025-10-15T07:24:47Z")

</div>

> [@Steve-Mcl](#):
>
> inserting non printable characters in code.

is this watermarking AI content by any chance?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [15 October 2025 07:51 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/11 "2025-10-15T07:51:34Z")

</div>

Some say yes. IDK. Its pretty weak TBF.

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [15 October 2025 08:49 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/12 "2025-10-15T08:49:48Z")

</div>

> [@Steve-Mcl](#):
>
> Its pretty weak

What's the alternative with text only content? it's not like you can create an ascii graphic between the lines 😉

but I'm sure there will soon be an app for that ....

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [15 October 2025 12:17 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/13 "2025-10-15T12:17:07Z")

</div>

It turns out that the guy has been manually editting the flow file, so most likely his editor converted the spaces to unicode.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/b/1bc7682145465d96d630b3b0bec0353029091eaa.png)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [13 January 2026 12:17 UTC](https://discourse.nodered.org/t/why-wont-this-flow-import/99382/14 "2026-01-13T12:17:30Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
