Home

Awesome

Donate Sponsor on GitHub Become a patron


<img width="64" src="https://raw.githubusercontent.com/laurent22/joplin/master/Assets/LinuxIcons/256x256.png" align="left" /> Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in Markdown format.

Notes exported from Evernote via .enex files can be imported into Joplin, including the formatted content (which is converted to Markdown), resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.). Plain Markdown files can also be imported.

The notes can be synchronised with various cloud services including Nextcloud, Dropbox, OneDrive, WebDAV or the file system (for example with a network directory). When synchronising the notes, notebooks, tags and other metadata are saved to plain text files which can be easily inspected, backed up and moved around.

The application is available for Windows, Linux, macOS, Android and iOS (the terminal app also works on FreeBSD). A Web Clipper, to save web pages and screenshots from your browser, is also available for Firefox and Chrome.

<div class="top-screenshot"><img src="https://joplinapp.org/images/AllClients.jpg" style="max-width: 100%; max-height: 35em;"></div>

Installation

Three types of applications are available: for the desktop (Windows, macOS and Linux), for mobile (Android and iOS) and for terminal (Windows, macOS, Linux and FreeBSD). All applications have similar user interfaces and can synchronise with each other.

Desktop applications

Operating SystemDownloadAlternative
Windows (32 and 64-bit)<a href='https://github.com/laurent22/joplin/releases/download/v1.0.241/Joplin-Setup-1.0.241.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a>Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.241/JoplinPortable.exe'>Portable version</a><br><br>The portable application allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
macOS<a href='https://github.com/laurent22/joplin/releases/download/v1.0.241/Joplin-1.0.241.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a>You can also use Homebrew (unsupported): brew cask install joplin
Linux<a href='https://github.com/laurent22/joplin/releases/download/v1.0.241/Joplin-1.0.241.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a>An Arch Linux package (unsupported) is also available.<br><br>If it works with your distribution (it has been tested on Ubuntu, Fedora, and Mint; the desktop environments supported are GNOME, KDE, Xfce, MATE, LXQT, LXDE, Unity, Cinnamon, Deepin and Pantheon), the recommended way is to use this script as it will handle the desktop icon too:<br><br> wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash

Mobile applications

Operating SystemDownloadAlt. Download
Android<a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://joplinapp.org/images/BadgeAndroid.png'/></a>or <a href="https://f-droid.org/packages/net.cozic.joplin">Get it on F-Droid</a><br/> or directly download the APK file: 64-bit 32-bit
iOS<a href='https://itunes.apple.com/us/app/joplin/id1315599797'><img alt='Get it on the App Store' height="40px" src='https://joplinapp.org/images/BadgeIOS.png'/></a>-

Terminal application

Operating systemMethod
macOS, Linux, or Windows (via WSL)Important: First, install Node 10+.<br/><br/>NPM_CONFIG_PREFIX=~/.joplin-bin npm install -g joplin<br/>sudo ln -s ~/.joplin-bin/bin/joplin /usr/bin/joplin<br><br>By default, the application binary will be installed under ~/.joplin-bin. You may change this directory if needed. Alternatively, if your npm permissions are setup as described here (Option 2) then simply running npm -g install joplin would work.

To start it, type joplin.

For usage information, please refer to the full Joplin Terminal Application Documentation.

Unsupported methods

There are other ways to install the terminal application. However, they are not supported and problems must be reported to the upstream projects.

Operating systemMethod
macOSbrew install joplin
Arch LinuxAn Arch Linux package is available here. To install it, use an AUR wrapper such as yay: yay -S joplin. Both the CLI tool (type joplin) and desktop app (type joplin-desktop) are packaged. You can also install a compiled version with the chaotic-aur repository. For support, please go to the GitHub repo.

Web Clipper

The Web Clipper is a browser extension that allows you to save web pages and screenshots from your browser. For more information on how to install and use it, see the Web Clipper Help Page.

Sponsors

<a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a>        <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a>


<img width="50" src="https://avatars0.githubusercontent.com/u/6979755?s=96&v=4"/></br>Devon Zuegel<img width="50" src="https://avatars2.githubusercontent.com/u/24908652?s=96&v=4"/></br>小西 孝宗<img width="50" src="https://avatars2.githubusercontent.com/u/215668?s=96&v=4"/></br>Alexander van der Berg
<img width="50" src="https://avatars0.githubusercontent.com/u/1168659?s=96&v=4"/></br>Nicholas Head<img width="50" src="https://avatars2.githubusercontent.com/u/1439535?s=96&v=4"/></br>Frank Bloise<img width="50" src="https://avatars2.githubusercontent.com/u/15859362?s=96&v=4"/></br>Thomas Broussard
<img width="50" src="https://avatars2.githubusercontent.com/u/1307332?s=96&v=4"/></br>Brandon Johnson
<!-- TOC -->

Table of contents

<!-- TOC -->

Features

Importing

Importing from Evernote

Joplin was designed as a replacement for Evernote and so can import complete Evernote notebooks, as well as notes, tags, resources (attached files) and note metadata (such as author, geo-location, etc.) via ENEX files. In terms of data, the only two things that might slightly differ are:

To import Evernote data, first export your Evernote notebooks to ENEX files as described here. Then follow these steps:

In the desktop application, open File > Import > ENEX and select your file. The notes will be imported into a new separate notebook. If needed they can then be moved to a different notebook, or the notebook can be renamed, etc.

In the terminal application, in command-line mode, type import /path/to/file.enex. This will import the notes into a new notebook named after the filename.

Importing from Markdown files

Joplin can import notes from plain Markdown file. You can either import a complete directory of Markdown files or individual files.

In the desktop application, open File > Import > MD and select your Markdown file or directory.

In the terminal application, in command-line mode, type import --format md /path/to/file.md or import --format md /path/to/directory/.

Importing from other applications

In general the way to import notes from any application into Joplin is to convert the notes to ENEX files (Evernote format) and to import these ENEX files into Joplin using the method above. Most note-taking applications support ENEX files so it should be relatively straightforward. For help about specific applications, see below:

Exporting

Joplin can export to the JEX format (Joplin Export file), which is a tar file that can contain multiple notes, notebooks, etc. This is a lossless format in that all the notes, but also metadata such as geo-location, updated time, tags, etc. are preserved. This format is convenient for backup purposes and can be re-imported into Joplin. A "raw" format is also available. This is the same as the JEX format except that the data is saved to a directory and each item represented by a single file.

Synchronisation

One of the goals of Joplin was to avoid being tied to any particular company or service, whether it is Evernote, Google or Microsoft. As such the synchronisation is designed without any hard dependency to any particular service. Most of the synchronisation process is done at an abstract level and access to external services, such as Nextcloud or Dropbox, is done via lightweight drivers. It is easy to support new services by creating simple drivers that provide a filesystem-like interface, i.e. the ability to read, write, delete and list items. It is also simple to switch from one service to another or to even sync to multiple services at once. Each note, notebook, tags, as well as the relation between items is transmitted as plain text files during synchronisation, which means the data can also be moved to a different application, can be easily backed up, inspected, etc.

Currently, synchronisation is possible with Nextcloud, Dropbox, OneDrive or the local filesystem. To enable synchronisation please follow the instructions below. After that, the application will synchronise in the background whenever it is running, or you can click on "Synchronise" to start a synchronisation manually.

Nextcloud synchronisation

<img src="https://joplinapp.org/images/nextcloud-logo-background.png" width="100" align="left"> <a href="https://nextcloud.com/">Nextcloud</a> is a self-hosted, private cloud solution. It can store documents, images and videos but also calendars, passwords and countless other things and can sync them to your laptop or phone. As you can host your own Nextcloud server, you own both the data on your device and infrastructure used for synchronisation. As such it is a good fit for Joplin. The platform is also well supported and with a strong community, so it is likely to be around for a while - since it's open source anyway, it is not a service that can be closed, it can exist on a server for as long as one chooses.

In the desktop application or mobile application, go to the config screen and select Nextcloud as the synchronisation target. Then input the WebDAV URL (to get it, click on Settings in the bottom left corner of the page, in Nextcloud), this is normally https://example.com/nextcloud/remote.php/webdav/Joplin (make sure to create the "Joplin" directory in Nextcloud), and set the username and password. If it does not work, please see this explanation for more details.

In the terminal application, you will need to set the sync.target config variable and all the sync.5.path, sync.5.username and sync.5.password config variables to, respectively the Nextcloud WebDAV URL, your username and your password. This can be done from the command line mode using:

:config sync.5.path https://example.com/nextcloud/remote.php/webdav/Joplin
:config sync.5.username YOUR_USERNAME
:config sync.5.password YOUR_PASSWORD
:config sync.target 5

If synchronisation does not work, please consult the logs in the app profile directory - it is often due to a misconfigured URL or password. The log should indicate what the exact issue is.

Dropbox synchronisation

When syncing with Dropbox, Joplin creates a sub-directory in Dropbox, in /Apps/Joplin and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.

In the desktop application or mobile application, select "Dropbox" as the synchronisation target in the config screen (it is selected by default). Then, to initiate the synchronisation process, click on the "Synchronise" button in the sidebar and follow the instructions.

In the terminal application, to initiate the synchronisation process, type :sync. You will be asked to follow a link to authorise the application. It is possible to also synchronise outside of the user interface by typing joplin sync from the terminal. This can be used to setup a cron script to synchronise at regular interval. For example, this would do it every 30 minutes:

*/30 * * * * /path/to/joplin sync

WebDAV synchronisation

Select the "WebDAV" synchronisation target and follow the same instructions as for Nextcloud above.

WebDAV-compatible services that are known to work with Joplin:

OneDrive synchronisation

When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in /Apps/Joplin and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.

In the desktop application or mobile application, select "OneDrive" as the synchronisation target in the config screen. Then, to initiate the synchronisation process, click on the "Synchronise" button in the sidebar and follow the instructions.

In the terminal application, to initiate the synchronisation process, type :sync. You will be asked to follow a link to authorise the application (simply input your Microsoft credentials - you do not need to register with OneDrive).

Encryption

Joplin supports end-to-end encryption (E2EE) on all the applications. E2EE is a system where only the owner of the notes, notebooks, tags or resources can read them. It prevents potential eavesdroppers - including telecom providers, internet providers, and even the developers of Joplin from being able to access the data. Please see the End-To-End Encryption Tutorial for more information about this feature and how to enable it.

For a more technical description, mostly relevant for development or to review the method being used, please see the Encryption specification.

Note history

The Joplin applications automatically save previous versions of your notes at regular intervals. These versions are synced across devices and can be viewed from the desktop application. To do so, click on the "Information" button on a note, then click on "Previous version of this note". From this screen you can view the previous versions of the note as well as restore any of them.

This feature can be disabled from the "Note history" section in the settings, and it is also possible to change for how long the history of a note is saved.

More information about this feature in the announcement post.

External text editor

Joplin notes can be opened and edited using an external editor of your choice. It can be a simple text editor like Notepad++ or Sublime Text or an actual Markdown editor like Typora. In that case, images will also be displayed within the editor. To open the note in an external editor, click on the icon in the toolbar or press Ctrl+E (or Cmd+E). Your default text editor will be used to open the note. If needed, you can also specify the editor directly in the General Options, under "Text editor command".

Attachments

Any kind of file can be attached to a note. In Markdown, links to these files are represented as a simple ID to the attachment. In the note viewer, these files, if they are images, will be displayed or, if they are other files (PDF, text files, etc.) they will be displayed as links. Clicking on this link will open the file in the default application.

In the desktop application, files can be attached either by clicking the "Attach file" icon in the editor or via drag and drop. If you prefer to create a link to a local file instead, hold the ALT key while performing the drag and drop operation. You can also copy and paste images directly in the editor via Ctrl+V.

Resources that are not attached to any note will be automatically deleted in accordance to the Note History settings.

Important: Resources larger than 10 MB are not currently supported on mobile. They will crash the application when synchronising so it is recommended not to attach such resources at the moment. The issue is being looked at.

Downloading attachments

The way the attachments are downloaded during synchronisation can be customised in the Configuration screen, under "Attachment download behaviour". The default option ("Always") is to download all the attachments, all the time, so that the data is available even when the device is offline. There is also the option to download the attachments manually (option "Manual"), by clicking on it, or automatically (Option "Auto"), in which case the attachments are downloaded only when a note is opened. These options should help saving disk space and network bandwidth, especially on mobile.

Notifications

In the desktop and mobile apps, an alarm can be associated with any to-do. It will be triggered at the given time by displaying a notification. How the notification will be displayed depends on the operating system since each has a different way to handle this. Please see below for the requirements for the desktop applications:

See documentation and flow chart for reporter choice

On mobile, the alarms will be displayed using the built-in notification system.

If for any reason the notifications do not work, please open an issue.

Sub-notebooks

Sub-notebooks allow organising multiple notebooks into a tree of notebooks. For example it can be used to regroup all the notebooks related to work, to family or to a particular project under a parent notebook.

Markdown

Joplin uses and renders a Github-flavoured Markdown with a few variations and additions. In particular it adds math formula support, interactive checkboxes and support for note links. Joplin also supports Markdown plugins which allow enabling and disabling various advanced Markdown features. Have a look at the Markdown Guide for more information.

Custom CSS

Rendered markdown can be customized by placing a userstyle file in the profile directory ~/.config/joplin-desktop/userstyle.css (This path might be different on your device - check at the top of the Config screen for the exact path). This file supports standard CSS syntax. Joplin must be restarted for the new css to be applied, please ensure that Joplin is not closing to the tray, but is actually exiting. Note that this file is used for both displaying the notes and printing the notes. Be aware how the CSS may look printed (for example, printing white text over a black background is usually not wanted).

The whole UI can be customized by placing a custom editor style file in the profile directory ~/.config/joplin-desktop/userchrome.css.

Important: userstyle.css and userchrome.css are provided for your convenience, but they are advanced settings, and styles you define may break from one version to the next. If you want to use them, please know that it might require regular development work from you to keep them working. The Joplin team cannot make a commitment to keep the application HTML structure stable.

Note templates

In the desktop app, templates can be used to create new notes or to insert into existing ones by creating a templates folder in Joplin's config folder and placing Markdown template files into it. For example creating the file hours.md in the templates directory with the contents:

Date: {{date}}
Hours:
Details:

Templates can then be inserted from the menu (File->Templates).

The currently supported template variables are:

VariableDescriptionExample
{{date}}Today's date formatted based on the settings format2019-01-01
{{time}}Current time formatted based on the settings format13:00
{{datetime}}Current date and time formatted based on the settings format01/01/19 1:00 PM
{{#custom_datetime}}Current date and/or time formatted based on a supplied string (using moment.js formatting){{#custom_datetime}}M d{{/custom_datetime}}

Searching

Joplin implements the SQLite Full Text Search (FTS4) extension. It means the content of all the notes is indexed in real time and search queries return results very fast. Both Simple FTS Queries and Full-Text Index Queries are supported. See below for the list of supported queries:

Search typeDescriptionExample
Single wordReturns all the notes that contain this term.For example, searching for cat will return all the notes that contain this exact word. Note: it will not return the notes that contain the substring - thus, for "cat", notes that contain "cataclysmic" or "prevaricate" will not be returned.
Multiple wordReturns all the notes that contain all these words, but not necessarily next to each other.dog cat - will return any notes that contain the words "dog" and "cat" anywhere in the note, no necessarily in that order nor next to each other. It will not return results that contain "dog" or "cat" only.
PhraseAdd double quotes to return the notes that contain exactly this phrase."shopping list" - will return the notes that contain these exact terms next to each other and in this order. It will not return for example a note that contains "going shopping with my list".
PrefixAdd a wildcard to return all the notes that contain a term with a specified prefix.swim* - will return all the notes that contain eg. "swim", but also "swimming", "swimsuit", etc. IMPORTANT: The wildcard can only be at the end - it will be ignored at the beginning of a word (eg. *swim) and will be treated as a literal asterisk in the middle of a word (eg. ast*rix)
Switch to basic searchOne drawback of Full Text Search is that it ignores most non-alphabetical characters. However in some cases you might want to search for this too. To do that, you can use basic search. You switch to this mode by prefixing your search with a slash /. This won't provide the benefits of FTS but it will allow searching exactly for what you need. Note that it can also be much slower, even extremely slow, depending on your query./"- [ ]" - will return all the notes that contain unchecked checkboxes.

You can also use search filters to further restrict the search.

OperatorDescriptionExample
-If placed before a text term, it excludes the notes that contain that term. You can also place it before a filter to negate it.-spam searches for all notes without the word spam.<br>office -trash searches for all notes with the wordoffice and without the word trash.
any:Return notes that satisfy any/all of the required conditions. any:0 is the default, which means all conditions must be satisfied.any:1 cat dog will return notes that have the word cat or dog.<br>any:0 cat dog will return notes with both the words cat and dog.
title: <br> body:Restrict your search to just the title or the body field.title:"hello world" searches for notes whose title contains hello and world.<br>title:hello -body:world searches for notes whose title contains hello and body does not contain world.
tag:Restrict the search to the notes with the specified tags.tag:office searches for all notes having tag office.<br>tag:office tag:important searches for all notes having both office and important tags.<br>tag:office -tag:spam searches for notes having tag office which do not have tag spam.<br>any:1 tag:office tag:spam searches for notes having tag office or tag spam.<br>tag:be*ful does a search with wildcards.<br>tag:* returns all notes with tags.<br>-tag:* returns all notes without tags.
notebook:Restrict the search to the specified notebook(s). It cannot be negated.notebook:books limits the search scope within books and all its subnotebooks.<br>notebook:wheel*time does a wildcard search.
created: <br> updated:Searches for notes created/updated on dates specified using YYYYMMDD format. You can also search relative to the current day, week, month, or year.created:20201218 will return notes created on or after December 18, 2020.<br>-updated:20201218 will return notes updated before December 18, 2020.<br>created:20200118 -created:20201215 will return notes created between January 18, 2020, and before December 15, 2020.<br>created:202001 -created:202003 will return notes created on or after January and before March 2020.<br>updated:1997 -updated:2020 will return all notes updated between the years 1997 and 2019.<br>created:day-2 searches for all notes created in the past two days.<br>updated:year-0 searches all notes updated in the current year.
type:Restrict the search to either notes or todos.type:note to return all notes<br>type:todo to return all todos
iscompleted:Restrict the search to either completed or uncompleted todos.iscompleted:1 to return all completed todos<br>iscompleted:0 to return all uncompleted todos
latitude: <br> longitude: <br> altitude:Filter by locationlatitude:40 -latitude:50 to return notes with latitude >= 40 and < 50
resource:Filter by attachment MIME typeresource:image/jpeg to return notes with a jpeg attachment.<br>-resource:application/pdf to return notes without a pdf attachment.<br>resource:image/* to return notes with any images.
sourceurl:Filter by source URLsourceurl:https://www.google.com<br>sourceurl:*joplinapp.org to perform a wildcard search.

Note: In CliClient you have to escape the query using -- when using negated filters. Eg. :search -- "-tag:tag1".

Notes are sorted by "relevance". Currently it means the notes that contain the requested terms the most times are on top. For queries with multiple terms, it also matters how close to each other the terms are. This is a bit experimental so if you notice a search query that returns unexpected results, please report it in the forum, providing as many details as possible to replicate the issue.

Goto Anything

In the desktop application, press <kbd>Ctrl+G</kbd> or <kbd>Cmd+G</kbd> and type a note title or part of its content to jump to it. Or type <kbd>#</kbd> followed by a tag name, or <kbd>@</kbd> followed by a notebook name.

Privacy

Joplin values your privacy and security by giving you complete control over your information and digital footprint.

Joplin applications do not send any data to any service without your authorisation. Any data that Joplin saves, such as notes or images, are saved to your own device and you are free to delete this data at any time.

Joplin has many modern features, some of which use third-party services. You can disable any or all of these features in the application settings. These features are:

FeatureDescriptionDefault
Auto-updateJoplin periodically connects to GitHub to check for new releases.Enabled
Geo-locationJoplin saves geo-location information in note properties when you create a note.Enabled
SynchronisationJoplin supports synchronisation of your notes across multiple devices. If you choose to synchronise with a third-party, such as OneDrive, the notes will be sent to your OneDrive account, in which case the third-party privacy policy applies.Disabled

Joplin is developed as an open-source application and the source code is freely available online to inspect.

For any question about Joplin privacy, please leave a message on the Joplin Forum.

Donations

Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard.

Please see the donation page for information on how to support the development of Joplin.

Community

Contributing

Please see the guide for information on how to contribute to the development of Joplin: https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md

Localisation

Joplin is currently available in the languages below. If you would like to contribute a new translation, it is quite straightforward, please follow these steps:

This translation will apply to the three applications - desktop, mobile and terminal.

To update a translation, follow the same steps as above but instead of getting the .pot file, get the .po file for your language from the table below.

Current translations:

<!-- LOCALE-TABLE-AUTO-GENERATED -->
 LanguagePo FileLast translatorPercent done
Arabicarأحمد باشا إبراهيم (fi_ahmed_bacha@esi.dz)82%
Basqueeujuan.abasolo@ehu.eus35%
Bosnianbs_BADerviš T. (dervis.t@pm.me)85%
Bulgarianbg_BG68%
Catalancajmontane, 201954%
Croatianhr_HRHrvoje Mandić (trbuhom@net.hr)28%
Czechcs_CZLukas Helebrandt (lukas@aiya.cz)84%
Danskda_DKMorten Juhl-Johansen Zölde-Fejér (mjjzf@syntaktisk.76%
Deutschde_DEEike (ei-ke@users.noreply.github.com)99%
Eesti Keelet_EE68%
English (UK)en_GB100%
English (US)en_US100%
Españoles_ESFernando Pindado (fpindado@gmail.com)91%
EsperantoeoMarton Paulo39%
Françaisfr_FRLaurent Cozic97%
Galiciangl_ESMarcos Lans (marcoslansgarza@gmail.com)44%
Indonesianid_IDFathy AR (16875937+fathyar@users.noreply.github.com)95%
Italianoit_ITStarFang20893%
Nederlandsnl_NLMetBril (metbril@users.noreply.github.com)99%
Nederlandsnl_BE35%
Norwegiannb_NOMats Estensen (code@mxe.no)91%
PersianfaMehrad Mahmoudian (mehrad@mahmoudian.me)34%
Polskipl_PL87%
Portuguêspt_PTDiogo Caveiro91%
Português (Brasil)pt_BRRenato Nunes Bastos (rnbastos@gmail.com)98%
Românăro35%
Sloveniansl_SI44%
SvenskasvJonatan Nyberg (jonatan@autistici.org)73%
Thaith_TH54%
Tiếng Việtvi88%
Türkçetr_TRArda Kılıçdağı (arda@kilicdagi.com)99%
Ελληνικάel_GRHarris Arvanitis (xaris@tuta.io)93%
Русскийru_RUSergey Segeda (thesermanarm@gmail.com)90%
српски језикsr_RS74%
中文 (简体)zh_CNyaozeye (yaozeye@outlook.com)99%
中文 (繁體)zh_TWYaoze Ye (yaozeye@yahoo.co.jp)98%
日本語ja_JPgenneko (genneko217@gmail.com)99%
한국어ko89%
<!-- LOCALE-TABLE-AUTO-GENERATED -->

Contributors

Thank you to everyone who've contributed to Joplin's source code!

<!-- CONTRIBUTORS-TABLE-AUTO-GENERATED -->
<img width="50" src="https://avatars0.githubusercontent.com/u/1285584?v=4"/></br>laurent22<img width="50" src="https://avatars3.githubusercontent.com/u/223439?v=4"/></br>tessus<img width="50" src="https://avatars0.githubusercontent.com/u/1732810?v=4"/></br>mic704b<img width="50" src="https://avatars3.githubusercontent.com/u/2179547?v=4"/></br>CalebJohn<img width="50" src="https://avatars1.githubusercontent.com/u/3542031?v=4"/></br>PackElend
<img width="50" src="https://avatars3.githubusercontent.com/u/4553672?v=4"/></br>tanrax<img width="50" src="https://avatars0.githubusercontent.com/u/8701534?v=4"/></br>rtmkrlv<img width="50" src="https://avatars3.githubusercontent.com/u/10997189?v=4"/></br>fmrtn<img width="50" src="https://avatars1.githubusercontent.com/u/29672555?v=4"/></br>genneko<img width="50" src="https://avatars1.githubusercontent.com/u/6979755?v=4"/></br>devonzuegel
<img width="50" src="https://avatars3.githubusercontent.com/u/16101778?v=4"/></br>gabcoh<img width="50" src="https://avatars3.githubusercontent.com/u/10927304?v=4"/></br>matsest<img width="50" src="https://avatars0.githubusercontent.com/u/6319051?v=4"/></br>abonte<img width="50" src="https://avatars2.githubusercontent.com/u/1685517?v=4"/></br>Abijeet<img width="50" src="https://avatars0.githubusercontent.com/u/27751740?v=4"/></br>ishantgupta777
<img width="50" src="https://avatars3.githubusercontent.com/u/208212?v=4"/></br>foxmask<img width="50" src="https://avatars2.githubusercontent.com/u/6557454?v=4"/></br>innocuo<img width="50" src="https://avatars1.githubusercontent.com/u/26695184?v=4"/></br>anjulalk<img width="50" src="https://avatars1.githubusercontent.com/u/44024553?v=4"/></br>rabeehrz<img width="50" src="https://avatars0.githubusercontent.com/u/35633575?v=4"/></br>coderrsid
<img width="50" src="https://avatars1.githubusercontent.com/u/4237724?v=4"/></br>alexdevero<img width="50" src="https://avatars3.githubusercontent.com/u/35904727?v=4"/></br>Runo-saduwa<img width="50" src="https://avatars2.githubusercontent.com/u/5365582?v=4"/></br>marcosvega91<img width="50" src="https://avatars3.githubusercontent.com/u/37639389?v=4"/></br>petrz12<img width="50" src="https://avatars0.githubusercontent.com/u/3194829?v=4"/></br>moltenform
<img width="50" src="https://avatars0.githubusercontent.com/u/5199995?v=4"/></br>zuphilip<img width="50" src="https://avatars1.githubusercontent.com/u/1904967?v=4"/></br>readingsnail<img width="50" src="https://avatars0.githubusercontent.com/u/3985557?v=4"/></br>XarisA<img width="50" src="https://avatars2.githubusercontent.com/u/4245227?v=4"/></br>zblesk<img width="50" src="https://avatars2.githubusercontent.com/u/31567272?v=4"/></br>0ndrey
<img width="50" src="https://avatars3.githubusercontent.com/u/12906090?v=4"/></br>amitsin6h<img width="50" src="https://avatars3.githubusercontent.com/u/23281486?v=4"/></br>martonpaulo<img width="50" src="https://avatars3.githubusercontent.com/u/4497566?v=4"/></br>rccavalcanti<img width="50" src="https://avatars0.githubusercontent.com/u/54268438?v=4"/></br>Rahulm2310<img width="50" src="https://avatars0.githubusercontent.com/u/559346?v=4"/></br>metbril
<img width="50" src="https://avatars0.githubusercontent.com/u/1540054?v=4"/></br>ShaneKilkelly<img width="50" src="https://avatars1.githubusercontent.com/u/6734573?v=4"/></br>stweil<img width="50" src="https://avatars3.githubusercontent.com/u/937861?v=4"/></br>archont00<img width="50" src="https://avatars3.githubusercontent.com/u/32770029?v=4"/></br>bradmcl<img width="50" src="https://avatars1.githubusercontent.com/u/22592201?v=4"/></br>tfinnberg
<img width="50" src="https://avatars1.githubusercontent.com/u/3870964?v=4"/></br>marcushill<img width="50" src="https://avatars3.githubusercontent.com/u/102242?v=4"/></br>nathanleiby<img width="50" src="https://avatars0.githubusercontent.com/u/226708?v=4"/></br>RaphaelKimmig<img width="50" src="https://avatars0.githubusercontent.com/u/17768566?v=4"/></br>RenatoXSR<img width="50" src="https://avatars1.githubusercontent.com/u/36303913?v=4"/></br>sensor-freak
<img width="50" src="https://avatars3.githubusercontent.com/u/2063957?v=4"/></br>Ardakilic<img width="50" src="https://avatars3.githubusercontent.com/u/21161146?v=4"/></br>BartBucknill<img width="50" src="https://avatars3.githubusercontent.com/u/2494769?v=4"/></br>mrwulf<img width="50" src="https://avatars2.githubusercontent.com/u/560571?v=4"/></br>chrisb86<img width="50" src="https://avatars3.githubusercontent.com/u/1686759?v=4"/></br>chrmoritz
<img width="50" src="https://avatars0.githubusercontent.com/u/5001259?v=4"/></br>ethan42411<img width="50" src="https://avatars2.githubusercontent.com/u/2733783?v=4"/></br>JOJ0<img width="50" src="https://avatars2.githubusercontent.com/u/3140223?v=4"/></br>jdrobertso<img width="50" src="https://avatars2.githubusercontent.com/u/339645?v=4"/></br>jmontane<img width="50" src="https://avatars2.githubusercontent.com/u/4168339?v=4"/></br>solariz
<img width="50" src="https://avatars0.githubusercontent.com/u/390889?v=4"/></br>mmahmoudian<img width="50" src="https://avatars1.githubusercontent.com/u/25288?v=4"/></br>maicki<img width="50" src="https://avatars3.githubusercontent.com/u/2136373?v=4"/></br>mjjzf<img width="50" src="https://avatars3.githubusercontent.com/u/30305957?v=4"/></br>naviji<img width="50" src="https://avatars3.githubusercontent.com/u/27608187?v=4"/></br>rt-oliveira
<img width="50" src="https://avatars0.githubusercontent.com/u/54576074?v=4"/></br>Rishgod<img width="50" src="https://avatars0.githubusercontent.com/u/2486806?v=4"/></br>sebastienjust<img width="50" src="https://avatars2.githubusercontent.com/u/28362310?v=4"/></br>sealch<img width="50" src="https://avatars1.githubusercontent.com/u/34258070?v=4"/></br>StarFang208<img width="50" src="https://avatars2.githubusercontent.com/u/1782292?v=4"/></br>SubodhDahal
<img width="50" src="https://avatars0.githubusercontent.com/u/5912371?v=4"/></br>TobiasDev<img width="50" src="https://avatars2.githubusercontent.com/u/692072?v=4"/></br>conyx<img width="50" src="https://avatars2.githubusercontent.com/u/5730052?v=4"/></br>vsimkus<img width="50" src="https://avatars1.githubusercontent.com/u/4079047?v=4"/></br>Zorbeyd<img width="50" src="https://avatars3.githubusercontent.com/u/5077221?v=4"/></br>axq
<img width="50" src="https://avatars0.githubusercontent.com/u/8808502?v=4"/></br>barbowza<img width="50" src="https://avatars1.githubusercontent.com/u/4316805?v=4"/></br>lightray22<img width="50" src="https://avatars0.githubusercontent.com/u/17399340?v=4"/></br>pf-siedler<img width="50" src="https://avatars1.githubusercontent.com/u/17232523?v=4"/></br>ruuti<img width="50" src="https://avatars2.githubusercontent.com/u/23638148?v=4"/></br>s1nceri7y
<img width="50" src="https://avatars3.githubusercontent.com/u/10117386?v=4"/></br>kornava<img width="50" src="https://avatars1.githubusercontent.com/u/7471938?v=4"/></br>ShuiHuo<img width="50" src="https://avatars2.githubusercontent.com/u/11596277?v=4"/></br>ikunya<img width="50" src="https://avatars3.githubusercontent.com/u/59133880?v=4"/></br>bedwardly-down<img width="50" src="https://avatars2.githubusercontent.com/u/47456195?v=4"/></br>hexclover
<img width="50" src="https://avatars2.githubusercontent.com/u/45535789?v=4"/></br>2jaeyeol<img width="50" src="https://avatars1.githubusercontent.com/u/15862474?v=4"/></br>aaronxn<img width="50" src="https://avatars1.githubusercontent.com/u/3660978?v=4"/></br>alanfortlink<img width="50" src="https://avatars3.githubusercontent.com/u/14836659?v=4"/></br>apankratov<img width="50" src="https://avatars1.githubusercontent.com/u/7045739?v=4"/></br>teterkin
<img width="50" src="https://avatars0.githubusercontent.com/u/41290751?v=4"/></br>serenitatis<img width="50" src="https://avatars2.githubusercontent.com/u/4408379?v=4"/></br>lex111<img width="50" src="https://avatars2.githubusercontent.com/u/5417051?v=4"/></br>tekdel<img width="50" src="https://avatars1.githubusercontent.com/u/498326?v=4"/></br>Shaxine<img width="50" src="https://avatars0.githubusercontent.com/u/201215?v=4"/></br>assimd
<img width="50" src="https://avatars0.githubusercontent.com/u/42698687?v=4"/></br>baymoe<img width="50" src="https://avatars2.githubusercontent.com/u/7034200?v=4"/></br>bimlas<img width="50" src="https://avatars0.githubusercontent.com/u/16287077?v=4"/></br>carlbordum<img width="50" src="https://avatars0.githubusercontent.com/u/105843?v=4"/></br>chaifeng<img width="50" src="https://avatars2.githubusercontent.com/u/549349?v=4"/></br>charles-e
<img width="50" src="https://avatars2.githubusercontent.com/u/2348463?v=4"/></br>Techwolf12<img width="50" src="https://avatars0.githubusercontent.com/u/2282880?v=4"/></br>cloudtrends<img width="50" src="https://avatars2.githubusercontent.com/u/1044056?v=4"/></br>daniellandau<img width="50" src="https://avatars2.githubusercontent.com/u/26189247?v=4"/></br>daukadolt<img width="50" src="https://avatars2.githubusercontent.com/u/28535750?v=4"/></br>NeverMendel
<img width="50" src="https://avatars0.githubusercontent.com/u/11378282?v=4"/></br>diego-betto<img width="50" src="https://avatars0.githubusercontent.com/u/215270?v=4"/></br>erdody<img width="50" src="https://avatars0.githubusercontent.com/u/10371667?v=4"/></br>domgoodwin<img width="50" src="https://avatars3.githubusercontent.com/u/72066?v=4"/></br>b4mboo<img width="50" src="https://avatars0.githubusercontent.com/u/5131923?v=4"/></br>donbowman
<img width="50" src="https://avatars2.githubusercontent.com/u/47756?v=4"/></br>dflock<img width="50" src="https://avatars0.githubusercontent.com/u/7990534?v=4"/></br>drobilica<img width="50" src="https://avatars3.githubusercontent.com/u/1962738?v=4"/></br>einverne<img width="50" src="https://avatars0.githubusercontent.com/u/628474?v=4"/></br>Atalanttore<img width="50" src="https://avatars1.githubusercontent.com/u/16492558?v=4"/></br>eodeluga
<img width="50" src="https://avatars1.githubusercontent.com/u/3057302?v=4"/></br>fer22f<img width="50" src="https://avatars0.githubusercontent.com/u/43272148?v=4"/></br>fpindado<img width="50" src="https://avatars2.githubusercontent.com/u/1714374?v=4"/></br>FleischKarussel<img width="50" src="https://avatars1.githubusercontent.com/u/18525376?v=4"/></br>talkdirty<img width="50" src="https://avatars0.githubusercontent.com/u/6190183?v=4"/></br>gmag11
<img width="50" src="https://avatars2.githubusercontent.com/u/24235344?v=4"/></br>guiemi<img width="50" src="https://avatars2.githubusercontent.com/u/2257024?v=4"/></br>gusbemacbe<img width="50" src="https://avatars0.githubusercontent.com/u/18524580?v=4"/></br>Fvbor<img width="50" src="https://avatars0.githubusercontent.com/u/22606250?v=4"/></br>bennetthanna<img width="50" src="https://avatars3.githubusercontent.com/u/3379379?v=4"/></br>sczhg
<img width="50" src="https://avatars1.githubusercontent.com/u/1716229?v=4"/></br>Vistaus<img width="50" src="https://avatars1.githubusercontent.com/u/19862172?v=4"/></br>iahmedbacha<img width="50" src="https://avatars0.githubusercontent.com/u/1533624?v=4"/></br>IrvinDominin<img width="50" src="https://avatars3.githubusercontent.com/u/33200024?v=4"/></br>ishammahajan<img width="50" src="https://avatars0.githubusercontent.com/u/19985741?v=4"/></br>JRaiden16
<img width="50" src="https://avatars3.githubusercontent.com/u/11466782?v=4"/></br>jacobherrington<img width="50" src="https://avatars2.githubusercontent.com/u/9365179?v=4"/></br>jamesadjinwa<img width="50" src="https://avatars1.githubusercontent.com/u/4995433?v=4"/></br>jaredcrowe<img width="50" src="https://avatars3.githubusercontent.com/u/4374338?v=4"/></br>potatogim<img width="50" src="https://avatars0.githubusercontent.com/u/163555?v=4"/></br>JoelRSimpson
<img width="50" src="https://avatars1.githubusercontent.com/u/6965062?v=4"/></br>joeltaylor<img width="50" src="https://avatars3.githubusercontent.com/u/242107?v=4"/></br>exic<img width="50" src="https://avatars1.githubusercontent.com/u/23194385?v=4"/></br>jony0008<img width="50" src="https://avatars1.githubusercontent.com/u/6048003?v=4"/></br>joybinchen<img width="50" src="https://avatars1.githubusercontent.com/u/1560189?v=4"/></br>y-usuzumi
<img width="50" src="https://avatars0.githubusercontent.com/u/1660460?v=4"/></br>xuhcc<img width="50" src="https://avatars0.githubusercontent.com/u/16933735?v=4"/></br>kirtanprht<img width="50" src="https://avatars3.githubusercontent.com/u/7824233?v=4"/></br>kklas<img width="50" src="https://avatars1.githubusercontent.com/u/8622992?v=4"/></br>xmlangel<img width="50" src="https://avatars0.githubusercontent.com/u/1055100?v=4"/></br>troilus
<img width="50" src="https://avatars3.githubusercontent.com/u/50335724?v=4"/></br>Lorinson<img width="50" src="https://avatars2.githubusercontent.com/u/2599210?v=4"/></br>lboullo0<img width="50" src="https://avatars1.githubusercontent.com/u/1562062?v=4"/></br>dbinary<img width="50" src="https://avatars3.githubusercontent.com/u/5699725?v=4"/></br>mvonmaltitz<img width="50" src="https://avatars3.githubusercontent.com/u/11036464?v=4"/></br>mlkood
<img width="50" src="https://avatars3.githubusercontent.com/u/5788516?v=4"/></br>Marmo<img width="50" src="https://avatars0.githubusercontent.com/u/640949?v=4"/></br>freaktechnik<img width="50" src="https://avatars2.githubusercontent.com/u/12831489?v=4"/></br>mgroth0<img width="50" src="https://avatars0.githubusercontent.com/u/21796?v=4"/></br>silentmatt<img width="50" src="https://avatars0.githubusercontent.com/u/51273874?v=4"/></br>MichipX
<img width="50" src="https://avatars1.githubusercontent.com/u/53177864?v=4"/></br>MrTraduttore<img width="50" src="https://avatars3.githubusercontent.com/u/9076687?v=4"/></br>NJannasch<img width="50" src="https://avatars2.githubusercontent.com/u/12369770?v=4"/></br>Ouvill<img width="50" src="https://avatars3.githubusercontent.com/u/43815417?v=4"/></br>shorty2380<img width="50" src="https://avatars0.githubusercontent.com/u/19418601?v=4"/></br>Rakleed
<img width="50" src="https://avatars3.githubusercontent.com/u/6306608?v=4"/></br>Diadlo<img width="50" src="https://avatars1.githubusercontent.com/u/13197246?v=4"/></br>R-L-T-Y<img width="50" src="https://avatars2.githubusercontent.com/u/42652941?v=4"/></br>rajprakash00<img width="50" src="https://avatars0.githubusercontent.com/u/54888685?v=4"/></br>RedDocMD<img width="50" src="https://avatars2.githubusercontent.com/u/17312341?v=4"/></br>reinhart1010
<img width="50" src="https://avatars1.githubusercontent.com/u/744655?v=4"/></br>ruzaq<img width="50" src="https://avatars0.githubusercontent.com/u/19328605?v=4"/></br>SamuelBlickle<img width="50" src="https://avatars1.githubusercontent.com/u/1776?v=4"/></br>bronson<img width="50" src="https://avatars0.githubusercontent.com/u/24606935?v=4"/></br>semperor<img width="50" src="https://avatars0.githubusercontent.com/u/7091080?v=4"/></br>sinkuu
<img width="50" src="https://avatars2.githubusercontent.com/u/9937486?v=4"/></br>SFoskitt<img width="50" src="https://avatars2.githubusercontent.com/u/505011?v=4"/></br>kcrt<img width="50" src="https://avatars1.githubusercontent.com/u/538584?v=4"/></br>xissy<img width="50" src="https://avatars3.githubusercontent.com/u/466122?v=4"/></br>Tekki<img width="50" src="https://avatars0.githubusercontent.com/u/21969426?v=4"/></br>TheoDutch
<img width="50" src="https://avatars0.githubusercontent.com/u/8731922?v=4"/></br>tbroadley<img width="50" src="https://avatars1.githubusercontent.com/u/114300?v=4"/></br>Kriechi<img width="50" src="https://avatars0.githubusercontent.com/u/3457339?v=4"/></br>tkilaker<img width="50" src="https://avatars1.githubusercontent.com/u/4201229?v=4"/></br>tcyrus<img width="50" src="https://avatars2.githubusercontent.com/u/834914?v=4"/></br>tobias-grasse
<img width="50" src="https://avatars3.githubusercontent.com/u/6691273?v=4"/></br>strobeltobias<img width="50" src="https://avatars2.githubusercontent.com/u/70296?v=4"/></br>tbergeron<img width="50" src="https://avatars1.githubusercontent.com/u/10265443?v=4"/></br>Ullas-Aithal<img width="50" src="https://avatars2.githubusercontent.com/u/6104498?v=4"/></br>MyTheValentinus<img width="50" src="https://avatars3.githubusercontent.com/u/26511487?v=4"/></br>WisdomCode
<img width="50" src="https://avatars1.githubusercontent.com/u/1921957?v=4"/></br>xsak<img width="50" src="https://avatars2.githubusercontent.com/u/11031696?v=4"/></br>ymitsos<img width="50" src="https://avatars3.githubusercontent.com/u/29891001?v=4"/></br>jyuvaraj03<img width="50" src="https://avatars0.githubusercontent.com/u/15380913?v=4"/></br>kowalskidev<img width="50" src="https://avatars0.githubusercontent.com/u/63324960?v=4"/></br>abolishallprivateproperty
<img width="50" src="https://avatars2.githubusercontent.com/u/11336076?v=4"/></br>aerotog<img width="50" src="https://avatars2.githubusercontent.com/u/49116134?v=4"/></br>anihm136<img width="50" src="https://avatars2.githubusercontent.com/u/35600612?v=4"/></br>boring10<img width="50" src="https://avatars0.githubusercontent.com/u/35413451?v=4"/></br>chenlhlinux<img width="50" src="https://avatars3.githubusercontent.com/u/30935096?v=4"/></br>cybertramp
<img width="50" src="https://avatars3.githubusercontent.com/u/9694906?v=4"/></br>delta-emil<img width="50" src="https://avatars0.githubusercontent.com/u/926263?v=4"/></br>doc75<img width="50" src="https://avatars2.githubusercontent.com/u/2903013?v=4"/></br>ebayer<img width="50" src="https://avatars3.githubusercontent.com/u/701050?v=4"/></br>espinosa<img width="50" src="https://avatars1.githubusercontent.com/u/18619090?v=4"/></br>exponentactivity
<img width="50" src="https://avatars1.githubusercontent.com/u/16708935?v=4"/></br>exprez135<img width="50" src="https://avatars1.githubusercontent.com/u/9768112?v=4"/></br>fab4x<img width="50" src="https://avatars0.githubusercontent.com/u/47755037?v=4"/></br>fabianski7<img width="50" src="https://avatars0.githubusercontent.com/u/14201321?v=4"/></br>rasperepodvipodvert<img width="50" src="https://avatars1.githubusercontent.com/u/748808?v=4"/></br>gasolin
<img width="50" src="https://avatars0.githubusercontent.com/u/47191051?v=4"/></br>githubaccount073<img width="50" src="https://avatars1.githubusercontent.com/u/11388094?v=4"/></br>hydrandt<img width="50" src="https://avatars0.githubusercontent.com/u/557540?v=4"/></br>jabdoa2<img width="50" src="https://avatars3.githubusercontent.com/u/53862536?v=4"/></br>johanvanheusden<img width="50" src="https://avatars1.githubusercontent.com/u/54991735?v=4"/></br>krzysiekwie
<img width="50" src="https://avatars0.githubusercontent.com/u/12849008?v=4"/></br>lighthousebulb<img width="50" src="https://avatars0.githubusercontent.com/u/4140247?v=4"/></br>luzpaz<img width="50" src="https://avatars2.githubusercontent.com/u/30428258?v=4"/></br>nmiquan<img width="50" src="https://avatars0.githubusercontent.com/u/31123054?v=4"/></br>nullpointer666<img width="50" src="https://avatars2.githubusercontent.com/u/2979926?v=4"/></br>oscaretu
<img width="50" src="https://avatars0.githubusercontent.com/u/36965591?v=4"/></br>daehruoydeef<img width="50" src="https://avatars1.githubusercontent.com/u/42961947?v=4"/></br>pensierocrea<img width="50" src="https://avatars3.githubusercontent.com/u/10206967?v=4"/></br>rhtenhove<img width="50" src="https://avatars2.githubusercontent.com/u/16728217?v=4"/></br>rikanotank1<img width="50" src="https://avatars1.githubusercontent.com/u/51550769?v=4"/></br>rnbastos
<img width="50" src="https://avatars3.githubusercontent.com/u/14062932?v=4"/></br>simonsan<img width="50" src="https://avatars2.githubusercontent.com/u/5004545?v=4"/></br>stellarpower<img width="50" src="https://avatars1.githubusercontent.com/u/12995773?v=4"/></br>sumomo-99<img width="50" src="https://avatars0.githubusercontent.com/u/6908872?v=4"/></br>taw00<img width="50" src="https://avatars0.githubusercontent.com/u/10956653?v=4"/></br>tcassaert
<img width="50" src="https://avatars1.githubusercontent.com/u/46327531?v=4"/></br>vicoutorama<img width="50" src="https://avatars0.githubusercontent.com/u/2216902?v=4"/></br>xcffl<img width="50" src="https://avatars2.githubusercontent.com/u/37692927?v=4"/></br>zaoyifan<img width="50" src="https://avatars3.githubusercontent.com/u/55245068?v=4"/></br>zen-quo<img width="50" src="https://avatars0.githubusercontent.com/u/25315?v=4"/></br>xcession
<img width="50" src="https://avatars0.githubusercontent.com/u/34542665?v=4"/></br>paventyang<img width="50" src="https://avatars1.githubusercontent.com/u/1308646?v=4"/></br>zhangmx
<!-- CONTRIBUTORS-TABLE-AUTO-GENERATED -->

Known bugs

License

MIT License

Copyright (c) 2016-2020 Laurent Cozic

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.