Featured on wpmudev:
Cheers for the review, folks!

footnotes aims to be the all-in-one solution for displaying an automatically generated list of references on your Page or Post. The Plugin ships with a set of sane defaults but also gives the user control over how their footnotes are being displayed.
footnotes gives you the ability to display decently-formated footnotes on your WordPress Pages or Posts (those footnotes we know from offline publishing).

Main Features

  • Fully customizable footnotes shortcode
  • Decide, where your footnotes are displayed (position of the Reference Container)
  • Add custom CSS to style the appeareance of the footnotes
  • Responsive Reference Container
  • Mouse-Over Box with clickable links displays your footnotes text
  • Automatic numbering of your footnotes
  • Choose from a list of symbols to represent your footnotes
  • Display the footnotes Reference Container inside a Widget
  • Button in both the Visual and the Text editor
    • Add footnotes into your Page / Post with ease of use by selecting your text and clicking the button

Example Usage

This is an example. Please note, that you can customize the shortcode you want to use.

  1. Your awesome text((with an awesome footnote))
  2. Your awesome text[ref]with an awesome footnote[/ref]
  3. Your awesome text<fn>with an awesome footnote</fn>
  4. Your awesome text custom-shortcode with an awesome footnote custom-shortcode

Where to get footnotes?

The current version is available on


Please report feature requests, bugs and other support related questions in the WordPress Forums at

Speak your mind, unload your burdens. Notice how we screwed up big time? Bring it to our attention in the above mentioned WordPress Forums. Be polite, though 🙂


Development of the plugin is an open process. Latest code is available on


  • Find the footnotes plugin settings in the newly added "ManFisher" Menu
  • Settings for the References Container
  • Settings for footnotes styling
  • Settings for footnotes love
  • Other Settings
  • The HowTo section in the footnotes settings
  • Here you can see the footnotes Plugin at work. Isn't that plain beautiful?


  • Visit your WordPress Admin area
  • Navigate to Plugins\Add
  • Search for footnotes and find this Plugin among others
  • Install the latest version of the footnotes Plugin from
  • Activate the Plugin


Is your Plugin a copy of footnotes x?

No, this Plugin has been written from scratch. Of course some inspirations on how to do or how to not do things were taken from other plugins.

Your Plugin is awesome! How do I convert my footnotes if I used one of the other footnotes plugins out there?

  1. For anyone interested in converting from the FD Footnotes plugin:
    Visit this swift write-up from a footnotes user by the name of Southwest:
  2. From what we’ve researched, all other footnotes Plugins use open and close shortcodes, which can be left as is. In the footnotes settings menu, you can setup footnotes to use the existing (=previously used) shortcodes. Too easy? Yippy Ki-Yey!


November 29, 2020
I have spent most of today deciding how to do references on my new website. The plugin I had used several years ago for another site is now broken. So I have been exploring options for references and footnotes. I wrote this review as soon as I activated this plugin and looked at the Settings. They are through, well-organized, and easy to use. So as long as the plugin does what it is supposed to do, I recommend it highly! Save yourself research time and try this one first! Added later: Not only is it working very well, but I discovered I could format the heading for the reference list by writing HTML in the box where I define its name.
October 30, 2020
... but from a performance perspective not so good. I'd removed jQuery from my Theme, but this plugin depends on that. It also depends on jQuery UI & jQuery Tools ... that's a lot of JavaScript, for a small amount of functionality. Check Page Speed Insights with & without this activated.
November 29, 2020
I have a family history website which requires extensive source citations. The site would not exist without footnotes and I rely heavily on this plugin. The recent update caused some minor issues but the developer was very prompt with a fix and also extremely courteous. Extraordinary given I've been using this plugin for free. I highly recommend installing this. EDIT: the latest (Nov 2020) updates aren't compatible with my theme so I've started using another plugin. My review still stands for themes which are compatible with this plugin.
Read all 50 reviews

Contributors & Developers

“footnotes” is open source software. The following people have contributed to this plugin.


Translate “footnotes” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Bugfix: disable widget_text hook by default to fix accordions declaring headings as widgets
  • Bugfix: Reference container: fix column width when combining turned on by reverting new CSS class to legacy
  • Bugfix: Reference container: fix width in mobile view by URL wrapping wrt Unicode-non-conformant browsers
  • Bugfix: Reference container: table cell backlinking if index is single and combining identicals turned on
  • Bugfix: Styling: raise Custom CSS priority to override settings
  • Bugfix: Styling: Tooltips: raise settings priority to override theme style sheets


  • Bugfix: Layout: Reference container: Backlinks: no underline on hover cell when combining identicals is on
  • Bugfix: Elementor: add experimental support for section name function
  • Bugfix: Dashboard: priority level settings for all other hooks
  • Update: Dashboard: WordPress documentation URLs of the hooks
  • Update: Dashboard: feature description for the hooks priority level settings (not yet localized)


  • Bugfix: Combining identical footnotes: fix dead links, ensure referrer-backlink bijectivity
  • Update: Libraries: jQuery Tools: redact jQuery.browser function use in js/
  • Update: Libraries: jQuery Tools: complete minification
  • Bugfix: Libraries: made script loads depend on tooltip implementation option
  • Bugfix: Libraries: jQuery UI: properly pick the libraries registered by WordPress needed for tooltips
  • Bugfix: UI: Tooltips: optional alternative JS implementation with CSS animation to fix site issues
  • Bugfix: UI: Tooltips: add delay (400ms) before fade-out to fix UX wrt links and Read-on button
  • Bugfix: UI: Tooltips: fix line breaking for hyperlinked URLs in Unicode-non-compliant user agents
  • Bugfix: Layout: Footnote referrers: select box to make superscript optional wrt themes w/o support
  • Bugfix: Layout: Reference container: fix relative positioning by priority level setting
  • Bugfix: Layout: Reference container: Backlink symbol: select box to disable instead of space character
  • Bugfix: Layout: Reference container: Footnote number links: disable bottom border for theme compatibility
  • Bugfix: Layout: Reference container: option to restore 3-column layout when combined are turned off
  • Bugfix: Layout: Reference container: option to APpend symbol in 2-column when combined are turned off
  • Bugfix: Layout: Reference container: fix start pages by an option to hide the reference container
  • Bugfix: Layout: Reference container: Table rows: fix top and bottom padding
  • Bugfix: Layout: Footnote referrers: new fix for line height
  • Bugfix: Formatting: disable overline showing in some themes on hovered backlinks


  • Add: UI: Tooltip: made ‘Continue reading’ button label customizable
  • Bugfix: Layout: Footnote referrers: disabled bottom border for theme compatibility
  • Update: Accessibility: added ‘speaker-mute’ class to reference container
  • Bugfix: Dashboard: Layout: added named selectors to limit applicability of styles
  • UPDATE: REMOVED the_post hook, the plugin stopped supporting this hook


  • BUGFIX: Priority level back to PHP_INT_MAX (need to get in touch with other plugins)


  • BUGFIX: Disabled hook “the_post” Any related code in the plugin shall disappear
  • Update: Set priority level back to 10 assuming it is unproblematic
  • Update: Added backwards compatible support for legacy arrow and index placeholders in template
  • Update: Settings defaults adjusted for better and more up-to-date tooltip layout


  • Update: Autoload / infinite scroll support thanks to @docteurfitness
  • Bugfix: Layout: Footnote referrers: deleted vertical align tweaks, for cross-theme and user agent compatibility
  • Bugfix: Layout: Reference container: fixed line breaking behavior in footnote # clusters
  • Bugfix: Layout: Reference container: auto-extending column to fit widest, to fix display with short note texts
  • Bugfix: Layout: Reference container: IDs: slightly increased left padding
  • Bugfix: Translations: fixed spelling error and erroneously changed word in en_GB and en_US
  • Update: Typesetting: discarded the dot after footnote numbers as not localizable (should be optional)
  • Bugfix: UI: Reference container: Collapse button fully clickable, not sign only
  • Bugfix: UI: Reference container: Collapse button ‘collapse’ with minus sign not hyphen-minus
  • Update: UX: Tooltip: set display predelay to 0 for responsiveness (was 800 since 2.0.0, 400 before)
  • BUGFIX: Priority level back to PHP_INT_MAX (ref container positioning not this plugin’s responsibility)


  • Bugfix: Get references container close to content, not below all other features, by priority level 10
  • Bugfix: Public style sheet: Reference container: unset width of text column to fix site issues
  • Update: Enable all hooks by default to prevent footnotes from seeming broken in post titles
  • Bugfix: Restore cursor shape pointer over ‘Continue reading’ button after hyperlink removal
  • Bugfix: Settings style sheet unenqueued to fix input boxes on public pages (enqueued for 2.0.4)


  • Update: Restored arrow settings to customize or disable the now prepended arrow symbol
  • Update: GDPR: Added jQuery UI from WordPress instead of third party
  • Bugfix: UX: Removed hyperlink addresses from referrers and backlinks wrt browsing history
  • Bugfix: Reference container: layout: removed inconvenient left/right cellpadding
  • Bugfix: Tooltip infobox: improved layout with inherited font size by lower line height
  • Bugfix: Tooltip infobox: ‘Continue reading’ button: disabled default underline
  • Bugfix: Translations: reviewed all locales (en, de, es, fr), synced ref line # with edited code
  • Bugfix: Fixed display of 2 dashboard headings


  • Bugfix: Layout: Self-adjusting width of ID column but hidden overflow
  • Update: Prepended transitional up arrow to backlinking footnote numbers after a user complaint about missing backlinking semantics of the footnote number
  • Bugfix: Fragment IDs: Prepended post ID to footnote number
  • Bugfix: Feed plugin version in style sheet query string for cache busting
  • Bugfix: Print style: prevent a page break just after the reference container label
  • Bugfix: Print style: Hide reference collapse button
  • Update: Layout: Removed padding before reference container label


  • Bugfix: Restored expand/collapse button of reference container
  • Bugfix: Dashboard: Available CSS selectors, last item display
  • Bugfix: Footnote anchor and ID color to default on screen, to inherit in print
  • Bugfix: Disabled underline in footnote anchors, underline only on hover


  • Bugfix: Fixed public.css
  • Update: Language fr_FR along with es_ES, de_AT, de_DE, en_GB, en_US for 2.0


  • Major contributions taken from WordPress user pewgeuges, all details here
  • Update: symbol for backlinks removed
  • Update: hyperlink moved to the reference number
  • Update: Upgrade jQuery library
  • Update: Account for disruptive PHP change
  • Bugfix: footnote links script independent
  • Bugfix: Get the “Continue reading” link to work in the mouse-over box
  • Bugfix: Debug printed posts and pages
  • Bugfix: Display of combined identical notes
  • Update: Adjusted scrolling time and offset
  • Bugfix: No borders around footnotes in the container
  • Bugfix: Mouse-over box display timing


  • Beginning of translation to French


  • Update: Fix for deprecated PHP function create_function() (man thanks to Felipe LavĂ­n Z.)
  • Update: The CSS had been modified in order to show the tooltip numbers a little less higher than text
  • Bugfix: Fixed error on demo in backend


  • Bugfix: The deprecated WP_Widget elements have been replaced
  • Bugfix: Fixed occasional bug where footnote ordering could be out of sequence


  • Bugfix: We were provided a fix by a user named toma. footnotes now works in sub-folder installations of WordPress


  • Update: Changed the Preview tab
  • Bugfix: Html tags has been removed in the Reference container when the excerpt mode is enabled


  • Update: Translations
  • Bugfix: Move to anchor


  • IMPORTANT: Improved performance. You need to Activate the Plugin again. (Settings won’t change!)
  • Add: Setting to customize the mouse-over box shadow
  • Add: Translation: United States
  • Add: Translation: Austria
  • Add: Translation: Spanish (many thanks to Pablo L.)
  • Update: Translations (de_DE and en_GB)
  • Update: Changed Plugins init file name to improve performance (Re-activation of the Plugin is required)
  • Update: ManFisher note styling
  • Update: Tested with latest nightly build of WordPress 4.1
  • Bugfix: Avoid multiple IDs for footnotes when multiple reference containers are displayed


  • Add: Setting to define the positioning of the mouse-over box
  • Add: Setting to define an offset for the mouse-over box (precise positioning)
  • Bugfix: Target element to move down to the reference container is the footnote index instead of the arrow (possibility to hide the arrow)
  • Bugfix: Rating calculation for the ‘other plugins’ list


  • IMPORTANT: We have changed the html tag for the superscript. Please check and update your custom CSS.
  • Add: .pot file to enable Translations for everybody
  • Add: Settings to customize the mouse-over box (color, background color, border, max. width)
  • Update: Translation file names
  • Update: Translation EN and DE
  • Update: Styling of the superscript (need to check custom CSS code for the superscript)
  • Update: Description of CSS classes for the ‘customize CSS’ text area
  • Bugfix: Removed ‘a’ tag around the superscript for Footnotes inside the content to avoid page reloads (empty href attribute)
  • Bugfix: Avoid Settings fallback to its default value after submit an empty value for a setting
  • Bugfix: Enable multiple WP_Post objects for the_post hook


  • Add: Expert mode setting
  • Add: Activation and Deactivation of WordPress hooks to look for Footnotes (expert mode)
  • Add: WordPress hooks: ‘the_title’ and ‘widget_title’ (default: disabled) to search for Footnote short codes
  • Bugfix: Default value for the WordPress hook the_post to be disabled (adds Footnotes twice to the Reference container)
  • Bugfix: Activation, Deactivation and Uninstall hook class name
  • Bugfix: Add submenu pages only once for each ManFisher WordPress Plugin
  • Bugfix: Display the Reference container in the Footer correctly


  • Add: Setting to enable an excerpt of the Footnotes mouse-over box text (default: disabled)
  • Add: Setting to define the maximum length of the excerpt displayed in the mouse-over box (default: 150 characters)
  • Update: Detail information about other Plugins from ManFisher (rating, downloads, last updated, Author name/url)
  • Update: Receiving list of other Plugins from the Developer Team from an external server
  • Update: Translations (EN and DE)
  • Bugfix: Removed hard coded position of the ‘ManFisher’ main menu page (avoid errors with other Plugins)
  • Bugfix: Changed function name (includes.php) to be unique (avoid errors with other Plugins)
  • Bugfix: Try to replace each appearance of Footnotes in the current Post object loaded from the WordPress database


  • Add: Developer’s homepage to the ‘other Plugins’ list
  • Update: Smoothy scroll to an anchor using Javascript
  • Bugfix: Set the vertical align for each cell in the Reference container to TOP


  • Add: Setting to enable/disable the mouse-over box
  • Add: Current WordPress Theme to the Diagnostics sub page
  • Add: ManFisher note in the “other Plugins” sub page
  • Update: Removed unnecessary hidden inputs from the Settings page
  • Update: Merged public CSS files to reduce the output and improve the performance
  • Update: Translations (EN and DE)
  • Bugfix: Removed the ‘trim’ function to allow whitespaces at the beginning and end of each setting
  • Bugfix: Convert the footnotes short code to HTML special chars when adding them into the page/post editor (visual and text)
  • Bugfix: Detailed error messages if other Plugins can’t be loaded. Also added empty strings as default values to avoid ‘undefined’


  • Bugfix: Broken Settings link in the Plugin listing
  • Bugfix: Translation overhaul for German


  • Add: Grouped the Plugin Settings into a new Menu Page called “ManFisher Plugins”
  • Add: Sub Page to list all other Plugins of the Contributors
  • Add: Hyperlink to in the “other plugins” page
  • Update: Refactored the whole source code
  • Update: Moved the Diagnostics Sections to into a new Sub Page called “Diagnostics”
  • Bugfix: Line up Footnotes with multiple lines in the Reference container
  • Bugfix: Load text domain
  • Bugfix: Display the Footnotes button in the plain text editor of posts/pages


  • Feature: WPML Config XML file for easy multi language string translation (WPML String Translation Support File)
  • Update: Changed e-Mail support address to the WordPress support forum
  • Update: Language EN and DE
  • Add: Tab for Plugin Diagnostics
  • Add: Donate link to the installed Plugin overview page
  • Add: Donate button to the “HowTo” tab


  • Bugfix: Settings access permission vor sub-sites
  • Bugfix: Setting ‘combine identical footnotes’ working as it should


  • Update: Changed the Author name from a fictitious entity towards a real registered company
  • Update: Changed the Author URI


  • Bugfix: More security recognizing Footnotes on public pages (e.g. ignoring empty Footnote short codes)
  • Bugfix: Clear old Footnotes before lookup new public page (only if no reference container displayed before)
  • Update: language EN and DE
  • Add: Setting to customize the hyperlink symbol in der reference container for each footnote reference
  • Add: Setting to enter a user defined hyperlink symbol


  • Bugfix: Allow settings to be empty
  • Bugfix: Removed space between the hyperlink and superscript in the footnotes index
  • Add: Setting to customize the text before and after the footnotes index in superscript


  • Bugfix: Changed tooltip class to be unique
  • Bugfix: Changed superscript styling to not manipulate the line height
  • Bugfix: Changed styling of the footnotes text in the reference container to avoid line breaks
  • Update: Reformatted code
  • Add: new settings tab for custom CSS settings


  • Bugfix: New styling of the mouse-over box to stay in screen (thanks to Jori, France and Manuel345, undisclosed location)


  • Bugfix: CSS stylesheets will only be added in FootNotes settings page, nowhere else (thanks to Piet Bos, China)
  • Bugfix: Styling of the reference container when the footnote text was too long (thanks to Willem Braak, undisclosed location)
  • Bugfix: Added a Link to the footnote text in the reference container back to the footnote index in the page content (thanks to Willem Braak, undisclosed location)


  • Bugfix: Removed ‘Warning output’ of Plugins activation and deactivation function (thanks to Piet Bos, China)
  • Bugfix: Added missing meta boxes parameter on Settings page (thanks to Piet Bos, China)
  • Bugfix: Removed Widget text formatting
  • Bugfix: Load default settings value of setting doesn’t exist yet (first usage)
  • Bugfix: Replacement of footnotes tag on public pages with html special characters in the content
  • Feature: Footnotes tag color is set to the default link color depending on the current Theme (thanks to Daniel Formo, Norway)


  • Bugfix: WYSIWYG editor and plain text editor buttons insert footnote short code correctly (also if defined like html tag)
  • Update: The admin can decide which “I love footnotes” text (or not text) will be displayed in the footer
  • Add: Buttons next to the reference label to expand/collapse the reference container if set to “collapse by default”
  • Bugfix: Replace footnote short code
  • Update: Combined buttons for the “collapse/expand” reference container


  • Bugfix: HowTo example will be displayed correctly if a user defined short code is set


  • Feature: New button in the WYSIWYG editor and in the plain text editor to easily implement the footnotes tag
  • Feature: Icon for the WYSIWYG-editor button
  • Feature: Pre defined footnote short codes
  • Experimental: User defined short code for defining footnotes
  • Experimental: Plugin Widget to define where the reference container should appear when set to “widget area”
  • Update: Moved footnotes ‘love’ settings to a separate container
  • Update: Translation for new settings and for the Widget description
  • Bugfix: Setting for the position of the “reference container” works for the options “footer”, “end of post” and “widget area”


  • Feature: Short code to not display the ‘love me’ slug on specific pages ( short code = [[no footnotes: love]] )
  • Update: Setting where the reference container appears on public pages can also be set to the widget area
  • Add: Link to the support page in the plugin main page
  • Update: Changed plugin URL from GitHub to WordPress
  • Bugfix: Uninstall function to really remove all settings done in the settings page
  • Bugfix: Load default settings after plugin is installed
  • Update: Translation for support link and new setting option
  • Add: Label to display the user the short code to not display the ‘love me’ slug


  • Update: Global styling for the public plugin name
  • Update: Easier usage of the public plugin name in translations
  • Update: New Layout for the settings page to group similar settings to get a better overview
  • Update: Display settings submit button only if there is at least 1 editable setting in the current tab
  • Add: Setting where the reference container appears on public pages (needs some corrections!)
  • Bugfix: Displays only one reference container in front of the footer on category pages


  • Bugfix: Uninstall function to delete all plugin settings
  • Bugfix: Counter style internal name in the reference container to correctly link to the right footnote on the page above
  • Bugfix: Footnote hover box styling to not wrap the footnote text on mouse over
  • Update: ‘footnotes love’ text in the page footer if the admin accepts it and set its default value to ‘no’


  • The Plugin has been submitted to for review and (hopefully) publication.
  • Update: Plugin description for public directories ( and GitHub)
  • Feature: the footnotes WordPress Plugin now has its very own CI
    • Update: Styling
    • Update: Settings to support the styling
  • Add: Inspirational Screenshots for further development
  • Add: Settings screenshot
  • Update: i18n fine-tuning


  • Update: replacing function when footnote is a link (bugfix)
  • Footnote hover box remains until cursor leaves footnote or hover box
  • Links in the footnote hover box are click able
  • Add: setting to allow footnotes on Summarized Posts
  • Add: setting to tell the world you’re using footnotes plugin
  • Add: setting for the counter style of the footnote index
    • Arabic Numbers (1, 2, 3, 4, 5, …)
    • Arabic Numbers leading 0 (01, 02, 03, 04, 05, …)
    • Latin Characters lower-case (a, b, c, d, e, …)
    • Latin Characters upper-case (A, B, C, D, E, …)
    • Roman Numerals (I, II, III, IV, V, …)
  • Add: a link to the WordPress plugin in the footer if the WP-admin accepts it
  • Update: translations for the new settings
  • Switch back the version numbering scheme to have 3 digits


  • Add: setting to use personal starting and ending tag for the footnotes
  • Update: translations for the new setting
  • Update: reading settings and fallback to default values (bugfix)


  • Add: setting to collapse the reference container by default
  • Add: link behind the footnotes to automatically jump to the reference container
  • Add: function to easy output input fields for the settings page
  • Update: translation for the new setting


  • Separated functions in different files for a better overview
  • Add: a version control to each file / class / function / variable
  • Add: layout for the settings menu, settings split in tabs and not a list-view
  • Update: Replacing footnotes in widget texts will show the reference container at the end of the page (bugfix)
  • Update: translations for EN and DE
  • Changed version number from 3 digits to 2 digits


  • First development Version of the Plugin