Skip to content

Instantly share code, notes, and snippets.

Last active November 28, 2023 20:34
Star You must be signed in to star a gist
What would you like to do?
Embedded File Viewer: Google Drive, OneDrive

Office Web Apps Viewer

('.ppt' '.pptx' '.doc', '.docx', '.xls', '.xlsx')[OFFICE_FILE_URL]

<iframe src='[OFFICE_FILE_URL]' width='px' height='px' frameborder='0'>

OneDrive Embed Links


<iframe src="" width="402" height="327" frameborder="0" scrolling="no"></iframe>


<iframe src="" frameborder="0" scrolling="no" width="800" height="346"></iframe>

Google Docs Viewer

Only files under 25 MB can be previewed with the Google Drive viewer.

Google Drive viewer helps you preview over 16 different file types, listed below:

  • Image files (.JPEG, .PNG, .GIF, .TIFF, .BMP)
  • Video files (WebM, .MPEG4, .3GPP, .MOV, .AVI, .MPEGPS, .WMV, .FLV)
  • Text files (.TXT)
  • Markup/Code (.CSS, .HTML, .PHP, .C, .CPP, .H, .HPP, .JS)
  • Microsoft Word (.DOC and .DOCX)
  • Microsoft Excel (.XLS and .XLSX)
  • Microsoft PowerPoint (.PPT and .PPTX)
  • Adobe Portable Document Format (.PDF)
  • Apple Pages (.PAGES)
  • Adobe Illustrator (.AI)
  • Adobe Photoshop (.PSD)
  • Tagged Image File Format (.TIFF)
  • Autodesk AutoCad (.DXF)
  • Scalable Vector Graphics (.SVG)
  • PostScript (.EPS, .PS)
  • TrueType (.TTF)
  • XML Paper Specification (.XPS)
  • Archive file types (.ZIP and .RAR)

Google Docs Viewer (Apps)[DOMINIO]/viewer?url=[FILE_URL]

Google Docs Viewer[DOMINIO]/viewer?url=[FILE_URL]

Google Drive


<iframe src=";headers=true" style="width:100%;height:100%;"></iframe>

Embedded File Viewer

Google Docs offers an undocumented feature that lets you embed PDF files and PowerPoint presentations in a web page. The files don't have to be uploaded to Google Docs, but they need to be available online.

Google Drive Viewer: Explicit PDF files

<iframe src="" style="width:600px; height:500px;" frameborder="0"></iframe>
<iframe src="" frameborder="0"></iframe>

Google Drive Viewer: Non-PDF files (fileviewer URL)

To view Google Drive docs from fileviewer links, use the file ID as the srcid attribute in the iframe.

The file ID for your PDF (one that is already in Google Drive) can be found in the PDFs web address. When you open a PDF, it’s the garbage-looking piece of the URL (it will be between forward-slashes, “/”).

The file ID is highlighted in yellow.

In this case it’s the 0B3xoQi_oa7_hU2J5S1RQbFdqS3c







<iframe src="[put your file id here]&pid=explorer&efh=false&a=v&chrome=false&embedded=true" width="580px" height="480px"></iframe>



Copy link

NaveenDA commented Jan 5, 2023

@NaveenDA: Sure.
To be honest, I don´t think there is a "temporary" when it comes to Google. The just ingest everything we give them and use it for training models, etc. The thing is: there is no T&C for the Google Docs Viewer. You can use it without signing any form of agreement with Google. Means they can do pretty much whatever they want with the documents. At least in the boundaries of the regulation and law they are working under (US law as far as I know). But that doesn´t mean the Docs Viewer can´t be used. I would just mitigate liabilities when it comes to using this for 3rd party documents, eg user content. You can always ask the user before displaying his documents in the Google Viewer. At least here in the EU under the GDPR regulation that would be the safe way to go.

This is a great note - beware of using this solution if your're handling PII in your application. It's a bit concerning, even the widely popular chrome extension uses this server-side data passing to Google. What Google does with the data parsed through this viewer no one knows...

@neilmenon I totally agree, we should beware.

Copy link

seanhurwitz commented Jan 27, 2023

@fabianareisantos: Hi, is there a way to increase the limit of 25mb?

Also wondering. did you get any help here?

Copy link

Since the Labnol link in the document seems to be a 404, I think this new link from Labnol will be a huge help for anyone using the Google Docs:

Copy link

Thanks for sharing @jesseagleboy we all appreciate any improvements to our knowledge base

Copy link

thaotp commented May 12, 2023

Thank you for sharing.
Can I use those URLs for commercial purposes?

Copy link

perelin commented May 12, 2023

@thaotp A lot of people using these tools, especially Google Docs Viewer, in their commercial applications. Google at least does not offer any dedicates Term&Conditions, which makes it a bit of a legal greyish area. Be aware: using these tools means sending data to the respective companies (Google, Microsoft), so be careful with user-related/-generated data, especially if you are under a privacy legislation such as GDPR.

Copy link

Anyone know if there is a way with the google doc viewer to set the language in the url?

Copy link

thaotp commented May 15, 2023

especially Google Docs Viewer, in their commercial applications

Thank you for your answer.
But could you show me some commercial applications which you've mentioned above?

Copy link

perelin commented May 15, 2023

@thaotp I remember seeing it in a GDPR compliance tool I was using some time ago. These guys also use it:

Copy link

Is there any limitation for embeding a file by google viewer?

<iframe src="" 
  style="width:600px; height:500px;" frameborder="0"></iframe>


<iframe src="" 
  style="width:600px; height:500px;" frameborder="0"></iframe>

randomly stop loading, but after realod again load the iframe.
If you set an iframe and refresh the page for some times, after 2-4-6 any posibility then suddenlty stop from loading the iframe, and again refersh then it is loading.

Is there any limiation or setting to set?

Copy link

devsideal commented Aug 19, 2023

Any one know how to view pdf with multiple pram like:

pdfUrl = "https://sadgh.invoicepdf?id=123&charges=12.4";
completeUrl = "${pdfUrl}"

I'm expecting the completeUrl should able to view pdf with requested parameter id and charges, But its not working
However the pdfUrl is able to generate pdf file with given param.

Copy link

The file I have saved with the name How do I set a readable name (and extension) in the viewer? Maybe you need to specify an attribute in the viewer's address?

Copy link

LazZiya commented Sep 5, 2023

Any idea how to embed the viewer so it switch between multiple files while in full screen mode? same as attachments in gmail...

Copy link

panwaranuj01 commented Oct 23, 2023

I'm getting csp error

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'report-sample' 'nonce-xBproPZJNJgeAtDdKA4_bw' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval'". Note that 'unsafe-inline' is ignored if either a hash or nonce value is present in the source list.
<iframe src="" style="width:600px; height:500px;" frameborder="0"></iframe>

Can anyone help please

Copy link

I'm getting csp error

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'report-sample' 'nonce-xBproPZJNJgeAtDdKA4_bw' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval'". Note that 'unsafe-inline' is ignored if either a hash or nonce value is present in the source list.
<iframe src="" style="width:600px; height:500px;" frameborder="0"></iframe>

Can anyone help please

I am also getting the same error, did you find any solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment