Embed PDF Viewer


Embed a PDF from the Media Library or elsewhere via oEmbed into an object tag or Google Doc Viewer as fallback. The URL only has to be reachable link.

Inspired by Embed PDF and RV Embed PDF.

Development on GitHub. Pull requests are welcome against the develop branch.


Lacks features

This plugin works, but… THE PDF FILE CANNOT BE DOWNLOADED. This plugin uses Google Docs to embed PDF files instead of the browser’s native PDF JavaScript code. There are no settings page to at least be able to change the size of the embed.

Great Plugin

I love this plugin because it is so user friendly. There is any configuration what so ever. All I had to do is provide the URL of my document. Great Job!!!!!!

Amazingly simple and useful

I will admit I did not try any of the other PDF embed plugins, but that’s because I did not need to.

This little piece of code did everything I needed. Nothing to configure, just paste in the link to your PDF.

And it works on mobile!

Thank you.

Read all 3 reviews

Contributors & Developers

“Embed PDF Viewer” is open source software. The following people have contributed to this plugin.


Translate “Embed PDF Viewer” into your language.

Interested in development?

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


1.6.1 / 2018-11-25

  • properly initialize load_plugin_textdomain()

1.6.0 / 2018-07-22

  • added filter embed_pdf_viewer_pdf_attributes
  • updated readme.txt to include Requires PHP header
  • added paragraph tag around link to PDF

1.5.0 / 2016-12-17

  • added CSS to fallback to iframe on iOS as object isn’t scrollable 😛


  • switch to using object tag, with iframe as fallback display method


  • inserting anything other than PDF from Media Library now works as expected.


  • fixed a couple of PHP warnings


  • inserting a PDF from the Media Library now simply inserts the URL for oEmbed
  • oEmbed a PDF from any source


  • simplify instance() just a little more


  • rename instance variable to $instance and make private
  • update DocBlocks
  • ensure $atts is an array


  • bugfix for not returning media item when not PDF, Bad Andy 🙁


  • add to DocBlocks


  • refactor to put embed code in one function
  • add assets


  • initial commit