Basic use

To embed a PDF you’ve uploaded to your WordPress site’s media
library, simply put the URL for the attachment page in your
post on its own line. The PDF will be embedded with the
default settings at that location, as if it were using oEmbed.


Post short URL:


Attachment default URL:


Attachment pretty URL:


Media direct URL:


This doesn’t work for PDFs hosted on other websites, or if you
need to change the parameters.

Using the [pdf] shorttag

If the PDF isn’t in your WordPress site’s media library, or if
you want to customize any parameters for the embed, then use
the [pdf]...[/pdf] shorttag. Between the tags, you’ll provide
the URL for the PDF to embed. If the PDF is in your WordPress
site’s media library, you can either give the attachment page
URL, or the URL to the PDF file directly.

The [pdf] shorttag accepts several optional parameters:

  • width – sets the width of the frame the PDF is embedded in.
    By default, this is set to 100%.
  • height – sets the height of the frame the PDF is embedded
    in. By default, this is unset.
  • title – sets the title of the PDF, for use in the fallback
    link text.
  • open_params – sets the PDF open params
    which control how the PDF file is displayed in the embed frame.
    These are poorly supported in browsers.


Post short URL: [pdf width="200px"]http://localhost/?p=9[/pdf]
Attachment default URL: [pdf height="500em"]http://localhost/?attachment_id=9[/pdf]
Attachment pretty URL: [pdf title="Report 1"]http://localhost/test/report1/[/pdf]
Media direct URL: [pdf]http://localhost/wp-content/uploads/2013/11/report1.pdf[/pdf]
Change PDF open params: [pdf open_params="page=10&view=Fit"]http://localhost/?p=9[/pdf]


The PDF should be embedded in the page, with the document scaled so it fills the
embed frame horizontally. Unfortunately, embedding PDFs is not well-supported.

Auto-loading embedded PDFs

Unlike with images, web browsers may not automatically download and display
embedded PDFs when the page is loaded. For security reasons, some users prefer
not to allow the PDF plugin to run unless they trust the website the PDF comes
from. This generally leaves a grey rectangle that the user may click on to allow
the PDF to be downloaded and displayed.

PDF open parameters

As of v0.0.8, you can set the PDF open parameters
by setting open_params in the shortcode, as shown above. This is unlikely to actually
anything, since PDF open parameters are poorly supported in browsers. But you can try!
Provide the parameters as a query string: page=1&view=Fit. Refer to the Adobe
documentation on what parameters are available.


The PDF should be scaled/zoomed within the embed frame so that the full
horizontal width of the paper fills the frame. This is not
Chrome’s default PDF viewer, so the document will probably be scaled to 100%,
which may either mean the document doesn’t fill the frame, or, more likely, the
document is too wide for the frame, and the right-hand side of the document is

Internet Explorer

Internet Explorer requires a PDF plugin to render embedded PDFs. Generally,
that’s Adobe Reader. Without such a plugin, the fallback download link will be

Mobile browsers

In particular, mobile browsers may show a grey box instead of the embedded PDF,
and will download the file when it is clicked. Other mobile browsers might embed
the PDF, but won’t allow it to scroll.


Your best alternative is to not embed PDFs. PDFs are bad for many reasons:
not easily indexed by search engines, not easily accessible by readers who use
assistive technologies, poorly supported by web browsers (as seen above) and so
on. They’re just bad and you should avoid embedding PDFs if you can.

If you really can’t, then you might consider using another solution like or PDF.js.



  1. Upload vanilla-pdf-embed.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the “Plugins” menu in the WordPress admin panel


Absolutely Perfect

Best free PDF plugin you can get. Has exactly what you need:

-inputtable pdf
-easy navigation
-download/save options
-flawlessly embeds PDF,


Does the job

Using Twenty Twelve theme, I made a few adjustments to attachment templates, but works great overall.

Read all 29 reviews

Contributors & Developers

“vanilla-pdf-embed” is open source software. The following people have contributed to this plugin.




  • Add the ability to set PDF open params


  • Fix a couple corner cases – thanks AngelinaBelle!


  • Set a default height of 500em


  • Fix a simple programming error; thanks to firedog341 for the report


  • By default, use a 100% width embed frame
  • Expanded readme


  • Embed PDFs on attachment pages
  • Fix a spacing issue for PDFs with no title
  • Don’t use PDF open parameters for the fallback link


  • Don’t embed non-PDFs from the media library


  • Initial release