Can a PDF file be directly viewed on a Webflow website without downloading it?

TL;DR
  • Upload the PDF to Webflow’s Asset Manager or an external host and get the direct file URL.  
  • Use an Embed element with an iframe pointing to the PDF URL or Google Docs Viewer for best compatibility.

Yes, a PDF file can be directly viewed on a Webflow website, but Webflow does not have a native PDF viewer, so you'll need to embed a third-party PDF viewer using an iframe or embed element.

1. Upload the PDF to Webflow or External Hosting  

  • Webflow Hosting: Upload the PDF to your Webflow Asset Manager. This gives you a direct URL to the file (e.g., https://cdn.prod.website-files.com/.../yourfile.pdf).
  • External Hosting: Alternatively, use a reliable cloud service (like Google Drive, Dropbox, or your own server) to host the PDF, and obtain a public file link.

2. Use an Embed Element with iframe  

  • Drag an Embed component onto your Webflow page.
  • Inside the Embed settings, insert an iframe that links to your PDF file, using Google’s PDF viewer:

  Example (replace with your file URL):

  <iframe src="https://docs.google.com/gview?url=https://yourdomain.com/path-to-file.pdf&embedded=true" width="100%" height="600px" frameborder="0"></iframe>

  • Alternatively, you can use a direct iframe source like:

  src="https://example.com/file.pdf"  

  But this only works reliably if your hosting server supports in-browser PDF rendering and has proper MIME types configured.

3. Consider Google Drive or PDF.js for More Control  

  • Google Drive: Upload the PDF to Google Drive, set it to public, and use the Google Docs Viewer iframe method.
  • PDF.js Library: For advanced use, you can host the open-source PDF.js viewer somewhere and embed it via iframe, but this requires external hosting.

Summary  

You can display a PDF directly on your Webflow site using an Embed element with an iframe pointing to the file’s URL. Use the Google Docs Viewer for maximum compatibility. Webflow doesn’t natively render PDFs in-page, so embedding via iframe is the best current method.

Rate this answer

Other Webflow Questions