A modern, professional citation generator for academic research. Generate accurate citations from DOIs with support for thousands of styles, batch processing, and PDF extraction.
Modern Interface
- Color-coded visual feedback for status and validation
- Real-time DOI and URL validation with professional messaging
- Searchable style picker with access to thousands of CSL styles
Core Functionality
- Automatic DOI detection from web pages and PDF documents
- Full CSL repository support (APA, MLA, Chicago, Harvard, IEEE, Vancouver, and thousands more)
- In-text citations (parenthetical and narrative formats)
- BibTeX export for LaTeX users
- Batch processing for multiple DOIs or PDF files
- HTML formatting preservation for Word/Google Docs
- Context menu integration for quick citations
Privacy & Performance
- No tracking or analytics
- Local processing only
- Configurable metadata caching
- Automatic retry logic for API reliability
Advanced Features
- Dedicated settings page for customization
- Duplicate DOI detection in batch mode
- Retry failed entries functionality
- Support for books, articles, and other publication types
FlowRef supports the full CSL (Citation Style Language) repository, providing access to thousands of academic citation styles.
Popular Styles (Pre-loaded)
- APA 7th Edition
- MLA 9th Edition
- Chicago 17th Edition
- Harvard
- IEEE
- Vancouver
- More...
Style Search
- Search for specific journal styles (e.g., Nature, Science, PLOS ONE)
- Browse by category (Psychology, Medicine, Engineering, etc.)
- Your preferred style is saved automatically across all pages
Output Formats
- Full reference (formatted bibliography entry)
- In-text parenthetical:
(Smith, 2020) - In-text narrative:
Smith (2020) - BibTeX entry for LaTeX
- Firefox
- Chrome / Chromium
- Edge
- Other WebExtensions-compatible browsers
Install directly from Firefox Add-ons
Prerequisites: Node.js and npm installed
# Clone repository
git clone https://github.com/Metanome/flowref.git
cd FlowRef
# Install dependencies
npm install
# Build for Firefox
build-firefox.bat
# Build for Chrome
build-chrome.batLoad in Browser
Firefox: Navigate to about:debugging > "This Firefox" > "Load Temporary Add-on" > Select dist/manifest.json
Chrome: Navigate to chrome://extensions/ > Enable "Developer mode" > "Load unpacked" > Select dist folder
- Visit a page with a DOI or open the extension popup
- DOI is auto-detected (indicated by green status bar) or enter manually
- Select citation style from the searchable dropdown
- Click "Format"
- Citation is generated and automatically copied to clipboard
- Click "Open Batch Mode" in the popup footer
- Use the Text tab to paste multiple DOIs (one per line)
- Use the PDF tab to drag and drop PDF files
- Select citation style
- Click "Process All"
- Copy all citations or download as .bib file
- Select DOI text or link on any webpage
- Right-click and choose "Generate Citation from DOI"
- Popup opens with citation ready to copy
Access via "Settings" link in popup or batch mode. Configure:
- Default citation style
- Auto-detect behavior
- Cache settings
- API retry behavior
API Integration
- Primary: CrossRef REST API
- Fallback: DataCite API
- Configurable retry logic
Formatting
- HTML formatting preserved when pasting into Word/Google Docs
- Proper punctuation following official style guidelines
- Correct formatting for books and articles
Architecture
- TypeScript codebase compiled with esbuild
- Manifest V3 for Firefox and Chrome
- Modular component system (StylePicker, StatusBar)
- Local storage for settings and metadata cache
- Content script for PDF DOI extraction
- Background service worker for context menu integration
Privacy & Security
- No tracking, analytics, or telemetry
- No data stored on external servers
- All processing performed locally in browser
- Network requests only to public citation APIs
- Open source
# Install dependencies
npm install
# Build for specific browser
build-firefox.bat
build-chrome.bat
# Development workflow
npm run watch # Auto-rebuild on changes
npm run clean # Clean build directoryFlowRef/
├── src/
│ ├── popup/ # Main popup interface
│ ├── options/ # Batch mode page
│ ├── settings/ # Settings page
│ ├── background/ # Context menu and lifecycle
│ ├── content/ # PDF DOI detection
│ └── core/ # Shared components, formatters, and utilities
│ ├── stylePicker.ts # Searchable style dropdown component
│ ├── cslRepository.ts # CSL style fetching and caching
│ └── formatters/ # CSL and BibTeX formatting
├── icons/ # Extension icons
├── manifest.*.json # Browser-specific manifests
└── dist/ # Build output
Contributions welcome. Please:
- Follow existing code style
- Test in both Firefox and Chrome
- Update documentation as needed
- Submit pull requests to main branch