Internal links doesn't work after compilation.

I use Scrivener on Windows.

As I discovered, Scrivener internal links (Edit > Scrivener Link) doesn’t work after document is compiled to HTML or Markdown.

Also, as I discovered (after a short Internet-research), this feature works well on Macs. It was already done in 2014 or maybe even early.

This issue is real deal-breaker for me. I just cannot use software without ability to use cross-links between document sections.


  1. Is there any workaround?

  2. Do you plan to fix it in Windows version? And how soon?

Thanks, John.

Hey John,

I am using the newest version of Scrivener, can you explain a bit more, so that I can try to duplicate what you are doing to test if it works in my version. I think it is working, but maybe you are doing something different from me ?

For example, I have three sections in my document: Chapter 1, Chapter 2 and Chapter 3. Screenshot 1.

Next, I need to create a cross-link from Chapter 1 to Chapter 2. There are several ways to accomplish it:

  • Click Edit > Scrivener Link > Draft > Chapter 2. Screenshot 2

  • Click Edit > Scrivener Link > New Link > Link to Existing Document > Draft > Chapter 2

Done. Cross-link created. Screenshot 3.

Now I want to compile it into HTML. I prefer MultiMarkdown-to-HTML way, because it’s code is more clean. I press Ctrl-Shift-E, choose “MultiMarkdown to Web Page” > Click Compile > Type file name > Click Save.

The file is compiled and placed on Desktop, but cross-link is just a text. It’s not a hyperlink (Chapter 2) and that’s why, obviously, I cannot click it and jump directly to Chapter 2. Screenshots 4 and 5


Screenshot 1:

Screenshot 2:

Screenshot 3:

Screenshot 4:

Screenshot 5:

Also, I small update. During writing this message and creating screenshots, I accidentally clicked somewhere and get this:

I don’t know how I get it and what does it actually mean, but from my point of view it seems like a possible workaround. Still, as I said, I don’t know how it will work and I could not reproduce it. It is just some strange accident for me.

The compile creates a document in the various formats that you can choose from. The only compile that maintains dynamic links that I am aware is the epub compile. Now that is dynamic links, in other words links that you dont have to worry about if you move things around.

The other formats I am aware that can handle compiling links are the rtf format and the doc format. If you compile to word format or rich text format (*.rtf) the links can be maintained. In order for you to end up with a html document, you then have to open it in word or similar and save it as html.

I tried it now on my laptop, and I compile first to word *.doc. Then I open the file it creates in OpenOffice and save it as a *.html page. It has the links I created in Scrivener and I can click them and it takes me to the target.

This is the only way I know of to do something like this but maybe others know more. I have not used Scrivener very long.

Thank you, Aron. Yes, I am still waiting for answer from Literature and Latte officials.

As I said, on Macs it seems already fixed many years ago:


And here is screenshot from Mac version. As you see, there is an option for converting Scrivener internal links into HTML links:

Good news John, this is very easy in Scrivener, and it works really well.

Scrivener can compile mulitimarkdown so it is so easy to do this. Just install multimarkdown for windows, and you will automatically get the compile for it when you want to compile your text, just select multimarkdown to web page (.html)

You can then just write all your links as multimarkdown. It is incredible easy to use.

Let me know if you need help

Yep, I understand your point. I could write links in MultiMarkdown like this: Chapter 2

Also, by the way, I could use HTML links, so I just write: Chapter 2 directly in Scrivener window.

But this way the links would be static, not dynamic. For example, if I rename “Chapter 2” to “Chapter 2. Adventures at Mystery Island” using the left side bar, the link will be broken and I will be forced to manually update it.

Actually I’m working with technical documentation, I’m not novellist. In fictional texts such manual approach may be acceptable, but in my tech docs there a lot of cross-links, and manually updating all of them would be real pain.

The links would be dynamic in the sense that it is using the HTML id or class of a tag, so even if you move the tag with that id to other page, the link will still work. Lets say you link to a heading or a some text the link to that text will work regardless or what page in Scrivener you move it to.

Hm, interesting idea. I should test it in real life, but at first glance looks simple and reliable.