loading...
Cover image for 5 Best Free Note Taking Apps for Programmers

5 Best Free Note Taking Apps for Programmers

albertomontalesi profile image AlbertoM Originally published at inspiredwebdev.com ・Updated on ・4 min read

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 features from ES6 to 2019

Taking notes is a vital part of learning and as a programmer we have specific needs that software such as Docs or Word can't cover. That's why I compiled this list of my 5 most favorite note taking apps.

In the past couple of years I've used all of them, some of them I still use them, some I've stopped using, but any of these 5 will help you.

You will see that all of them use Markdown (either the standard syntax or a custom one) and that's because I find it the fastest way of taking notes since it allows to quickly create documents with simple formatting and also allows you to add code block with syntax highlight.

Note: these apps are all free or have a free tier so you won't need to fork out a cent to start using them.

1) Notion

Available for: Windows, MacOS, Android, iOS, Web.

This is the app I've used to write this blog post.

It's great because it's not just a markdown text editor, you can do so much more, including tables, kanbans, calendar into your pages.

You can sync your notes across your devices and the fact that it has a Web version means that even if you use Linux, like me, you can still use it.

It has very solid support for code blocks, with highlight and ability to wrap the code.

The free version includes enough space that you should be good for a while.

2) Stackedit

Available for: Web

Stackedit doesn't have a mobile app but you can still use it comfortably from the browser.

It's much simpler than Notion, being a straightforward markdown editor that syncs with your Google Drive.

I use it daily for my work notes whenever I need to write down my thoughts and I want to make sure that I can access them from both my office and my own laptop.

It's completely free and the markdown files are stored in your Google Drive so if you want to migrate them somewhere else it's going to be very straightforward.

The support for code blocks is great, with syntax highlight for any language you need.

3) Typora

Available for: Windows, MacOS, Linux

Simple and clean, Typora is a powerful markdown editor. Unfortunately it doesn't have a mobile version or a web client, but the desktop client is solid and powerful.

I've used it write my first JavaScript ebook and I really liked the integration with Pandoc to export my markdown ebook straight into epub, pdf and doc files.

It has great support for code blocks, using prism for the syntax highlight and it also allows you to create your css file to style the exported PDF files.

4) Quip

Available for: Windows, MacOs, Web, Android, iOS

Quip is the first editor that I've used and albeit I don't use it anymore, it's still a great solution.

The mobile app is not the best, but the web client is solid and powerful allowing you to easily add tables and more.

Some features are paid but overall the free version is good enough.

The support for highlighted code blocks is basic and not on the same level as the others

Bonus: VSCode

Available for: Windows, MacOS, Linux

Despite not being meant for it, vs code is a great note taking app.

When writing the second edition of my ebook I've used vs code to create individual markdown files and a simple node script to join them into a single one.

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

Editing on the fly is not the easiest since you can't use vs code on your phone but you can still edit directly the files hosted in the Github repo from apps such as FastHub or similar 3rd party clients.

What is your favorite?

How about you? Do you already use any of these apps? What is your favorite note taking app? Let me know in the comments


Thank you very much for reading. Follow me on DevTo or on my blog at inspiredwebdev for more.


book banner

Get my ebook on Amazon and Leanpub

Discussion

pic
Editor guide
Collapse
savage profile image
Jason A Savage

Boostnote and Bear are also good mentions.

Collapse
peoray profile image
Emmanuel Raymond

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

Collapse
albertomontalesi profile image
AlbertoM Author

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
savage profile image
Jason A Savage

Fur sure...see what I did there?

I wish Boostnote had a mobile app. I just use it for work stuff and I use Notion for pretty much everything else. I've been working on a note app as a very long side project. The plan is to marry Notion and Boostnote.

Thread Thread
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
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?

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

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
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
dorneanu profile image
Victor Dorneanu

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

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

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

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

Collapse
albertomontalesi profile image
AlbertoM Author

It looks very interesting, thanks for sharing

Collapse
awwsmm profile image
Andrew (he/him)

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

Collapse
aminmhmdi profile image
Amin Mohammadi

what about google keep??

Collapse
albertomontalesi profile image
AlbertoM Author

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
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 Author

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 πŸ‡«πŸ‡·πŸ‡©πŸ‡ͺπŸ‡¬πŸ‡§πŸ‡ͺπŸ‡ΈπŸ‡¨πŸ‡΄

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 Author

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
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 Author

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 Author

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
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 Author

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
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
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
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
yonasgg profile image
Yonas

I have been using Boostnote and it is awesome!

Collapse
ioan profile image
Luca Ionescu

Notion is now also free for students/teachers if you sign up with your .edu or other university e-mail address!

Collapse
maurogarcia_19 profile image
Mauro Garcia

Good tip! thanks

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 (she/her)

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 Author

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

Collapse
albertomontalesi profile image
AlbertoM Author

Thanks, glad I helped!

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
ama profile image
Adrian Matei

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
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
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
bilalelreda profile image
Bilal Elreda

I like Workflowy.

Collapse
devdrake0 profile image
Si

Ulysses - I write everything using it.

Collapse
codexpresslabs 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
ninjabunny9000 profile image
Collapse
93alan profile image
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
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
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
eleftrick6 profile image
eLefTrick6

I love using BoostNote