All of the methods of sharing Power BI files in the Power BI Service (such as dashboard sharing, workspaces, Apps, etc.) need paying power bi subscriptions for consuming reports. Users need to be either Power BI Pro or free accounts under Power BI premium capacity. The “Publish to web” is the only way of sharing Power BI content through the service for free. Yes, you read that right; with this method, you can share Power BI content with users who don’t have a Power BI account.
Publish to the web is an easy way of sharing public data. However, it has some disadvantages as well. In this article and video, you will learn about this feature in more detail, and you will learn this feature is, and how it is different from Power BI Embedded. It will be a very long article if you want to learn about both Power BI Embedded and Publish to the web and compare them here. So in this article, I’ll explain Publish to Web, and in another article, you’ll learn about Power BI embedded and their differences. In this article, you will learn how easy it is to share your report with the public through a web page which can be your blog post, an HTML page, or any other web page. Some frequently asked questions about this feature are answered through the content of this article. If you like to learn more about Power BI, read Power BI online book, from Rookie to Rock Star.
Video
What is Publish to Web?
Once you publish your Power BI report into Power BI Service, you can share it with others by sharing it directly or in workspaces in Power BI. What if you want to share it with the public through the web? Let’s say you want everyone to see the report and play with it (with all your interactive features in Power BI). The answer is; to use Publish to web. Publish to web allows you to create an embedded code for the Power BI report and use that code on a web page. This simple feature will enable everyone to access the report. They won’t be able to edit the report, but they will see the report, and the report will be fully interactive for them so they can highlight items, select slicers, and drill down.
How to Do It?
Using this feature is very simple. You must first deploy or publish the report into the Power BI website or service. And there, click on the report (not the dashboard). Once you open the report, click on the File menu option, and under Embed report, choose to Publish to Web.
Then you will be informed about this feature in a message box that mentions this step will create a link and embed code for you to share with the world through a website or even email. Click on Create embed code below.
Because this is all about sharing a report and the data in the report, you will be informed again to check the confidentiality of the data and report and make sure you are sharing content that is not harmful to the organization or someone when it is viewable for the public.
After clicking on Publish above, you will see the embed code plus a link to share through email if you want. You can also choose the size of the screen for the embed code.
You can now browse the link to see the report in a browser, even if you open it in Incognito (or Private) mode.
To browse the report, you don’t need to log in to the Power BI service. Users, to view this report, won’t need anything. The report is fully interactive; users can highlight, select or deselect items.
You can also use the embed code and add it to your HTML page, blog post, or wherever you want them to see the report. Here is I embedded my code;
And after adding the embed code full interactive report will be visible on my page like this:
Security Thoughts?
What You Share is for Everyone!
The first thing you might think of is usually security. How can you manage security on this? The short answer is there is no security here. The report is shared through the web or email with EVERYONE. So everyone who has the link or embeds code can access the report. They cannot edit it. But they can view it with no restrictions.
Users can share it with others!
A report published on the web has a share section at the right-bottom hand-side. Everyone can share this report with anyone else through all social media channels; Facebook, Twitter, and LinkedIn sharing the link directly! This method of sharing is not secure. I only recommend sharing the data you want to publish a public report on your company or organization’s website.
The report is PUBLIC. Not only to those with the Link
Yes, you read it right. This report is not shared only with those with the link. It is shared globally on the internet. A search engine such as Google can search for a report. All the reports with Publish to web links are available there. here is an example of the search result from Google;
You must double-check that the report and data don’t reveal confidential information.
All Report Pages Are Visible
If you have a report with 10+ pages, it will be visible to browsers. You can not limit which pages you want to show and which you don’t. For example, the above report has more than one page, and you can view it. I recommend creating different reports if you want to restrict some pages and share them separately.
What If the report has Row-Level Security applied?
If you have a report with the Row-Level security applied to it, you won’t be able to create a “Publish to web” link. The below screenshot is an example of such a case.
All Report Pages Are Visible
If you have a report with multiple pages, it will be visible to browsers. You can not limit which pages you want to show and which you don’t. For example, the above report has more than one page, and you can view it. I recommend creating different reports if you want to restrict some pages and share them separately.
Publish to Web is only recommended for public data sharing in your organization website with the public. There is no security option for Publish to Web; this method should not be used for reports of the confidential data of businesses.
Link or Embed code is Synchronized with the Report
If you make any changes to the report, all changes will be synchronized because links or embed codes are just references to this report. So People will always see the latest version of your report. If you also want to keep the report up-to-date, you can schedule it for data refresh.
Removing the Access is Easy!
If for some reason, you want to revoke access for everyone to the report, you can do it quickly. Go to the Power BI service, and under Settings, click on Manage Embed Codes.
You will see the embed code created here and can delete it. It is essential which workspace you are in because the list of public reports will be only those from that workspace.
Once you delete the embed code, no one can access this report from the public web. You will see a notification message about it.
If you go ahead and delete the embed code, the link and the embed code will show a message to public web users that this content is not available.
Central Monitoring for all Embed Codes
Publish to the web seems a frustrating option with all the security holes. There is a need for an administration page to manage all embed codes there across the Power BI tenant. There is a place the Power BI tenant administrator can find all reports that are published to the web, and you can remove those from being published to the web.
To go to the admin portal, click on the setting icon in the Power BI service, and then go to Admin Portal. Click on Embed Codes on the left-hand side, and you will see all embed codes published by anyone from your organization.
There are two options for each report published to the web: to view the published report or delete it. Once you delete it, no one can use the published web link.
Who can publish the reports on the web?
Power BI tenant administrator can turn off the Publish to web feature entirely or only authorize it for a specific group of users. I highly recommend using this setting and either turning it off entirely or just enabling it for a group of users from the BI or data analytics team who know all the security problems of this method. Do not turn on this feature for the entire organization. This configuration is under Tenant Settings.
Difference with Other Sharing Methods?
You can share your dashboards and reports with people in your organization. This feature also gives you a link to the report. However, It is different from the public link. Here are some differences between sharing dashboard and public link;
- Only those who have access to the dashboard will see the content. The dashboard link shared with the public won’t show anything if they are not authorized to see it.
- Users will need to have Power BI accounts.
- Power BI Workspace or App is For Authorized groups of users inside or outside of Your Organization, not for everyone!
- Power BI Embedded is different from Publish to Web
Only those who have access to the dashboard will see the content
Once you share a report, you can choose who has access to see it based on their Power BI accounts. If they don’t have a Power BI account or they don’t have access to that content, they won’t see the content.
Dashboard link Works Only for Authorized Users
Despite having the dashboard link available, Only authorized users can see the content when browsing the link. Otherwise, they will see a message that says they don’t have permission to view this dashboard.
Power BI Workspace or App is for authorized groups of users inside or outside of your organization, not for everyone!
You can share dashboards, reports, and data sets with your organization’s workspace. And users will have access to all content shared or part of it (using the audience settings in the Power BI App). However, with Publish to web, any users who have access to the page will see the report, regardless of having a Power BI account.
Public Access or Organizational Sharing
Last but not least, the difference between publishing to the web and other sharing methods is about giving public access or sharing content through the organization.
With Sharing dashboards or using Power BI workspaces and apps, you can share content with other users. These users SHOULD BE Power BI users; they cannot access content anonymously. They must log in to the Power BI service to access the content.
With Publish to web, EVERYONE access the report even if they don’t have a Power BI account. They don’t need to log in. They can browse the page that contains Power BI embed code with no restriction on viewing the report.
Power BI Embedded is Different from Publish to Web
Power BI Embedded brings Power BI into applications. Yes, you can share your Power BI report through an application with API Keys. And you share the report with application users, even if they don’t have Power BI accounts. However, you are much more flexible here. You can choose which reports you want to share with which users in the application. Power BI Embedded is how to bring the Power BI experience into an application with security configuration enabled for users. Power BI Embedded is fully secured in a custom application, but the public reports are not.
Publish to Web is not secure, free way of sharing, and is for the public. Power BI embedded is secure, paid service, and for specific people that you authorize them.
Summary
In summary, Publishing to the web is the only free way of sharing Power BI content. This method of sharing doesn’t have any security bound to it. As soon as you publish a report to the web, anyone with that link can access the report and the data. This method of sharing is easy. However, it is not recommended for confidential data. This method is a reasonable option if you want to share some public reports on your company’s public website.
Publish to the web is entirely different from Power BI Embedded or Secure Embed; these methods should not be considered the same.
Other sharing methods are explained below.
- Dashboard or Report Sharing
- Sharing through workspaces
- Apps
- Embed Code
- Publish to Web (This article)
- Sharing through SharePoint Online
- Power BI Embedded
- Comparing Sharing methods in Power BI
How can I remove those sharing in social network buttons, like you removed in yours?
Thanks in advance,
my screenshot is old. that time there was no such thing. there is no option to disable that. you can disable the whole Publish to Web feature in Admin tenant settings if you want.
Cheers
Reza
Hey Reza!
I have not been able to find a specific answer to my questions anywhere, so I thought I would try here 🙂 Everything I google leads to official microsoft pages with no real answer.
When publishing to web, how do outside people see the report?
I don’t mean people in other organizations, but simply random internet users.
I understand that you need to share the link or use the embed code, but how do outside people see it then? It should be public to everyone, right?
Do they HAVE to have the link sent to them, or can they access it publically on a site somewhere, regardless of who I send the link to?
I have not been able to find any other person’s public report online, so it is confusing that they say it’s public and not secure.
Thank you in advance!
Hi Troels,
others need to have the link to the page that this Power BI report is embedded to it. without the link they cannot open it. but if they have the link, then they can share it with others too. and everyone who has the link can see the content. There is no other websites that has list of all Power BI contents published to web in it as a directory.
Cheers
Reza
User SHOULD NOT require to Sign In to view chart published to web!
I have powerbi pro (trial w/ full features allegedly claimed by MSFT) and after I publish my chart to the web (my own site, with embed code, when viewed by non-PBI users, they’re still asked to sign in! This is a deal-breaker for us as we need an easy way to share our PBI charts on a public web site and I thought PBI would allow that. I can only publish via PBI Service app (not the desktop version as it doesn’t have that option for me) and it publishes but I cannot expect my users to have any account or download anything to view the chart. Is this possible? Or does Tableau and Caspio simpler process here? (Making a decision on purchase soon)
Hi Tony
There is a difference between Publish to Web and Embed in a website. the first one, is for the usage of everyone, no login needed, where the second one requires the login.
Cheers
Reza
Hi Reza,
While choosing Publish to Web option, it ask me to “Contact your admin to enable embed code creation”. Now, this is an individual account and I don’t see any option in Admin Portal. Plz help.
Regards,
Ajay
please read my post here to learn about that.
Cheers
Reza
Hi Reza. Thanks for the explanation. Question: When publishing a report to the Web. Is it correct that only those you send the link to can view/use the report?. Is the only security issue in publishing your report to the Web that those who receive your web link re-share the report?. So if I only send the link to one person and ask for their confidence in using the report and not sharing the link, it should be a secure way to share with someone outside an organization.
Many thanks
John
Hi John,
Correct. If you really confident that the audience is not sharing the link, then you can go ahead with that. I usually don’t risk it myself however 😉
Cheers
Reza
Hi Reza.
Would you be able to tell me if it is possible to hide the entire bottom bar including Power BI logo?
Thanks
Omar
Hi Omar,
I’ve heard that this is possible. However, I don’t know how, it should be possible with JavaScript code. However, I still don’t recommend it, because It won’t stop people from right click on the page and view source and then share the code and report obviously with others
Cheers
Reza
Hello Reza
I want to able to publish the whole power bi dashboard and all contents is this possible
Hi Shaveer,
for publishing a whole dashboard and the content, you can use other methods, such as Dashboard Sharing, Workspaces, or Apps
Cheers
Reza
Hi Reza, is it correct that this option to Publish to Web has been removed from March 2018 Update? Also can you clarify which and if any paid license is needed to view a report when published to Sharepoint Online?? And is there any different in publishing to SPO and to Sharepoint on-prem ??
Hi Jaroslav
Publish to Web is still available. I don’t think it be removed any time soon as far as I know.
For embedding in SharePoint Online you need to follow Power BI Pro or Premium licensing. means you can only share with people who has Pro licenses, or they have free account which is part of a premium capacity.
The difference with SharePoint on-prem is that there is no functionality to embed in sharePoint on-prem like online. means you have to use Power BI Embedded, which comes on a totally different licensing patterns.
Cheers
Reza
Thanks! So there is no way besides exorbitantly expensive “Power BI Embedded” to show a Power BI report to a particular Azure AD B2B user that is logged into my page? Either I have an open report that anybody can access or I have to pay for “Embedded” or the user must be a registered Pro user? Can you confirm, or is there a way to simply “pay as I go” and let my Azure AD B2B users access data (in blobs for example) via a Power BI report that I set up. Thanks for any tips (… using .NET-Core MVC6 in Azure)
Hi Richard
There are two ways to leverage Power BI Embedded; With a token (which required embedded licensing), and without a token (which required users to have Power BI pro accounts). you can use any of these.
Cheers
Reza
Hy,
Can Q&A Feature be used for public sharing? If yes how?
Hi Giovanni
The Q&A feature doesn’t work with Publish to web, but it works with Power BI Embedded
CHeers
Reza
HI,
How can we Identifying reports published to web,, how can we Monitoring reports published to web and what are Inventory of Reports in Power BI.
Thanks
Shiva
You can get the list of all reports published to web in your account, settings, manage embed codes
also, a Power BI administrator can find all reports published of the tenant, under Admin Panel, Embed Codes.
Cheers
Reza
My reports don’t have Publish to web, what would cause this?
There might be some reasons for that. For example, if you hare Row Level Security implemented in your report, then you won’t have the option of “Publish to web”
Cheers
Reza
Then why the report that I share via public sharing, are not shown in the setting > manage embed codes!!!
I need to delete some of them, but the list of embed codes are empty
Hello!!?!
There are two ways to see your shared codes;
One is through the setting > manage embed code. This way only shows the embed codes in the current workspace. So, if you don’t see anything, means you are in the wrong workspace.
second: is to see ALL embed codes in the tenant. for that, you need to have Power BI Administrator tole, then under Admin Portal, Embed Codes. For this doesn’t matter which workspace you are in.
Hi,
My doubt is, on website(link mentioned below) :
https://docs.microsoft.com/en-us/power-bi/service-publish-to-web
Under 3rd point there is a screenshot which say “Microsoft may display the report on a public website or gallery”. Is this true they really can use my reports ?
Hi Vishal,
I don’t think Microsoft uses that link without asking from you.
however, my question to you is that: if you are worried about someone having the link, then why using this method at all? this method is useful when you are not worried about the content shared. If you want a secure method, why not trying secure embed or any other methods of sharing?!
Cheers
Reza
Hello!
My company O365 license expired, and my account deleted, but the published reports is already on the web. Can you help me, how can i delete it?
Sorry my bad english. 🙂
Thanks,
Peter
Hi Peter.
Unfortunately I am not the best person to do anything about it, as I don’t have access to your tenant. Best would be contacting Microsoft support contact center
Cheers
Reza
Dear Reza,
Using publish to web, if the data is changed, will our report is applied the change? Support I have created a report in Power BI connected to a data source, then publish that report to the web. My college got iframe code from me (generated from Publish to Web) and embed in his blog. If there is some change to the record in the data source. Does the report in his bog, reflect the change?
Regards,
Veasna
Yes, if the report or data changes, it will be visible in the Publish to web too. However, it might not be instant, it might take a few hours based on my experience.
Hello Reza great post
I have a question when i select the option publish in the web shows me the two options:
1 the link for share
2 embed the code
But when i open that link is show me a mesage:
“this content is not available”
and the same if i embed the code in a web page,
i think maybe i am doing something wrong,
but when i see your example, you have embed a power bi for share with everyone in the tutorial and i see the same message “this content is not available” maybe microsoft disable that option or have a bug
You are facing the same error ???
Hi Ricardo
Good catch! I mistakenly removed the publish to web code of this report embedded here while ago, and that is why this was saying “this content is not available”. Thanks to your finding, it is now fixed. I put the link of another report.
Same scenario for you: if you use Publish to web, and put the code anywhere, you SHOULD be able to access to it. Unless you or someone (admin of Power BI tenant) removes the link to publish to web of that report. otherwise, it would be available.
CHeers
Reza
Reza thanks for anwer,
i am with Project Online Content pack for Power Bi,
its very rare because if i create a link with the publish in web option shows me “this content is not available”
but if i select the option insert secure option and generate the link shows me correctly the report, i am trying to do that because i only have one pro license and the users who see the report only have the free licence
do you have a clue what i am doing wrong?
Hi Ricardo;
there are a few things.
Firstly; when you use Publish to web, sometimes you have to wait for a few hours to get the output visible. (I guess you already waited that long, so let’s go to the second)
Second: some datasets doesn’t support publishing to web. for example, a dataset with row-level security enabled, won’t allow you to have publish to web. You are using a dataset of Project Online content pack, which might have limitation for publishing to web. When you use Secure embed, because it uses the user license, it would work.
So my guess is that the project online content pack won’t support this feature for now.
Cheers
Reza
Hi Reza
Thanks for this good article.
My doubt is if we have setup a mobile view and we share the report through ‘Publish to Web’, how can the person viewing the report on a smartphone see the mobile view automatically?
Publish to web can’t be seen through the mobile app of Power BI. it opens just in the browser, so it would be desktop view
Cheers
Reza
Thank you for the clarification.
Did they take away the publish to wed feature? I see it for my past reports but my new one doesn’t have it, why?
Publish to web is still there. in the new look, you need to click on ellipsis button, then under embed, you will find Publish to Web.
Hi Reza
I have changed the settings under Admin and published to the Web. It is supposed to be available within an hour or so but I published it yesterday and it is still not available.
Are you aware of any problems? Where can I log a call?
My Embed Code is https://app.powerbi.com/view?r=eyJrIjoiN2VkOTZlZTUtOTdiNC00NDI5LTgxNWEtOTliNzJmZWE4NDA0IiwidCI6IjFiYWZkMGRiLTU3MjgtNDJmOC05ZjliLTYzNzY4Mzg5ZmQ5MSIsImMiOjl9
Many thanks
Hi Hannes
Have you set this setting correctly too?
Cheers
Reza
Hi Reza,
The article is great, Thanks for posting them. I am a newbie to PowerBI.
I have a question. If I refresh data in a report, do I need to re-publish the report again and then only users will see updated values? If yes, then is there a way to auto-publish whenever report is refreshed?
I am trying to avoid manual intervention of re-publishing here.
Thanks,
Snehal
Hi Snehal
The right way of doing it is to publish it once, and then in the service schedule it to refresh. you won’t need to do anything manual then.
Cheers
Reza
Hi Everyone, |
Trying to publish my reports to the web. But unfortunately on my ‘Admin Portal’ i cant see the Tenant part where you allow for embeding.
I’m using Trial Power BI. Could that be reason?
that means your account is not the Power BI Tenant Admin. you need to find the person in your organization who is the admin
Cheers
Reza
Hi Raza, I have a free power bi desktop license, can I share a dashboard as a link so that it can be viewed by anyone clicking that link (no Microsoft account needed by the user)
You need to have Pro account. Free account is not for sharing. If you have Pro account, then you can produce a link using Publish to web for free users
Cheers
Reza
I got an public web report, how can i see/add this report in power BI App (smarthphone) or my service page?
You cannot see Publish to Web reports through the Power BI Mobile app. you can only see them through the browser.
If you want to see the report through the mobile app, then you need to have organizational access to the report
Cheers
Reza
Dear Mr. Reza Rad,
Enjoying your tutorial video and articles for couple of weeks just. Found power bi interesting! By the way how many publish to web links can be created with a Pro license? And, Can GB size be increased in a single Pro license?
Thanks in advance.
Best wishes, Raj
Thanks
You can use as many as “Publish to Web”s you want. each Pro account right now has a limit of 10GB. I am not aware of any change coming to that size in the future
Cheers
Reza
+ to clearify business need
I plan to use exclusively publicly available data, but would prefer not to share all the hard work in the back end (DB modelling, transformations, relationships… structuring data etc.) at this moment.
Thanks x2 🙂
Hi Verdan
The publish to web option doesn’t share your PBIX file or the data model. it just reveals the visualization and the data
Cheers
Reza
Hello mr Reza Rad, Thank you for this tutorial. I am a PowerBI PRO user and admin of PowerBI. However, when I try to switch on the Publish to Web option (via Admin/ Tenant settings), it doesn’t work. The whole option is greyed out. Do you have any idea what might be wrong?
Do you have a screenshot you can share?
Hello reza,
i have a question i did not have the answer to in any other place.
once i made the “publish to web (public)” stage and i have the HTML code and the code how can i use it in a linkedin post or a facebook post. obviously i tried to paste the code into a linkedin/facebook code and it did not work.
so my question is how do i make it work so pepole can see it embedded on the post.
hope you can solve me this unsolved problem
Thanks in advance, Rami Benhamo | Israel.
Hi Rami
You can embed it anywhere that you can embed an HTML code. In LinkedIn you have a place to enter text, but not HTML code.
Hi Reza,
We want publish embedder report to public/internal web. Can we do it with Power BI Pro lincence. Thank you.
It depends on which method you use. with some methods, yes you can use Power BI Pro, but then users also need to have Power BI Pro, Embed in a web application using code explained here that can work that way.
Cheers
Reza