Sashmark

Markdown link checker

Paste a Markdown file or open a .md file, and see every link and image with its line number, plus warnings for empty targets, anchors that match no heading and headings that make the same anchor. It is free and runs in your browser.

Your file stays on your computer. The conversion runs in this browser tab. Nothing is uploaded, stored or logged.

Report

Checking…

A Markdown link is text in square brackets followed by a target in round brackets, such as [the plan](plan.md). A target that starts with # points to a heading in the same file.

How to check the links in a Markdown file

  1. Paste your Markdown in the box, or choose Open a .md file, or drop the file on the box.
  2. Read the count line under the buttons: how many links and images the file has, and how many warnings.
  3. Read the warnings first. Each one shows the link text and the line its paragraph, list item or table row starts on.
  4. Choose Copy report to copy the warnings and the full list as plain text.

Join the Sashmark waitlist

Sashmark is a Markdown reader in development for files your AI agents write. It is planned to let you read and edit .md files like this one on your desktop.

Questions

Is my file uploaded?

No. The conversion runs in your browser on your own computer. The page sends nothing about your file anywhere, and nothing is stored or logged.

Is the link checker free?

Yes. There is no sign-up and no limit on how many files you check.

Does it open the links in my file?

No. It never opens a link or asks a website anything, so it cannot say whether a web address answers. It reports what the file itself says: a target that is empty, an anchor with no heading of that name in the file, or two headings that make the same anchor.

How does it match an anchor to a heading?

It turns each heading into an anchor the common way: lower case, spaces become hyphens and most punctuation is dropped. A second heading with the same text gets -1 at the end. Case does not count when it compares. Numbered character codes such as é are read as the letter they stand for, and so are named ones for common letters such as é. Other named codes are not, so a heading or link that uses one may make an anchor look unmatched. When the # of a link, or a target of only spaces, is itself written as a character code such as #, it is read as written and not checked. Other viewers can make anchors their own way.

Which links does it read?

Inline links, reference links, images and web addresses in angle brackets or typed out in full. Links inside code blocks are examples, so they are skipped. A reference link whose label has no definition is plain text, so it is not listed. Links written as HTML a tags are not read.

What is Sashmark?

Sashmark is a Markdown reader in development for people whose AI agents write Markdown. It is planned to let you read and edit .md files like yours on your desktop.