Zim is a free, open source, text editor with wiki like features

Jul 10, 2019
Apps, Software

One unusual text editor which I came across a while ago, was Zim.  This isn't your average text editor. If you have used hierarchical text editors  like AllMyNotes Organizer or Tree Notes (commercial), it is sort of similar.

Zim can be used to create pages, and link to those pages, kind of like a wiki functions, hence the tagline, A Desktop Wiki. The application which is written in Python, is available for Windows and Linux. Both versions are identical in usage and features, though the PC version is a few builds behind.

Zim is a free, open source, text editor with wiki like features

When you first run the app, you will be asked to create a new notebook, which consists of giving it a name and selecting a folder to store it in. This notebook will save your pages which contain your notes; all pages are saved in the TXT format.

The interface of Zim is a bit old-school, with a minimalistic design. Don't be put-off by it, because it is very easy to get used to. The GUI consists of a menu-bar, a toolbar and 2 panes.The main screen is the Home page, the left pane is the tree view which you can use to navigate to the sub-pages in the notebook. The right-pane in the program is your editor, where you will be typing, editing, formatting the notes, etc.

This is where the application's unique features come in to play. You aren't limited to text content, Zim lets you add images, hyperlinks to URLs and local files too. You can drag and drop the content to the interface to add them to the page.

Tip: You can use Zim as a text-editor and use it to edit TXT files using the import option. The export options can be used to save the documents to other formats like HTML, MHTML, Latex, Markdown and RST.

The toolbar has a few navigation options, some formatting styles, and the attach files option. Opening the Calendar option creates a Journal notebook which has automatically categorized sub-pages for the selected year, month and date. The format menu has a lot more options including headings, list styles (numbered, bulleted, checkbox list), scripts, etc. This means can use the program for anything, like keeping a journal, maintaining a record of your expenses, a collection of notes, use it for note-taking in class or meetings, to-do lists, etc. It's up to you.

Tip: Though the toolbar says Strong, Emphasis, etc., the program supports universal keyboard shortcuts for Bold, Italics, Underline etc.

Creating sub-pages and linking

Right-click anywhere on the left-pane to create a new page or sub-page, and choose between the Journal and the default templates. To link to the newly created page, open another page and place the cursor where you want the hyperlink to appear, or just highlight a word and click the Link button (can also use Ctrl + L, or the Insert menu). Links to images and websites will be added as URLs, which will open in your browser. Links to other pages open as a text file in the default editor (e.g. Notepad).  Zim also supports backlinks, which are searchable, and lets you see which page links to where.

You can use Zim to build a fully offline Wiki, complete with a working Index page quite easily. And since it can be published as a HTML file, you can even create a website using the application.

Tip: Though there is a Save option, Zim auto-saves your notes. I'd still manually save the notes though, just in case.

Zim Wiki is also available in a portable version, that can be extracted to any folder on your PC or removable drives. I have merely described the basics of the application, there are a ton of advanced features which you can find

Now you: Which hierarchical text-editor do you use?

software image
Author Rating
4 based on 8 votes
Software Name
Zim - A Desktop Wiki
Operating System
Windows, Linux
Software Category
Landing Page

Tutorials & Tips

Previous Post: «
Next Post: «


  1. Jon Cohen said on July 11, 2019 at 12:04 am

    I’ve been using Zim on Linux for a few years and it’s always been extremely useful. Since the stuff is just plain text files with some markup they are trivial to process from the command line and add/retrieve information arbitrarily. Even the tables can be easily parsed with awk or something once set.
    I use it for pretty much everything. Dumping text snippets, TODO lists, personal calendar and so.
    It’s also a pretty active project so I can count on it working for a few more years without changing my workflow.

  2. John Fenderson said on July 10, 2019 at 6:35 pm

    On Windows, I use notepad for random notetaking, and UltraEdit for more serious editing work. In Linux/KDE, I use KWrite and Kate. In Linux command line, I use vi.

    I run a DokuWiki server for complex note-taking where I want to be able to include other media and link to other notes/websites/etc., and when I want to be able to access notes remotely.

  3. Gerard said on July 10, 2019 at 2:52 pm

    I have not used Zim, but Treepad Lite (freeware, Windows and Linux) and CherryTree (cross-platform FOSS) do a good job, depending on the features you require. Treepad Lite is very minimalistic with respect to design and features, the Linux build even more so, and it looks like it’s no longer under active development. CherryTree has many more features and is updated regularly (more or less).

    1. Klaas Vaak said on July 10, 2019 at 5:55 pm

      @Gerard: I was under the impression that although the updating happens it seems to have slowed down, particularly so since the dev, Giuseppe, started a family. That is why, when I needed to have my notes in another format, I decided to jump ship because, although export to the .md format is part of the outstanding wish list, it was not clear IF and when that feature would be supported.
      I don’t say this to knock CT or Giuseppe, CT is a very good and very useful note-taking and note management app, is part of many a Linux distro’s package or repository.

  4. rip said on July 10, 2019 at 12:53 pm

    Looks good. I’ll throw into the ring Joplin (https://joplinapp.org/) which is a free open source markdown editor with a lot of functionality similar to EverNote. Runs on Windows, Mac, Android, Linux. Syncthing is a good way to keep data and notebooks synchronized between lots of devices.

    1. Anonymous said on July 11, 2019 at 1:54 pm

      @ rip That looks interesting. Has a To-Do list too.

      1. Stephan said on April 19, 2023 at 2:53 pm

        Be careful, not a flat file but works with SQLLite
        Database management needed

  5. RossN said on July 10, 2019 at 12:23 pm

    I use TiddlyWiki to store lots of inter-linked notes. Maybe it’s not hierarchical? Everything is stored in the one HTML file. Javascript inside this provides the functionality.

    1. DeepWaders said on July 11, 2019 at 5:09 am

      Good to see that somebody else uses it, too. It’s been my preferred note taking system on Linux for years. The side bar provides a nice default way to organize and access your notes (Tiddlers), and it’s easy to make your own custom dashboard. For me the key to good note taking software is how you can selectively view the notes and their structure. TiddlyWiki also provides a great example of how it works, as that is exactly what its online page is. (In case anybody is wondering, you can use it locally if you prefer.)


      Hierarchical trees are okay, but if that’s all you get, it’s kind of limiting. I prefer the TiddlyWiki approach.

  6. bsod said on July 10, 2019 at 10:35 am

    > Both versions are identical in usage and features, though the PC version is a few builds behind.

    Not sure what you mean by “the PC version” :)

    1. Klaas Vaak said on July 10, 2019 at 11:31 am

      @bsod: I think he means the Windows version.

  7. AxMi-24 said on July 10, 2019 at 10:34 am

    Thanks for this Martin. I’ve been looking for a replacement for OneNote as MS is forcing it into the cloud and that’s a big nono (especially commercially with GDPR fines).

  8. Flotsam said on July 10, 2019 at 8:39 am

    I’ve tried Zim and quite a few others but ended up using CherryTree. No particular reason for the choice. It may have just been the last one I tried.

    It’s one of the first things I put on any machine I’m setting up. Next I import my “default tweak” list. I then add any new info to it per machine and it’s now a treasure trove of info, tweaks, settings and shortcuts.

    1. Klaas Vaak said on July 10, 2019 at 11:30 am

      @Flotsam: I used CherryTree for about 2 years too, and was happy with it. Nevertheless, when I considered switching to a Mac, for which there is no CT version, I ran into the problem of portability. Yes, you can export to HTML, but those notes cannot be edited satisfactorily anymore, if at all.
      Export as .txt notes is also a possibility, but then you lose the formatting mark-up and the links.

      1. Flotsam said on July 11, 2019 at 1:35 pm

        @ Klass That’s worth knowing but to be honest I can’t see me migrating away from Linux any time soon. I shall, however, heed your advice on exporting and run some tests on the current version of CT.

      2. Klaas Vaak said on July 11, 2019 at 2:43 pm

        @Flotsam: I **was** considering moving to a Mac. In the event, I did not. I migrated to Linux for good and will never return to Windows. There is a Linux version of CT, so that is not a problem. Nevertheless, I still felt “locked in” to some extent because I wanted to have complete portability without restrictions. I detailed a bit more of my thinking in a comment to Gerard below.
        In any case, CT is a worthy app, so I do not mean to knock it in any way.

  9. Klaas Vaak said on July 10, 2019 at 7:21 am

    Vnote, a cross-platform, free, open source Markdown hierarchical text editor/notes manager that supports inter-page wiki-like links too, as well as notebooks and tags.
    Important if you ever want to jump ship: your notes in .md format can be opened in any other text editor that supports Markdown. In other words, you are not locked in a proprietary format that cannot be accessed by any other app.
    https://github.com/tamlok/vnote – scroll down to the Readme section for a full description.

    1. ghs said on July 10, 2019 at 3:19 pm

      clarification: “*.md” (and “*.rst” aka restructured text) are plaintext ~~ can be opened using any plaintext text editor, not just “any other editor which supports markdown”.

      1. Klaas Vaak said on July 10, 2019 at 5:42 pm

        @ghs: you are correct, and in fact that is another positive for portability. The reason I made the statement is because I was thinking about rendering, but your comment is absolutely true.
        My apologies for this error.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.