Skip to main content

How to change the name of an internal link in an Obsidian table

Escaping the pipe like [[filename\|display text]] allows you to customise the of a link in a table.

I use tables to track recurring documents like bank statements, linking to the file and pulling out some key info at the top level. But I don’t want the filename poking through – statement_sqeiu_1234.pdf – I want a nice human-readable name.

I can do internal links with custom display text in Obsidian like so:

[[statement_sqeiu_1234.pdf|April 2024 statement]]

But if I try that syntax in a table, the table breaks:

| Internal link                    |
| -------------------------------- |
| [[Welcome|This is the new note]] |
A table with two columns, because 'Welcome' and 'This is the new note' have been split into two columns.

The trick is to escape the pipe in the middle of the internal link:

| Internal link                     |
| --------------------------------- |
| [[Welcome\|This is the new note]] |
A table with one columns, with 'This is the new note' correctly showing as the link text.

You get this behaviour “for free” if you use the Obsidian editor, but for some of these repetitive tables I do the initial editing in an external editor, and then bring it back into Obsidian.