# EverNoteLoader

> **Class** in `langchain_community`

📖 [View in docs](https://reference.langchain.com/python/langchain-community/document_loaders/evernote/EverNoteLoader)

Document loader for EverNote ENEX export files.

Loads EverNote notebook export files (``.enex`` format) into LangChain Documents.
Extracts plain text content from HTML and preserves note metadata including
titles, timestamps, and attachments. Uses secure XML parsing to prevent
vulnerabilities.

The loader supports two modes:
- Single document: Concatenates all notes into one Document (default)
- Multiple documents: Creates separate Documents for each note

`Instructions for creating ENEX files <https://help.evernote.com/hc/en-us/articles/209005557-Export-notes-and-notebooks-as-ENEX-or-HTML>`__

Example:

.. code-block:: python

    from langchain_community.document_loaders import EverNoteLoader

    # Load all notes as a single document
    loader = EverNoteLoader("my_notebook.enex")
    documents = loader.load()

    # Load each note as a separate document:
    # documents = [ document1, document2, ... ]
    loader = EverNoteLoader("my_notebook.enex", load_single_document=False)
    documents = loader.load()

    # Lazy loading for large files
    for doc in loader.lazy_load():
        print(f"Title: {doc.metadata.get('title', 'Untitled')}")
        print(f"Content: {doc.page_content[:100]}...")

## Signature

```python
EverNoteLoader(
    self,
    file_path: Union[str, Path],
    load_single_document: bool = True,
)
```

## Description

**Note:**

Requires the ``lxml`` and ``html2text`` packages to be installed.
Install with: ``pip install lxml html2text``

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `file_path` | `Union[str, Path]` | Yes | Path to the EverNote export file (``.enex`` extension). |
| `load_single_document` | `bool` | No | Whether to concatenate all notes into a single Document. If ``True``, only the ``source`` metadata is preserved. If ``False``, each note becomes a separate Document with its own metadata. (default: `True`) |

## Extends

- `BaseLoader`

## Constructors

```python
__init__(
    self,
    file_path: Union[str, Path],
    load_single_document: bool = True,
)
```

| Name | Type |
|------|------|
| `file_path` | `Union[str, Path]` |
| `load_single_document` | `bool` |


## Properties

- `file_path`
- `load_single_document`

## Methods

- [`lazy_load()`](https://reference.langchain.com/python/langchain-community/document_loaders/evernote/EverNoteLoader/lazy_load)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-community/blob/4b280287bd55b99b44db2dd849f02d66c89534d5/libs/community/langchain_community/document_loaders/evernote.py#L21)