Google Analytics helps us understand which tools you use and which actions work. Your files and entered text stay out of analytics.

How to save a tweet as an image without losing context

Choose the right capture method. Keep the source, check what is missing and make the words readable after sharing.

Free toolTweet to ImageTurn public X or Twitter URLs into attributed images. Design one post or a batch, check readability and save without a watermark.Open Post Studio

The short answer

Use a URL-to-image tool for a designed card, or your device’s screenshot feature when the exact X interface matters. In either case, compare the result with the original before sharing it.

  1. Open the public post. Copy its direct link and expand any hidden text.
  2. Choose a native screenshot, a live embed or a designed image using the comparison below.
  3. Keep the author and enough reply or quoted context to preserve the meaning.
  4. Open the saved file at the size your audience will see. Add the source link and image description beside it.

Choose a method by what you need to preserve

A screenshot records visible pixels. A generated card redraws returned data. A live embed remains connected to X.

MethodBest useWhat you give up
Device screenshotShowing the exact interface, an expanded post, a warning or visible reply context.Browser chrome and surrounding content may need cropping. Resolution depends on the visible page. A screenshot alone is not authenticated evidence.
URL-to-image cardA readable design for a slide, newsletter or social image. Batch posts can share a consistent layout.The source service may omit text, media or context. Fonts, emoji and spacing can differ from X.
X embedAn article or website where readers should open and interact with the original.It needs third-party content and a connection. Availability can change when the original changes. It is not an image file.

For a native screenshot, use Shift + ⌘ + 4 on macOS or Windows + Shift + S on Windows. On a phone, use the device’s screenshot buttons. Crop only after checking which context the crop removes.

For an embed, open the post’s menu and look for Embed post, or use X Publish. X’s embedding instructions explain the supported workflow. Keep a plain source link available as a fallback.

What our public import tests actually returned

On 19 October 2026, we ran floi’s importer against four public post IDs. These are observed responses, not a promise about every post.

Public test inputObserved resultPractical consequence
Jack, post 20Text, avatar, publication time, likes and replies were returned. No attached media.A short text-only post provides a useful baseline. Current profile and engagement data do not recreate the account as it looked in 2006.
Earth, four-photo mountain postAll four images and their supplied alternative descriptions were retrieved.A card with every photo becomes tall. A square export can fit it by shrinking the text, so inspect readability before sharing.
TweetPik reply exampleThe returned display range started after the leading mention. No parent post was returned.The visible words alone do not establish the conversation. Read the original thread and include the parent separately if needed.
Video exampleText, avatar and a 1920 × 1080 video poster were retrieved.A still card does not preserve movement or sound. Label the poster and link to the original video.

Method: Node.js ran the same importer used by the Supabase function, requesting X’s public embed-data endpoint and its image CDN sequentially. The results include actual image retrieval. They do not measure Supabase latency or certify full Premium-post text. Reproduction commands and sanitised results are in the project research notes.

Check the last sentence of a long post

A card can include every returned character and still miss words from the original.

  • Open the original and expand its text. Compare the first and last complete sentences with the saved image.
  • Check links and mentions. An embed display range can omit leading reply mentions and the short link used for attached media.
  • Look for a quoted card, a parent reply, an edit marker or a warning that changes the interpretation.
  • If the source is incomplete, use an expanded native screenshot. Do not type the missing passage into a card and present it as an untouched capture.

This is why floi calls the result a designed image. Import success means readable data was returned. It does not prove completeness, authenticity or permission to reuse the post.

More pixels do not fix tiny text

Canvas shape, card width and outer spacing determine how large the words look after the image is fitted to a feed.

ChoiceUse it whenCheck before sharing
Fit entire postYou need every returned line and all included media.A very tall image can still be awkward in a feed. Consider separate attributed cards for separate posts.
1080 × 1350 portraitA short or medium post needs room in a portrait composition.Confirm the destination’s current crop behaviour. These are canvas dimensions, not a guarantee of platform presentation.
1080 × 1080 squareThe post is short enough to read without excessive shrinking.Photos and nested quotes take space away from the words.
1200 × 630 link previewA short statement belongs in a wide preview.Long posts rarely suit this ratio. Do not crop away qualifying sentences to make one fit.

The scale relationship is exact: 24-pixel text on a 688-pixel-wide composition becomes about 13.6 pixels at a 390-pixel display width. Exporting at 2× creates 48-pixel text on a 1376-pixel image. Displayed at 390 pixels wide, it is still about 13.6 pixels.

That calculation explains floi’s phone-size estimate. It is not a measured reading threshold. Increase Text size, reduce Outer spacing or choose a taller canvas. Add image alt text so the words are available beyond the picture.

Use PNG for letters, then inspect the file

PNG avoids another lossy encoding step around text. JPG or WebP may make a smaller file, but inspect small letters after saving.

  1. Save the image and open that actual file. A fitted editor preview is not the final quality check.
  2. View it at the destination’s likely width, not only enlarged on a desktop.
  3. Check transparent areas against both a light and a dark background.
  4. Add the source URL to the surrounding caption or article. Image pixels cannot carry a clickable post link.

Which competing workflow suits your job?

Floi suits small sets of public URLs and local image export. Several competitors offer broader design or automation products.

  • PostSpark loaded our public test post and exposes framing, annotations, backgrounds and fonts. Choose it when a broader mockup editor is the priority.
  • TweetPik loaded the same post and offered a selection step, design controls and PNG, JPG or PDF output.
  • Orshot completed a render with preview and save controls. Its API and integrations serve automated workflows floi does not offer.
  • TwitterShots required sign-in to continue in our test. It advertises thread and video features; we did not test those paid capabilities.

These checks were made on 19 October 2026. They are task observations, not a permanent ranking of services. Stashr’s public importer returned a syndication network error in our browser; another browser or later run may behave differently.

Know where the link goes

Floi sends the post link to a Supabase Edge Function. That function retrieves public post data and images from X, then returns them to your browser.

The function does not write the imported content to a database or Storage. Ordinary hosting request logs may still exist. Only design settings use floi’s automatic account saving. Imported posts, their descriptions and images are kept in the open tab.

This import is a deliberate server exception. Browsers restrict reading cross-origin data and exporting a canvas containing images without permission. The MDN explanation of cross-origin canvas images covers that restriction. After import, design changes and image export run locally.

Before you publish someone else’s words

Keep attribution and context, and check that your reuse is appropriate for its purpose.

  • Keep the author and original source. Preserve qualifiers and any reply or quotation needed to understand the statement.
  • Do not treat public visibility as a licence for advertising or unrestricted reuse.
  • Ask for permission where your use requires it. A designed card does not transfer ownership of words or photographs.
  • For evidence or reporting, retain the original link and use the preservation method your organisation requires. A polished social card is not an archival record.

Frequently asked questions

Is a tweet screenshot proof that someone posted those words?

Not by itself. A screenshot can be edited, and a generated card can be recreated. Preserve the post URL, author, date and relevant conversation. For work requiring formal evidence, follow your organisation’s preservation process rather than relying on a designed social image.

Why is a generated tweet missing a reply or some text?

Generators can only render the fields their source returns. A public embed response may omit a parent or shorten a long post. Open the original, expand its text and compare the final sentence. Use a native screenshot when the exact visible X interface matters.

Can I make a saved tweet clickable?

A PNG or JPG does not contain an interactive post link. Put the original URL in the surrounding article, message or caption where that platform supports links. A visible address printed inside the image gives readers a reference but is not a clickable link.

Is it safe to hide the engagement counts?

It can improve clarity when the counts are irrelevant. They change over time and are not a measure of whether a statement is true. Keep the author and relevant reply context. If counts matter to your analysis, retain them with a capture time and do not compare snapshots taken at different times as though they were simultaneous.

↑↓ move↵ openesc close