Simple. Fast. Intuitive.
Wrap selected text in quotes, backticks, or brackets — just like your favorite IDE, but right in your browser.
Surround it! is a browser extension (Chrome, Firefox, Edge) that replicates one of the most addictive features in modern IDEs: wrapping a selected text with matching quotes, backticks, or brackets. Automagically and intelligently.
- Inspired by: IDEs like VS Code, IntelliJ — makes typing quotes or brackets wrap selected content instead of replacing it.
- Use case: Developers, writers, editors — anyone editing text and tired of manually wrapping selections.
- Wrap selected text with:
" "(double quotes)' '(single quotes)` `(backticks)( )(parentheses)[ ](square brackets){ }(curly braces)
- Extensible: You can customize the wrapping characters due to your liking.
- Lightweight and minimal permissions.
- Configurable: Enable or disable all inserting or wrapping behavior.
| Browser | Link |
|---|---|
| Chrome | Download |
| Firefox | Download |
| Edge | Download |
- Install the extension from your browser's store (see Installation).
- Highlight any text in an input, textarea, or contentEditable DOM element.
- Press the key for the desired wrapper (e.g.,
"). - Result: Text is automatically wrapped:
"selected text" - Edge cases:
- No selection: Insert an empty pair and place the cursor between.
- Text already wrapped: Wrap again.
- Adding custom wrappers in the menu.
- Enabling or disabling every configured wrapper.
- Enable or disable the wrapping behavior.
- Enable or disable all inserting or wrapping behavior.
Tested versions:
- Node.js >= 22.18.0
- Yarn >= 1.22.22
Note
Other versions might work as well but haven't been tested. If you have knowledge about it running on earlier versions, please let me know.
git clone git@github.com:Andret2344/surround-it.git
cd surround-it
yarnThere are four tasks to work with the extension locally:
yarn build:chromium- build the extension for chromium-based browsers.yarn watch:chromium- as above, but in a constant-watching mode.yarn build:firefox- build the extension for firefox browser.yarn watch:firefox- as above, but in a constant-watching mode.
After running the :build or :watch task, load the dist/ folder:
- Chrome/Edge: Via
chrome://extensions. - Firefox: Via
about:addonson Firefox developer edition.
Important
There are currently no automatic tests, will be added in the future.
Contributions welcome:
- Fork the repo.
- Create your feature branch:
git checkout -b feature-name. - Commit changes:
git commit -m "Descriptive message". - Push:
git push origin feature-name. - Open a pull request.
Please follow:
- Clear commit messages
- Consistent formatting (indentation, quotes, etc.)
- Explain your changes in the PR description
- © 2025 Andret2344
- License: CC BY-SA 4.0
- Inspired by behavior in popular IDEs like IntelliJ IDEA.
Questions, ideas, bug reports:
- GitHub Issues: https://github.com/Andret2344/surround-it/issues
- Email: andret2344@gmail.com