File formats can be a pain to work with, and you definitely donât want to copy and paste documents between programs. Pandoc is a powerful tool that allows you to convert your text documents between a huge range of formats on the fly. With Pandoc, you can write it once, and convert it for every platform and program you can think of.
In this tutorial you will learn:
- How to Install Pandoc
- How to Use Pandoc in Live Mode
- How to Convert Documents
- How to Use More Concise Flags
Software Requirements and Conventions Used
| Category | Requirements, Conventions or Software Version Used |
|---|---|
| System | Ubuntu, Debian, Fedora, and Arch |
| Software | Pandoc |
| Other | Privileged access to your Linux system as root or via the sudo command. |
| Conventions |
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ – requires given linux commands to be executed as a regular non-privileged user |
How to Install Pandoc
Pandoc is an open source program that’s available in just about every distribution’s repositories. You can install it with relative ease on any of them. On some distributions, Pandoc does have a lot of dependencies, so the install might take a bit of time, but it’s packaged and fully supported.
Open up a terminal, and install Pandoc with your package manager.
Ubuntu & Debian
$ sudo apt install pandoc
Fedora
# dnf install pandoc
# pacman -S pandoc
How to Use Pandoc in Live Mode
When you use Pandoc without any flags or input, it acts like a text editor, treating everything that you write as markdown and converting it to HTML when you exit. Pandoc was initially based around markdown, using it to convert to more technical formats like HTML and LaTeX.
Open up a terminal, and run pandoc. Type out some basic markdown in the file. When youâre done, press Ctrl+D and youâll see your markdown converted to HTML.
You donât need to use markdown and HTML with the live editor. Instead, you can use the -f and -t flags to tell Pandoc which format to convert from and which to convert to, respectively.
$ pandoc -f html -t markdown
While thatâs pretty interesting, itâs certainly not that useful. Most of the time, youâre going to want to convert existing documents.
How to Convert Documents
Create a document to test with. It doesnât have to be anything involved. You can throw some junk and âlorem ipsumâ in there to fill it out, like the examples.
Now, run the same basic pandoc command as before, this time specifying your test file first.
$ pandoc test.md -f markdown -t html
Once again, youâll notice that your file gets spit out in the terminal, once converted. Again thatâs not all that useful. Try adding a destination file with the -o flag.
$ pandoc test.md -f markdown -t html -o test.html
There, now you can open up test.html, and see the resulting HTML.
How to Use More Concise Flags
That commandâs getting a bit long and obnoxious, isnât it. Well, thereâs a better way. You can use the -s and -o flags to tell Pandoc your source file and output. It will detect the file types automatically with the provided extensions. Try it again with your test file.
$ pandoc -s test.md -o test.html
The result is nearly the same, but the command to get there is much more bearable, and you have a lot less to memorize. There is a bit of a catch, though. The -s flag isnât for source. Itâs actually the standalone flag, and it adds in additional data and headers to the resulting file. Sometimes, this is more convenient. Others, itâs a pain. You need to decide what works best for you.
Conclusion
Youâre ready to get started with Pandoc. These are just the basics, though, and Pandoc gets much deeper for specific applications. You can take a look at a more compete look at Pandocâs supported formats on itâs homepage.





