DEV Community

Cover image for 5 Best Free Note Taking Apps for Programmers

5 Best Free Note Taking Apps for Programmers

AlbertoM on October 13, 2019

Originally published on my blog. Check out my blog for more articles or Github for my free-to-read JavaScript Ebook that covers all the new featur...
Collapse
 
bretthancox profile image
bretthancox

Emacs org-mode. Take notes, create actions, track time, plan work, view agenda, view to-do list, and all in text format. The single greatest change I've made to my productivity is keeping my brain in emacs.

Collapse
 
gayanhewa profile image
Gayan Hewa

The biggest reason that made me do the switch to emacs :D

Collapse
 
mochsner profile image
mochsner

I've been using org mode for about 2 months at work & couldn't agree more. Still working on a way to try to edit files from mobile - do you have a solution for this?

Collapse
 
raphaelduchaine profile image
Raphael-Duchaine

Never tried it but maybe something like Orgzly would do the trick : play.google.com/store/apps/details... . It seems to be the most talked about.

Collapse
 
bimlas profile image
bimlas • Edited

TiddlyWiki

I came from the Vim era: it's a popular text editor, mostly used by technical people. I tried out different ways to store my thoughts, for example: plain text (Asciidoctor) files, Jekyll (blog platform), Boostnote (note taking software). Whenever I tried out new ways, these was my most important requirements:

  • Offline first I don't want to depend on companies - when it's closing its doors, my notes are gone
  • Export my notes easily If I ever want to change to another tool, I want to move my notes into that easily (at least with minimal modifications)
  • The best would be to store as plain text I'm using Git heavily, thus I like to keep my "backups" in a repository - for this job the text format is the best Besides this I can batch modify the notes via Vim
  • Be able to read my notes from everywhere I would like to read my notes from any computer without installing the "editor" itself
  • Be portable It has to work on Linux / Windows (Android is not reuired, but it's good if it works) - the best would be to use exactly the same GUI on every platform
  • Require as few as possible external programs For example compiling Asciidoctor files to HTML require Asciidoctor itself, which is written in Ruby -> needs that too
  • Tag feature My habit is that write a note and add a lot of related tags to it - I don't have to think where to put in the ToC, because I can find anything by tag intersections

Whenever I tried out new stuff, it turned out that it doesn't have some of these features, thus I switched back to old, but good plain text (Asciidoctor) format (because it's the most flexible) + Vim editor (syntax highlighting, search and replace, basic file navigation).

The problem with file based note taking is that

  • You are forced to use hierarchy You have to place your files somewhere in the directory tree, but it's not clear that a note about "NoteTaking" should go in to "TextEditing", "Software", "Practice", because it belongs to all of these "categories"
  • You can drop every note into one directory, but in this case looking for them is hard You can store the tags in the filename and use file searching, but if you want to share your notes with others, he/she will not know what to do
  • Hard to search for tags and tag intersections With regular searching tools (like Grep) you cannot do fuzzy match, but you can search for regex, like "tags:.Software.TextEditing", the disadvantages of this is that you has to store the tags in predefined (maybe alphabetical) order You can use fuzzy file searchers (like FZF or Everything), but you cannot get the list of tags to pick from that
  • Cannot include images and other media types into notes

So I continued searching for The Notetaking Software, then I found TiddlyWiki and fell in love with it, because it knows almost everything that I want, besides this it's incredibly hackable: you can turn it to any kind of software, not just notetaking (todo list, book, GTD, project documentation, family tree, photo gallery with categories and tags, etc.)!

For a better understanding of what is the real power of TiddlyWiki, please read Joe Armstrong: My Eureka Moment with the TiddlyWiki then have a look at these examples:

If you have additional questions, look for the TiddlyWiki mail group, there are very helpful people (seriously, this is the best community I met on the net).

Collapse
 
dorneanu profile image
Victor Dorneanu

Amen! :) Great to see you here as well :) And really awesome sum-up of Tiddlywiki's capabilities.

Collapse
 
talha131 profile image
Talha Mansoor

@bimlas I was going through comments to see if someone has mentioned TW5. Your comment deserves to be a post in itself.

BTW, good to see you here. I use a few of your TW5 plugins.

Collapse
 
bharat profile image
Bharat

Emacs org-mode and sync with private(encrypted using git-crypt) github repo.

Termux and decrypt on mobile and view in orgzly.

Granted this is not easy to setup and has manual step to push and pull on mobile but everything is encrypted end to end and free 😄

Collapse
 
mochsner profile image
mochsner

Were you required to root your phone to clone the repo in a directory accessible to orgzly? I looked into this a few weeks ago, but recall running into hurdles with security restrictions

Collapse
 
bharat profile image
Bharat • Edited

No I have not rooted. Just install Termux and then run termux-setup-storage in termux to access device storage. Now you can install git, openssh from termux command line. Navigate to sdcard and you can clone any project and access it in Orgzly. I wrote two functions in .bashrc to push and pull to my private repo. That is the only manual step I was talking about.

Collapse
 
blmhemu profile image
Hemanth Bollamreddi • Edited

Joplin
Open source, markdown, sync, encryption, dark mode, cross platform.

Collapse
 
albertomontalesi profile image
AlbertoM

It looks very interesting, thanks for sharing

Collapse
 
awwsmm profile image
Andrew (he/him) • Edited

This is what I use. It's great, and really easy to get used to

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard

I'm replacing Markdown by Asciidoc.
Markdown is broken, it's sad
It has all the right ideas to start with, so everybody starts with it, and then everybody notices it's not enough and do its proprietary extension of Markdown.
There are so many Markdown to choose from that after getting once too much in that rabbit hole, I decided to switch to Asciidoc.
Asciidoc is basically markdown done right.

Collapse
 
albertomontalesi profile image
AlbertoM

I never used it, could you elaborate more on daily use cases where you found markdown to not be enough/be broken?

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard • Edited

Well everyone has a different Markdown.
GitHub has its extensions, some of which makes sense for everyone, others only on GitHub.
Dev.to has liquid tags. They are great but again not part of a standard format.
Static website generators have a yaml front end matter. Why not?
What if you want a table of contents? Just add another external tool.
What if you want to use variables? Nope.
What if you want to structure your work by including another file, or a part of another file? Nope.
The syntax for inserting an image is mostly worse than plain HTML.
Ever tried to maintain a table in markdown? That sucks as lot.

Common Markdown tried to find a common ground, the Markdown Creator was not happy about it, but also it turns out it's not possible.
Everyone use a different Markdown plus something.

Asciidoc is my Markdown++
See here and the comparaison with markdown

asciidoctor.org/docs/user-manual/#...

Thread Thread
 
albertomontalesi profile image
AlbertoM

Oh yeah, I agree with your points. I'll give asciidoc a try, thanks.

Thread Thread
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard

The key is to find a converter Markdown to Asciidoc, to start with what you already know. I am doing this in IntelliJ idea but there is probably a lighter alternative 😃
Pandoc comes to mind.

Collapse
 
aminmhmdi profile image
Amin Mohammadi

what about google keep??

Collapse
 
albertomontalesi profile image
AlbertoM

It's good to quickly write down ideas, but I don't see it as a good option for proper notes

Collapse
 
peiche profile image
Paul

Keep tops the list for me because it allows collaboration. I use it for code snippets, blog posts, links to check out later. My wife uses it for notes and grocery lists. It's easy to add each other to notes we want to share.

Collapse
 
metalmikester profile image
Michel Renaud

I use Microsoft OneNote.

Collapse
 
aravindk profile image
Aravind Kothandaraman

Cant speak for markdown support from MS Onenote but another great tool with lots of features and obviously easy sharing, sync etc. It does have password protected tabs or sections.

Collapse
 
metalmikester profile image
Michel Renaud

It’s not the greatest for code, but usually gets the job done. I could use something else, but I have a lot of stuff in OneNote already and don’t really feel like adding yet another piece of software.

Thread Thread
 
aravindk profile image
Aravind Kothandaraman

Exactly. I use trello plus OneNote to typically lay down my priorities of tasks, personal projects, learning etc.

Collapse
 
antonrusak profile image
Anton Rusak

Simplenote by Automattic.

  • Has a clean interface
  • Works everywhere
  • Supports markdown
  • Is able to publish markdown documents as webpages

The clients are open source though they use a proprietary cloud to store data.

Collapse
 
albertomontalesi profile image
AlbertoM

I like simplenote too, it didn't make it in my top 5 though

Collapse
 
antonrusak profile image
Anton Rusak

May I ask why? :)

Thread Thread
 
albertomontalesi profile image
AlbertoM

No syntax highlight mostly. I still use it to take some quick notes, but not programming stuff, mostly recipes lol

Collapse
 
hasii2011 profile image
Humberto A Sanchez II

I work exclusively on Mac OS-X. My favorite is the built-in Notes app. It syncs across the iPad and phone IOS apps (through the iCloud). It has just enough formatting and the ability to categorize notes. Just enough and not too much.

Collapse
 
tedatcis profile image
Ted Bergeron

I use VS-Code because I like to write notes using AsciiDoc. I used to use Markdown but I've switched because AsciiDoc is a lot richer. There is an AsciiDoc extension that lets you preview your notes side-by-side. marketplace.visualstudio.com/items...

I love the side-by-side previewer. I like to link my notes together. The Markdown previewer allows you to click links and browse to your other notes within the previewer.

Clicking links in the AsciiDoc previewer doesn't work, so I browse them in Chrome using the AsciiDoc live preview chrome.google.com/webstore/detail/... (also available for FireFox)

Collapse
 
sarahatzing profile image
Hibs

You can also take advantage of a GitBooks to connect your repo and have your notes published online, available privately or publicly.

My team tried this workflow, and we had a lot of trouble getting GitBook to consistently sync to our repo (plus the error reporting wasn't that great), so much so that we abandoned it altogether :/ It was nice while it lasted, though.

Collapse
 
albertomontalesi profile image
AlbertoM

Oh that sucks, do you know of other solutions similar to it?

Collapse
 
sarahatzing profile image
Hibs

Unfortunately not for that specific workflow. We ended up just building a custom solution where we edit our docs using custom markdown in any code editor with Markdown preview (most of my teammates just use VS code but I use MacDown), push that to a Github repo, and then deploy that to our live site.

Collapse
 
ama profile image
Adrian Matei • Edited

I don't really use notes per se, if then google keep (not very happy sharing any data with google), but for things that need to stick I use bookmarks.dev to manage my dev bookmarks and code snippets.

Collapse
 
kelvinkoko profile image
kelvinkoko

Great article in comparing different note taking solution!

I am also the kind of dev that "take note in VS Code'" because i like the simplicity and the syntax highlight (because some time, i will use it as a temporary space for checking log and server response)

But lack of sync and mobile access really bothering me.
With that concept in mind, I am working on a note taking app for developer. (get.stashany.com)

I would love to hear more feedback from experience note app user like you and hope it can be something that really suitable for developer :)

Collapse
 
sharmanandini4 profile image
Nandini Sharma

Great list AlbertoM. I'd like to suggest one more tool in your list - ProofHub. It helps you create notes, organize them, collaborate on them, and work smarter. You can create notes, select colors for them, subscribe people to them, keep them private, attach files, collaborate on them smarter, and store them in notebooks at one place. Please visit this link (proofhub.com/features/notes) to know more.

Collapse
 
willzmu profile image
Wilfred

I use Evernote for note taking but I don't think it has markdown. Thanks for sharing the resources

Collapse
 
s_aitchison profile image
Suzanne Aitchison

I used to use Evernote and recently switched to Notion - it's so much better for drafting notes that can be copied to markdown or keeping code snippets! The best part is you can import any existing Evernote notebook into it, so if you do decide to switch it's super easy 😁

Collapse
 
willzmu profile image
Wilfred

Thanks, Notion looks really good!

Collapse
 
albertomontalesi profile image
AlbertoM

Yeah, writing notes in a format that you can easily copy paste on different places is great.

Collapse
 
albertomontalesi profile image
AlbertoM

Thanks, glad I helped!

Collapse
 
getclibu profile image
Neville Franks

Our free Knowledge Base webapp, Clibu maybe of interest, clibu.com It works on Desktop Browsers, Tablets and Smartphones.

I'm working on Clibu Notes which will have Markdown support, full offline capabilities, a streamlined UI, built using Web Components. Early demo's and more information on our Blog blog.clibu.com

Collapse
 
peoray profile image
Emmanuel Raymond

+1 for Boostnote, that's what I use on my Linux machine.

Collapse
 
moopet profile image
Ben Sinclair

I use Vim or a physical lined notebook. In vim, I tend to write notes in a kind of pidgin markdown, with headings as hashes and so on but not bothering with link wrappers, etc.

Collapse
 
begroff profile image
Brett

I enjoy Standard Notes although you need a paid subscription to use the extensions, which their are a lot of. standardnotes.org

Collapse
 
jacob_weimer profile image
Jacob Weimer

The encryption is the main selling point in standard notes for me!

Collapse
 
yonasgg profile image
Yonas

I have been using Boostnote and it is awesome!

Collapse
 
devdrake0 profile image
Si

Ulysses - I write everything using it.

Collapse
 
albertomontalesi profile image
AlbertoM

I like Bear, but in order to sync between devices you need to pay and I think there are free solutions that are just as good

Collapse
 
marshallunduemi profile image
Marshall Unduemi

I have not used any of it, but am a programmer, thanks, let me lay down 👇 my hands on your recommendation

Collapse
 
bilalelreda profile image
Bilal Elreda

I like Workflowy.

Collapse
 
mauro_codes profile image
Mauro Garcia

Good tip! thanks

Collapse
 
guitlle profile image
Guillermo

You should check out Tiddlywiki. It is an awesome serverless note taking one-page app. It can run on a server, it has a npm package. It is totally customizable and programmable

Collapse
 
alansolitar profile image
Alan Solitar

Boost note for sure!

Collapse
 
nuculabs_dev profile image
Nucu Labs

You forgot giuspen.com/cherrytree/, which is actually free and open source not unlike the first one on the list. I just clicked the link and saw a 'Pricing' page

Collapse
 
kamalkishor1991 profile image
Kamal Joshi

I am also building a notes app specific for software engineers.
Just released the initial beta.
upnotes.io

Collapse
 
miku86 profile image
miku86

Does anyone have a suggestion for a tool with all of these features?

  • Kanban or Scrum Board
  • Timer
  • Runs on Linux/Browser & smartphone
Collapse
 
ypedroo profile image
Ynoa Pedro

Notion is an really awesome app

Collapse
 
eleftrick6 profile image
eLefTrick6

I love using BoostNote

Collapse
 
ninjabunny9000 profile image
💾 bun9000

Inkdrop!!

Collapse
 
rickardengberg profile image
Rickard Engberg

I checked out Notion and think I really like it. It's like a cross between an editor and WorkFlowy, if you've tried that.

Collapse
 
jimpriest profile image
Jim Priest

Notable github.com/notable/notable

Is free but recently he's indicated this has become his full time job so may not be free in the future.

Collapse
 
khuongduybui profile image
Duy K. Bui

boostnote.io/ anyone?

Collapse
 
luka22 profile image
Luka

Notational Velocity for life

Collapse
 
muminjonguru profile image
Abduraimov Mo'minjon

Microsoft OneNote

Collapse
 
stuartjluscombe profile image
Stuart Luscombe

Our team uses OneNote for pretty much everything, keeping quick notes, meeting minutes, project ideas etc.

It could definitely be better if it supported code formatting, but it does the job.

Collapse
 
ilsanto profile image
Ivan Iraci

Emacs org-mode + orgzly + (dropbox|github|rsync|ftp|whatever) are all I need for all my daily note taking needs (both work and everyday life related).

Collapse
 
alexsandrotc profile image
Alexsandro Teixiera

Very good, I really needed a tool like that. Currently, I'm using OneNote but it's not being effective.

Collapse
 
93alan profile image
Alan Montgomery

I use Bear!

Collapse
 
jhauschildt profile image
Jeremy Hauschildt

vimwiki

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard • Edited

Thanks a lot, I tried out Notion, liked what I saw, and I think it will be an important part in my workflow!

 
peoray profile image
Emmanuel Raymond

Boostnote only downside is that it doesn't sync anywhere. If you lose your machine, everything is gone!!! :(

Thread Thread
 
khuongduybui profile image
Duy K. Bui

I put Boostnote storage location inside OneDrive.

Thread Thread
 
peoray profile image
Emmanuel Raymond

How do you do that?

Thread Thread
 
khuongduybui profile image
Duy K. Bui

Just go to preferences => Storage => Add storage location (then pick a folder inside OneDrive folder)

Collapse
 
j_holtslander profile image
Jay Holtslander

I discovered boostnote.io just yesterday.

Collapse
 
gruser profile image
GruSer

VSCode is a great app...

Collapse
 
cardotrejos profile image
Ricardo Trejos

Boostnote is a good one! I have all my notes there.

Collapse
 
savagepixie profile image
SavagePixie

What features do you especially like?