Sharing on Facebook
Sharing is a simple way of letting people bring content from your website or mobile app to Facebook. Sharing is triggered when someone clicks a social plugin like the Share or Send button. This launches the corresponding Share or Message dialog. You can also choose to design your own button to launch one of these dialogs or a custom sharing interface.
This document describes:
- The types of content people can share to Facebook
- Ways to enable sharing from your app
- How to optimize your content for sharing
The Sharing Ecosystem
Sharing on Facebook depends on a few core components:
URLs: In most cases, including sharing from mobile apps, your content is shared on Facebook as a link, whether it's an article, image, video, or something else
The Facebook Crawler: When someone shares your content, our crawler will scrape the page to render a preview on Facebook
Open Graph Tags: Adding Open Graph meta tags to the <head> of your web page HTML will provide the crawler with structured info like a title, description, and thumbnail image for the content
Sharing Interfaces: There are a few different end-user experiences you can choose from to let people share from your website or app to Facebook. Here's an overview of how it works:
| Button Trigger | Sharing Interface Launched | Publishing Behavior |
|---|---|---|
| Web: Share dialog Mobile: Fast-app switch to native Share dialog | Appears in Timeline and Activity Log. May appear in News Feed. |
Web: Message dialog Mobile: Fast-app switch to native Message dialog | Sent as a Facebook message | |
Custom Button | Can launch: Share dialog Message dialog Custom sharing interface | A custom sharing interface which follows the publishing behavior of the Share dialog. |
Content Types
People can share the following kinds of content to Facebook:
Links - Most content is a URL which references an HTML page. To provide the most relevant information, you should mark up your page with Facebook-specific meta tags. See A Guide to Sharing for Webmasters.
Photos - Directly upload one or more user-generated photos.
Videos - Directly upload a user-generated video.
Multimedia - Directly upload a combination of photos and videos.
Open Graph Stories - Use Open Graph actions and objects to create rich stories through a strongly-typed API.
App Links
You can link back to your app from the content people share in News Feed. App Links launch your app from shared content. You can even link to a specific context within your app.
Quote Sharing
You can implement two kinds of quote sharing in your app: user defined or publisher defined. User-defined quote sharing enables users to highlight text and share it. Publisher-defined quote sharing enables you to preselect text for sharing and place a share button next to it.
Hashtags
You can associate a hashtag with a shared link, photo, or video.
Ways to Share
We want to make it as easy and as flexible as possible for people to share content from your app with the audience they want. With these options, you can first choose the sharing experience for people using your app, and then choose an implementation method.
Choose from pre-built, default options to a fully native, fully custom experience, or somewhere in between - no matter what platform you're on.
Buttons
When you want the simplest sharing integration with Facebook, you should use buttons that trigger our dialogs. The Facebook SDKs provide buttons that you can use. None of these options requires you to implement Facebook Login.

Web
You can use Social Plugins such as the Like, Share and Send buttons. These are available for desktop and mobile web.
Mobile
We also have native Like, Share, and Send buttons for iOS and Android.
Custom
You can also create your own custom button to trigger a Like, Share or Send across all platforms.
Native Dialogs
When you use native Facebook dialogs you can enable sharing without adding Facebook Login. Like our native buttons, they offer out-of-the-box implementation.
Share Dialog
The Share Dialog is an easy way to let people share content without having them to log into your app or grant any permissions. It works on web, Android and iOS.

On mobile, when someone shares with the Share Dialog, the dialog makes a fast app-switch to the Facebook app on their device. We also have a web dialog as a fallback if someone doesn't have the native Facebook app installed.
Message Dialog
Use the Message dialog to let people privately share content to Messenger. Like the Share dialog, it's a native sharing component that doesn't require you to implement Facebook Login or request publish_actions permission.
The Message dialog enables people to share links, images and Open Graph stories. On mobile, someone must have the native Messenger app installed.
Custom Sharing Interface
If you want to customize the sharing experience for your website or app, you can create your own button to trigger our dialogs on all platforms, or you can use a custom button and a custom dialog that calls the Graph API.
To add a custom sharing dialog in your app, you have to implement Facebook Login. You also need to request the publish_actions permission, which requires Login Review.
Optimizing Your Content
Markup
It's important to mark up your website's HTML with Open Graph tags to manage how your content appears on Facebook. Without these tags, the Facebook crawler will do its best to identify content such as title, description, and image for your content.
Optimize your content for sharing to Facebook by adding Open Graph tags to the <head> of your page's HTML. These tags describe the content shared. This includes content type such as image, video, or article and any additional attributes.
Learn about tags you should include with your content in Markup for Sharing.
Updating URLs
If you move content to a new URL, the Likes, Shares, and Comments on that original URL won’t automatically migrate. To continue aggregating these actions at a new URL, you should point the Facebook crawler to the old page that represents the canonical URL for your content. Learn how in this doc for webmasters.



