Skip to content

Find & Replace feature #2400

Description

@expiante

It would be extremely helpful if the BlockNote team provided a native Find & Replace feature, similar to editors like Notion or traditional document editors. This becomes especially important when working with long or complex documents.

Proposed Behavior

Trigger

  • Cmd + F on macOS
  • Ctrl + F on Windows & Linux

Find UI

  • An input container appears where the user can type a search query.
  • The container remains visible while navigating or replacing matches.

Highlighting

  • All matching occurrences are highlighted in yellow.
  • One match is the active selection, highlighted in orange.
  • Only one match can be active at a time.

Match Navigation

  • The input container displays the current match index and total match count
    Example: 1 of 20
  • Includes Previous / Next (Up / Down) buttons.
  • Clicking Previous / Next:
    • Moves to the previous or next match
    • Updates the match index
    • Updates the active (orange) highlight accordingly

Replace Functionality

  • The input container includes two actions:
    • Replace — replaces only the currently active match
    • Replace All — replaces all matching occurrences in the document

Change Events

  • All changes are properly shipped in the editor’s getChanges output.

Why This Feature Is Useful

  • Find & Replace is a core feature for content-heavy editing workflows
  • Improves productivity and reduces manual editing
  • Provides a foundation for future enhancements such as:
    • Case sensitivity
    • Whole-word matching
    • Regex support

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    sponsorReported by or on behalf of a sponsor or paying customer and eligible for prioritized attention.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions