When the goal is viewing Markdown documents, it’s best to start with a lightweight viewer. There are many options for this on Windows, but they’re not always as simple or as feature-rich as what you can get in Linux distributions like Debian.
FOSS
A basic Markdown viewer for Windows should be a free-and-open-source software (FOSS) tool that provides all of the features you’d expect from GitHub Flavored Markdown — which is essentially standard Markdown plus some additions for GitHub repositories. That includes syntax highlighting (including LaTeX support), though there’s no need for any editing environment unless you want to edit those Markdown files.
In other words, a Markdown viewer should provide everything you need to view your Markdown files without needing a full-blown editor.
For now, we’ll assume that users aren’t interested in editing the Markdown, just displaying it.
However, if you want to generate image-rich documents, such as user guides, then there are other editor choices. We’ll describe these below, along with the limitations users encounter when laying out images in Markdown and exporting to PDF.
Obsidian
If you’re seeking an option that supports local storage rather than relying on remote services, you can consider Obsidian. It’s a powerful tool that’s available for installation on Windows, macOS, and Linux.
You might have considered using Joplin, but Joplin offers a WYSIWYG-style editor that might make the process of formatting documents easier.
Sphinx
Alternatively, you could install Sphinx via Python, allowing you to create HTML pages or export them to PDF. Sphinx has its own Markdown format known as reStructuredText, but it works very well within Windows. The drawback is that the export process isn’t as straightforward as what you can do with other Markdown tools.
Other Markdown editors
We haven’t tested all of the Markdown editors you might consider, but here’s a selection of tools you can download:
Pandoc
Visual Studio Code
Typora
The markdown extension for VSCode
There are also extensions for Word processors like Notion.
The challenge of working with Markdown
It can be easy to underestimate how much time you can save by writing Markdown rather than trying to compose text in Word or OpenOffice. But it does come at a price. When you insert an image into Markdown, it’s simply inserted as a reference. This means that it’s often difficult to determine where the image will be placed, and whether the layout will appear correctly once you export the file to PDF. Some editors try to work around these problems by allowing you to place images in tables, and specify their width and height, while others don’t.
This means that even if you lay out a document nicely using Markdown, you may end up having to adjust your image layout to ensure that it exports properly to PDF. In addition, it’s possible that the resulting exported PDF doesn’t look exactly as intended, because it’s based on the underlying HTML layout rather than on the PDF specification.
Obsidian makes it especially hard to work around these issues. If you take a screenshot of a website, the excessive white space that appears above and below the image makes it impossible to scale the image to fit two per page.
There are community plugins that allow you to preview your Markdown content as a PDF, but they’re usually only approximate previews. They don’t include manual control over page breaks either. One workaround is to crop screenshots to highlight specific areas. A better solution is to scale the image to fit two per page. Otherwise, you’ll end up with unnecessary blank space between images, which won’t help your PDF’s appearance.
Some Markdown tools export to epub instead of PDF. While the epub format can display images as part of the book itself, readers are able to zoom in and examine them in detail. On the other hand, PDFs are fixed layouts, so the images will appear at whatever size you chose during the export process.