# How to post a PDF carousel on LinkedIn

A LinkedIn carousel is a **document post**: one PDF, shown as pages people move through in the feed. Make every slide
the same size, export them as one PDF, then select **Start a post → More → Add a document**, give the document a title
and post it. That's all a "carousel" is outside LinkedIn ads.

**Checked on October 27, 2026.** [LinkedIn's help and API documentation](#sources) are linked below.

## A carousel is one PDF, not several photos

LinkedIn's [document help](https://www.linkedin.com/help/linkedin/answer/a518909) lets you add a document to a post
from your homepage, a Group or a LinkedIn Page. It accepts PDF, PPT, PPTX, DOC and DOCX, and recommends converting to
PDF "whenever possible to ensure the highest quality upload". A PDF you made yourself is the version you've seen.

Three things get called a LinkedIn carousel, and only one of them is this:

- **A document post** is the swipeable carousel: one file, a page per slide, from your profile, a Group or a Page.
- **A multi-photo post** is several photos in one post, not a document. The API calls it MultiImage.
- **A carousel ad** is a sponsored format. LinkedIn's [Posts API](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/posts-api?view=li-lms-2026-10)
  lists "Carousels" as sponsored only: "Organic carousel is currently not supported."

Check the file before you post it. LinkedIn's help says you can edit the post's description or remove the post
afterwards, "but you can't change or edit the document in the post". A typo on slide 6 means deleting and posting
again.

## Page size and shape

LinkedIn's help sets one rule: "PDFs with multiple sized pages must be fit to the same page size." Pick one shape and
use it for every page.

It doesn't name a pixel size for document posts. Its [document ads design recommendations](https://business.linkedin.com/marketing-solutions/success/ads-guide/document-ads)
list vertical, horizontal and square shapes, and standard paper layouts such as Letter (8.5 × 11 inches) and A4
(8.27 × 11.69 inches). These are ad recommendations, not required sizes for ordinary document posts.

Flaghand's slide exports use portrait **4:5, 1080 × 1350 pixels**,
square 1:1 (1080 × 1080) or wide 16:9 (1080 × 608) slides. Flaghand's document preview fits each whole page inside a
frame no taller than 4:5. A taller page, such as Letter or A4, leaves space at its sides instead of being clipped.
Those are Flaghand's preview dimensions, not a pixel-size requirement published by LinkedIn.

## How many pages

LinkedIn takes up to **300 pages**. Its document ads recommendations suggest "under 10 pages" for an ad; its help gives
no recommended count for an ordinary post. Let each slide carry one idea and stop when the ideas do. Flaghand's own
slide exports hold up to 35 slides; an uploaded PDF can have up to LinkedIn's 300 pages.

## File limits

| Rule | LinkedIn's help | Flaghand |
|---|---|---|
| File type | PDF, PPT, PPTX, DOC or DOCX | PDF only |
| Size | Up to 100 MB | Checks LinkedIn's 100 MB; its upload currently takes files up to 50 MB |
| Pages | Up to 300 | 1 to 300; an empty PDF is refused |
| Page sizes | One size for every page | Not checked: export every page at one size |
| Layers | "PDFs with multiple layers must be flattened or merged" | Not checked; its own exports are flat pictures |
| Passwords | Not mentioned | An encrypted PDF is refused |
| Video and animation | Shown "as static images instead" | Previews show the static pages too |
| Links in the PDF | Asks you to "ensure that the PDFs you upload have secure hyperlinks" | Its exports have none; previews don't follow links |

LinkedIn's [document ads specifications](https://www.linkedin.com/help/lms/answer/a493903) add that links in a
document are clickable only if the viewer downloads it. If a link matters, put it in the post's text.

## Give the document a title

LinkedIn asks for a title when you add the document, "to let members know what your document is about". The title is
shown with the document, apart from the post's own text, so write it for a reader rather than leaving a file name such
as `carousel_final_v3.pdf`.

LinkedIn's help gives no length for it. For document ads, LinkedIn pre-fills the headline with the file name and
suggests **up to 70 characters to avoid shortening** (200 at most). Those numbers describe the ad headline, not a
published limit for an ordinary document title. Keep your title short and descriptive.

Through the API, the title is `content.media.title`, which LinkedIn's
[post schema](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/post-api-schema?view=li-lms-2026-10)
marks as required for documents.

## On a phone

LinkedIn doesn't publish exact phone feed dimensions for document posts. Design for a reader moving through one
page at a time in a narrow feed, not for a full-size presentation on a laptop.

**The page shrinks to the phone's width.** At 390 px wide, a 1,080-pixel page is drawn at about 36% of its
size, or less if the card has margins: type set at 40 px appears about 14 px tall. Open the PDF on your own phone,
fit a page to the screen and read each slide without zooming. If you have to zoom, make the type bigger or put less on
the slide.

**Pictures of words aren't text.** A PDF made from slide images, including Flaghand's own slide
export, has no text a screen reader or search can read. LinkedIn's help says viewers can download a document as a PDF
"for accessibility purposes", but a downloaded picture is still a picture. Say the carousel's main point in the post's
text as well, and keep its opening clear of the "see more" cut. The [formatting guide](/docs/guides/formatting-a-linkedin-post)
explains where that cut falls.

## Post one by hand

These are LinkedIn's documented steps, not Flaghand's:

1. On LinkedIn's homepage, select **Start a post**. In the mobile app, tap **Post**.
2. Select **More**, then the **Add a document** icon (in the app, the **More** icon, then **Document**).
3. Choose one file from your computer or phone, or from Dropbox or Google Drive. A company cloud account may ask for an
   administrator's approval first.
4. Add a title, then select **Done** (in the app, **Next**).
5. Write the post's text. Hashtags and @mentions are optional.
6. Select **Post**.

To post later instead, the [LinkedIn scheduling guide](/docs/guides/how-to-schedule-linkedin-posts) covers LinkedIn's
own clock and its limits. Check that the clock is offered for the post you're making: LinkedIn's scheduling help
doesn't list which attachments it supports.

## Post one through the API

LinkedIn's [Documents API](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/documents-api?view=li-lms-2026-10)
uploads the file, and the Posts API publishes it. Send your user access token in `Authorization: Bearer …`.
Requests to `/rest` also carry `Linkedin-Version: 202610` and `X-Restli-Protocol-Version: 2.0.0`; send JSON bodies with
`Content-Type: application/json`. Posting to your own profile needs `w_member_social`, and the document's owner
must be the member making the call. A Page needs `w_organization_social` and a supported Page role; check the
Documents API's owner-permission rules before using an organization URN.

**1. Register the upload.** `SYNCHRONOUS_UPLOAD` isn't supported for documents.

```http
POST https://api.linkedin.com/rest/documents?action=initializeUpload

{ "initializeUploadRequest": { "owner": "urn:li:person:{id}" } }
```

The answer holds an `uploadUrl` and the document's URN, `urn:li:document:…`.

**2. Upload the file** to that `uploadUrl` with an HTTP `PUT`, sending the PDF bytes and your
`Authorization: Bearer …` header. With curl, use `--upload-file carousel.pdf` and `--header` for the authorization.
LinkedIn answers `201`.

**3. Wait for processing.** `GET /rest/documents/{document URN}` on the same API host reports `WAITING_UPLOAD`,
`PROCESSING`, `PROCESSING_FAILED` or `AVAILABLE`. Create the post once it says `AVAILABLE`. `PROCESSING_FAILED` can mean
a file problem or a LinkedIn processing error; check the error and your file before uploading again.

**4. Create the post** with the document's URN and its title:

```json
{
  "author": "urn:li:person:{id}",
  "commentary": "Five changes that halved our onboarding time.",
  "visibility": "PUBLIC",
  "distribution": { "feedDistribution": "MAIN_FEED", "targetEntities": [], "thirdPartyDistributionChannels": [] },
  "content": { "media": { "id": "urn:li:document:{id}", "title": "Five onboarding fixes" } },
  "lifecycleState": "PUBLISHED",
  "isReshareDisabledByAuthor": false
}
```

`POST https://api.linkedin.com/rest/posts` answers `201 Created`, with the post's ID in the `x-restli-id` header. It
publishes straight away: the Posts API documents no time to post at, so your app keeps its own queue. The
[personal-profile API guide](/docs/guides/linkedin-api-personal-profile) covers the permission, and the
[LinkedIn posting errors guide](/docs/guides/linkedin-api-posting-errors) what each refusal means.

## With Flaghand

Flaghand posts the same document post through those APIs, once its owner has approved it. An agent, or you, uploads
a PDF or exports Flaghand slides as one, then drafts a LinkedIn post with the document and its title. Flaghand's check
refuses a PDF that's encrypted, broken, empty or over 300 pages before it can be attached. The desk and the approval
sheet show the PDF's actual pages, in light and dark.

The owner approves the exact snapshot with their passkey: the post's text, the PDF's fingerprint and page count, and
the title shown on LinkedIn. Changing the PDF or its title needs a fresh approval. At the approved time, Flaghand
uploads those exact bytes, waits for LinkedIn to report the document `AVAILABLE`, then publishes it. No agent token
can approve, schedule or post. A document goes on its own: text and company tags work as usual, but not photos, video
or a link card beside it.

The [draft and media documentation](https://app.flaghand.com/docs/drafts-and-media) has the request formats. Flaghand posts to personal
profiles, not Pages. It can't read posts back from LinkedIn: that needs a LinkedIn permission its app doesn't have.

Flaghand isn't open for sign-up yet; [join the waitlist](/schedule).

## A final check

- Every page is the same size, and the slides read on a phone without zooming.
- The main point is in the post's text too, and links you need are there, not only in the PDF.
- The title says what the document is, not what the file was called.
- The file has no more than 100 MB and 300 pages, is flat, has no password, and is final: LinkedIn won't let you swap it later.

## Sources

- LinkedIn Help: [upload and share documents](https://www.linkedin.com/help/linkedin/answer/a518909) — file types,
  100 MB and 300 pages, one page size, flattened layers, static animations, the title, the desktop and mobile steps,
  downloads, and no changing the document after posting.
- LinkedIn Help: [document ads advertising specifications](https://www.linkedin.com/help/lms/answer/a493903) — links
  clickable only after download, and the 70-character headline suggestion. Written for ads.
- LinkedIn Marketing Solutions: [document ads design recommendations](https://business.linkedin.com/marketing-solutions/success/ads-guide/document-ads)
  — vertical, horizontal and square shapes, standard paper layouts, and "under 10 pages". Written for ads.
- LinkedIn's [Documents API](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/documents-api?view=li-lms-2026-10)
  — permissions, owner checks, the upload steps and processing states.
- LinkedIn's [Posts API](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/posts-api?view=li-lms-2026-10)
  and [post schema](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/post-api-schema?view=li-lms-2026-10)
  — organic documents versus sponsored-only carousels, the request, and the required document title.

[All guides](/docs/guides.md)
