> ## Documentation Index
> Fetch the complete documentation index at: https://help.memoryplugin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Operations

> Select and act on many memories at once

export const ArticleInfo = ({author, lastUpdated}) => {
  const authorAvatar = author === 'Alara' ? '/images/author-alara.jpg' : author === 'asad' ? '/images/author-alara.jpg' : null;
  const formatDate = dateInput => {
    if (!dateInput) return '';
    if (typeof dateInput === 'string' && !dateInput.match(/^\d{4}-\d{2}-\d{2}/)) {
      return dateInput;
    }
    try {
      const date = new Date(dateInput);
      const now = new Date();
      const diffTime = Math.abs(now - date);
      const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
      if (diffDays === 0) return 'today';
      if (diffDays === 1) return '1 day ago';
      if (diffDays < 7) return `${diffDays} days ago`;
      if (diffDays < 30) return `${Math.ceil(diffDays / 7)} week${Math.ceil(diffDays / 7) > 1 ? 's' : ''} ago`;
      if (diffDays < 365) return `${Math.ceil(diffDays / 30)} month${Math.ceil(diffDays / 30) > 1 ? 's' : ''} ago`;
      return `${Math.ceil(diffDays / 365)} year${Math.ceil(diffDays / 365) > 1 ? 's' : ''} ago`;
    } catch {
      return dateInput;
    }
  };
  return <div style={{
    display: "flex",
    alignItems: "center",
    gap: "8px",
    marginBottom: "16px",
    padding: "8px 12px",
    backgroundColor: "var(--ifm-color-emphasis-100)",
    borderRadius: "6px",
    fontSize: "14px",
    color: "var(--ifm-color-content-secondary)",
    border: "1px solid var(--ifm-color-emphasis-200)",
    opacity: "0.8"
  }}>
      <div style={{
    width: "40px",
    height: "40px",
    borderRadius: "50%",
    background: authorAvatar || "linear-gradient(45deg, #4F46E5, #7C3AED)",
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    color: "white",
    fontWeight: "bold",
    fontSize: "18px"
  }}>
        {authorAvatar ? <img src={authorAvatar} alt={author} style={{
    width: "100%",
    height: "100%",
    borderRadius: "50%"
  }} /> : author?.[0]?.toUpperCase()}
      </div>
      <div>
        <div style={{
    fontWeight: "400",
    fontSize: "14px"
  }}>Written by <span style={{
    fontWeight: "600"
  }}>{author}</span></div>
        <div style={{
    fontSize: "14px"
  }}>Last updated <span style={{
    fontWeight: "600"
  }}>{formatDate(lastUpdated)}</span></div>
      </div>
    </div>;
};

<ArticleInfo author="Alara" lastUpdated="2026-07-04" />

Bulk operations let you select many memories and move or delete them in one go. Useful when you are reorganizing a large bucket or clearing out memories you no longer want.

## Entering selection mode

<Steps>
  <Step title="Open a bucket">
    In your [dashboard](https://memoryplugin.com/dashboard), open the bucket you want to work in. The memory list header reads **Memories ({count})**.

    <Frame caption="The memory list header, with the Select Multiple button.">
      <img src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/screenshots/dashboard/bulk-1-header.png?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=0ad27c86743eae764107760d5a859645" alt="Memory list header showing the Select Multiple, Import, and Export buttons" width="2720" height="1520" data-path="images/screenshots/dashboard/bulk-1-header.png" />
    </Frame>
  </Step>

  <Step title="Click Select Multiple">
    Click **Select Multiple** in the list header. The button changes to **Cancel Selection**, and a checkbox appears on each memory.

    <Frame caption="Selection mode: a checkbox appears on each memory, with a Select all control at the top.">
      <img src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/screenshots/dashboard/bulk-2-selection.png?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=e67ffc64b1fd8257ca53d8bd57ac5829" alt="Memory list in selection mode with a checkbox on each memory" width="2720" height="1520" data-path="images/screenshots/dashboard/bulk-2-selection.png" />
    </Frame>
  </Step>

  <Step title="Select memories">
    Check the memories you want. The header shows a running count as **{x} of {n} selected**, and a **Select all** control selects every memory in the bucket (**All {n} selected**).

    <Frame caption="Three memories selected, showing the running count and the bulk actions bar.">
      <img src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/screenshots/dashboard/bulk-3-selected.png?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=1933764d2b509a204ec561b09c540d71" alt="Three memories selected showing the 3 of 6 selected count and the bulk actions bar" width="2720" height="1520" data-path="images/screenshots/dashboard/bulk-3-selected.png" />
    </Frame>
  </Step>
</Steps>

## Moving memories

<Steps>
  <Step title="Open the Move menu">
    With memories selected, open the **Move to** dropdown in the bulk actions bar. It is headed **Select destination bucket**.

    <Frame caption="The Move to dropdown, headed Select destination bucket.">
      <img src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/screenshots/dashboard/bulk-4-move.png?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=2197efdec75e393b0a4ce157f8767160" alt="Move to dropdown open showing destination buckets Work and Side Project" width="2720" height="1520" data-path="images/screenshots/dashboard/bulk-4-move.png" />
    </Frame>
  </Step>

  <Step title="Pick a bucket">
    Choose the destination. The memories move (the bar shows **Moving...**), and you get a **Memories moved successfully** toast.
  </Step>
</Steps>

<Note>
  Moving memories into a bucket that is shared with you asks for confirmation first, since the memories become visible to everyone with access to that bucket.
</Note>

## Deleting memories

<Steps>
  <Step title="Click Delete">
    With memories selected, click **Delete** in the bulk actions bar.
  </Step>

  <Step title="Confirm">
    The **Delete {n} memories?** dialog appears. Confirm with **Delete {n} Memories**. The bar shows **Deleting...**, then a **Memories deleted successfully** toast.

    <Frame caption="The bulk delete confirmation dialog.">
      <img src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/screenshots/dashboard/bulk-5-delete.png?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=21e1e6fb90d09a644b9feb0e288d5ffa" alt="Delete 3 memories confirmation dialog" width="2720" height="1520" data-path="images/screenshots/dashboard/bulk-5-delete.png" />
    </Frame>
  </Step>
</Steps>

<Warning>
  Bulk deletion is permanent and cannot be undone. Check your selection before confirming.
</Warning>

## Exporting a selection

While in selection mode you can also export. Once memories are checked, the **Export** button becomes **Export Selected ({n})** and opens the export dialog, where you can copy the memories to your clipboard or download them as CSV, JSON, or text. See [Import & Export](/features/import-export) for the details.

## Leaving selection mode

Click **Cancel Selection** to exit without acting on your selection.

## Tips

* **Search or filter first** to narrow the list, then select. Easier than scrolling.
* **Check the bucket** you are in before selecting, so you don't act on the wrong one.
* **Double-check before deleting.** It is permanent.

<Note>
  Bulk operations cover move, delete, and export. There is no bulk editing of memory text; edit memories one at a time from their row.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Memory Buckets" icon="folder" href="/features/memory-buckets">
    Organize memories into separate contexts
  </Card>

  <Card title="Import & Export" icon="file-export" href="/features/import-export">
    Bring memories in or take them out in bulk
  </Card>
</CardGroup>
