Guides · Updated

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 are linked below.

LinkedIn's document help 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:

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 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 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 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 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 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 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.

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:

{
  "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 covers the permission, and the LinkedIn posting errors guide 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 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.

A final check

Sources

  • LinkedIn Help: upload and share documents — 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 — links clickable only after download, and the 70-character headline suggestion. Written for ads.
  • LinkedIn Marketing Solutions: document ads design recommendations — vertical, horizontal and square shapes, standard paper layouts, and "under 10 pages". Written for ads.
  • LinkedIn's Documents API — permissions, owner checks, the upload steps and processing states.
  • LinkedIn's Posts API and post schema — organic documents versus sponsored-only carousels, the request, and the required document title.