HTML Table node - "Header Attributes"

Hey there,

the n8n manual states, for the Header Attributes Option of the HTML Table node: Enter any attributes to apply to the table’s headers <th>.

Source: HTML | n8n Docs

But, from what i’ve experienced, the Header Attributes Option is applied to the <thead> tag.

Does anybody know which behaviour is correct? The behaviour of my n8n instance (Version 1.121.3 ) or the behaviour explained within the manual?

Thank you!

Hi @raving1522,

Yes this is the correct behaviour of setting styling to the header of a table. If you google the definition and usage of <thead> , then n8n is applying the styling to all <th> columns using the <thead> instead of duplicating the styling to each <th>

Thanks for the clarification!

However, from a practical perspective this behaviour creates a styling limitation in real use-cases:

When the Header Attributes are applied to the <thead> element rather than to the individual <th> cells, certain CSS properties (like padding) affect the entire header row instead of each header cell.

In contrast, the Cell and Row styling options for regular table rows in n8n allow per-cell granularity — I can apply padding to each <td> and get proper spacing between cells. For the header row this is currently not possible, since padding applied via <thead> does not behave the same as padding on individual <th> elements.

Because of this, the documented behaviour (“attributes applied to the table’s headers <th>”) would actually be more consistent and more useful, as it would provide the same level of control for header cells as for normal cells.

Suggestion:
To resolve this cleanly, it might make sense to introduce two separate styling options in the HTML Table node:

  • one specifically for <thead> (styling the entire header row)
  • one specifically for <th> (styling individual header cells)

This would align header styling with the existing separation of Row and Cell styling for <tr> and <td> and would avoid the current limitations.

Question:
Is the current implementation (applying attributes only to <thead>) intended long-term, or would aligning the behaviour with the documentation — or offering separate <thead> / <th> options — be considered as a potential improvement?

My short answer to your response is as follows:

  • n8n is not a html templating engine so therefore has limitations for producing basic html capabilities.
  • You are more than welcome to build the html manually using Set or Code nodes to your unique needs
  • Since n8n is open source, you can also fork it and build this property into the existing html node
  • Lastly, you can build a custom node which has all the flexibility you need for creating html

The challenge with your above question whether this will be baked in future is that the n8n team will likely not spend time on catering for the nth degree of customisation of html for everyone, as you can think this would get our of hand very quickly. The html node is only a small utility and probably not used as widely or as core a function to the capabilities of the entire platform.

1 Like

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