Awesome Research Tools


A list of tools for research. Also available on https://tools.kausalflow.com/tools/.



Version Control System

First things first, everyone should know version control system, aka VCS. VCS helps us track changes in our documents as well as collaborations on the documents. Needless to say, version control is one of the most useful tools for scientists.

Online Git Service

Self-hosted Git Server

Enterprise Git Service


Pomodoro Technique can be used to boost your productivity and probably improve your health. There are almost infinite choices for the tools.

GTD-Task Manager

The GTD (Getting Things Done) method unloads the todo lists off the mind by recording them using external tools. It allows one to focus on one active task instead of on all of them (Wikipedia). Tasks can be classified in contexts (@home, @computer, @office, etc), time of action (now, next actions, scheduled or someday) and projects. Here we have a good pragmatic guide to GTD and here is a flowchart.

Cloud Services

For self-hosted services, check out awesome-selfhosted on GitHub.

Math and Programming Online

There are many tools that allows use of code, perform numerical calculations or analytical derivation online.

Plotting and Charting Online

While one could use these online jupyter notebooks mentioned above to make plots, there are many easy to use too that could be used for simple plotting.


Nature hosts a list of recommended data repositories here.

General and Interdisciplinary

Life Science

Physical Sciences

Arts and Humanities


Social Sciences


Pick a pleasing color for your presentations and notes. Refer to Data Visualization and Graph Making

Publishing and Sharing

Make use of GitHub to cooperate with others. GitHub pages is also good for hosting static contents. GitHub provides Education perks so students could get free pro version which comes with private repos.


Markdown is one of the best languages for writing. Check out these editor in Markdown section.

Make use of these programs for publishing:

Sphinx Themes and configurations

Science Books Using Sphinx

Here are some examples of how sphinx can be used for research.

Writing Tools

Just use Visual Studio Code.


Host your articles, notes and more. Research is also about communications.

Other services such as Digital Ocean are also useful when it comes to dynamic websites and cloud computing.

Blog and CMS

Before doing the investigation on platforms, just remind yourself:

I want to write, not to run blogging software.

Blog/CMS Software

These programs are running on the server and can be hosted using these services.

These Blog/CMS software can be hosted on Digital Ocean.

Static Site Generator

Here is a nice website that tells you all the static site generators. Nonetheless here is a list of the most popular ones.

The site generated by these programs can be hosted on GitHub Pages.

Note Taking

Notebooks for Researchers


Markdown, LaTeX, and reStructuredText are the three useful languages. In most cases, a tweakable text editor such as Visual Studio Code, aka vscode is good enough. In fact vscode comes with a enormous amount of extensions which can be used to build your own IDE.


Notebook softwares that you can write in Markdown:


You can also host one using your own machine.

You can also add notes directly to academic papers

IPython Notebook

Use IPython Notebook to help with your research. IPython Notebook can be previewed on GitHub directly. Here are some examples of how IPython notebook can be used.





Concept Map and Diagrams

  1. Gliffy: all kinds of diagrams
  2. ProcessOn: all kinds of diagrams
  3. Draw.io: all kinds of diagrams

Keep The Notes

It's alway better to keep track the changes of your notes and git is a nice choice. Therefore, GitHub is the almost perfect place.

As for LaTeX, latexdiff is a tool for checking the diff.

Some programs allows you to keep the markdown notes on a server.

For experimental research, eLabFTW made a online labnote system: eLabFTW.

Presentation Tools

Keep You Computer Awake

It is important to keep your computer awake during the presentation. Instead of changing the power options, the following tools can also do the job.

Online Load and Edit

Use The Source

Requires a few front-end techniques.


Use colors to make your HTML feels better.

IPython/Jupyter Notebook

Python, Julia, R, Scala and more languages are supported in IPython/Jupyter Notebook which can also be used to give presentations.

Refer to math and programming online for cloud-based Jupyter Notebooks.

LaTeX Beamer


The Power of SVG

Online SVG editors:

Local SVG editors:

Sharing Slides


Code Editors


Scientific Computing

Coding is Fun



This might be not so straightforward but remember this. Reusing your own work doesn't protect you from plagiarism! Read more on

Investigate Papers

Get Yourself A Citable Code for Anything

Get Yourself A Unique and Persistent Digital Identifier

Add Citations to Your Code

Open Science


Tips for Researchers


Rainy Mood, Coffitivity and Noisli are the recommended ones.

Some Other Related Stuff

Online Discussions

Forums and Q&A's

StackExchange.com is a good place for professional discussions. Here is an example.

Open Source

Open Source is great. Use git.

Open Licenses

Generally, open licenses are part of

Use Licenses

To choose a license, an easy way is to use

CC Licenses can be found at Creative Commons. For alternative badges or icons, check the following.

Data Visualization and Graph Making

Data Visualization

JS and jQuery


Graph Making

Professional graphs should be made using professional tools.

Choose percentually accurate colors for your research plots. Why? (1, 2)


Much much much better than Microsoft Word.







Math Typesetting



Free Multimedia


This is a CC BY-SA licensed project. Use the source! Keep the source open!