A simple cross-browser extension to ease the process of searching publications on dblp.org and copying BibTeX entries.
- Search Papers: Enter the paper's title in the input field or highlight any text on the current web page, then click the search button. The extension will search dblp.org for matching publications and display the results.
- Copy BibTeX Entries: Next to each search result, there's a 'Copy BibTeX' button. Click this button to copy the BibTeX entry for the corresponding publication to your clipboard.
- Customizable BibTeX Citation Keys: Replace dblp default citation keys with a custom format. Use the drag-and-drop builder in Options to arrange fields (Author, Year, Venue, Title) and separators (dash, underscore) in any order. Additional formatting options include capitalizing the author's name and uppercasing the venue (e.g.,
Calefato2023ESEM,calefato_2023_esem). - Results Count: The extension shows the number of search results found. The extension automatically filters out useless CoRR Abs entries.
- Pagination: Navigate through search results using Previous/Next buttons. Page info shows the current page, total pages, and result count. Pagination state persists across browser sessions.
- Save Search State: The content of the input text field and results are saved in the local storage. This allows you to leave the page and come back later without losing your search results.
- API: Versions 2+ are faster and more reliable as they rely on the official DBLP.org API to execute the queries.
- Remove duplicates: Useless, duplicated CoRR abs entries are filtered out.
- Remove BibTeX fields: When copying BibTeX entries, the extension can remove the
timestamp,bibsource,biburl, andurlfields.
- Install the extension to your Chromium browser (e.g., Chrome, Edge, ...), Firefox, or Safari.
- Click on the extension icon to open the pop-up.
- Enter the title of the paper you want to search for in the input field. Alternatively, highlight some text on the current web page.
- Click the 'Search' button to start the search.
- The search results will be displayed in the pop-up. Click the 'Copy BibTeX' button next to a result to copy its BibTeX entry to your clipboard.
Contributions are welcome! Please submit a pull request or create an issue to contribute to this project.
make build # Build all extensions (alias for build/all)
make build/chrome # Build Chrome extension ZIP
make build/firefox # Build Firefox XPI addon and sources
make build/safari # Build Safari app-extension (macOS + Xcode required)
make build/edge # Build Edge extension (same as Chrome)
make build/all # Build all extensions
make build/clean # Clean build directory and stampsNote
Safari build will start only on macOS if Xcode is installed.
Google Chrome
-
Open Google Chrome and navigate to
chrome://extensions. -
Enable Developer mode by clicking the toggle switch next to "Developer mode".
-
Click "Load unpacked" and select the
build/chromedirectory in your project folder.
Edge
Same as above, the only difference is that you need to navigate to edge://extensions.
Firefox
-
Open Firefox and navigate to
about:debugging. -
Click "This Firefox" and "Load Temporary Add-on...".
-
Navigate to the
build/firefoxdirectory in your project folder and select it.
make run/chrome # Launch Chrome with extension loaded (dev mode)
make run/firefox # Launch Firefox Dev Edition with extension
make run/safari # Launch Safari with extension
make run/edge # Launch Edge with extension
make info # Show development environment infoUse DEFAULT_URL="https://example.com" to set the opening page for run commands.
Note
- Browser must not be running before executing
make run/*commands - Unlike Chrome, Edge does not run in development mode
- For Firefox, the script assumes you have Firefox Developer Edition installed. You can easily change the name to
Firefoxin themakescript; it also requiresweb-extto be installed.
To release a new version:
make release/check # 1. Check if commits exist since last tag
make bump/patch # 2. Bump version (or bump/minor, bump/major)
git add -A && git commit -m "Bump version to X.Y.Z" # 3. Commit changes
make release # 4. Push commits and tag (triggers CI/CD)Available commands:
make release/check # Check if a new release is needed
make bump/patch # Bump patch version (1.0.0 -> 1.0.1)
make bump/minor # Bump minor version (1.0.0 -> 1.1.0)
make bump/major # Bump major version (1.0.0 -> 2.0.0)
make tag/apply # Create local tag from manifest version
make release # Push commits and tag to origin (alias: tag/push)
make tag/delete # Delete the tag for the current versionVersion is stored in manifest.json and manifest.firefox.json (both are updated).
No automated test suite. Testing is manual:
- Run
make run/chrome(or firefox/safari/edge) - Test the modified functionality in the browser
- Check the browser console for errors (pop-up and background service worker)
Popup console: Right-click extension icon → Inspect popup
Background service worker:
- Chrome:
chrome://extensions→ Find extension → "Service worker" link - Firefox:
about:debugging→ This Firefox → Inspect
Storage inspection: In console, run browser.storage.local.get(null, console.log)
This project is licensed under the MIT license, see the LICENSE file.
Developed by Fabio Calefato (@bateman).


