Skip to content
Server-sideDeleted in 30 minutes

Convert the First XPS Page to PNG

XPS is a fixed-page document format that can be perfectly clear in theory and almost impossible to use in practice. This converter renders page one as a PNG image so it can go into a thumbnail slot, an image-only form, a slide, or a message that refuses document files. It is deliberately a first-page server converter: a 40-page XPS produces one PNG, not 40 downloads. The page is rasterized at the renderer's default 150 PPI, so text and vector artwork become pixels. Keep the XPS when you need selectable text or later editing.

Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.

Add to Chrome — free
XPSPNG

Drop your XPS file here, or click to browse

Up to 50 MB. Deleted automatically after 30 minutes.

What it does

  • Returns the first XPS page as one PNG
  • Produces one PNG at 150 PPI
  • Preserves the page's fixed geometry in the raster
  • Handles text, vectors, and embedded images through libgxps
  • No watermark and no sign-up

How to use XPS to PNG

  1. 1

    Add the XPS file

    Upload the file produced by Microsoft XPS Document Writer or another XPS printer. The server converter accepts an XPS document and uses its first page as the source for the image.

  2. 2

    Render page one

    The libgxps renderer reads the fixed page description at its default 150 PPI resolution. The worker keeps the first numbered image as the result. The output is a flat PNG, not an editable collection of XPS objects.

  3. 3

    Download the PNG

    Check that the first page is the one you need, then download the result. The server keeps the temporary input and output for 30 minutes before deleting them.

How it works

An XPS document is a package of XML parts rather than a canvas-sized screenshot. Its pages describe glyphs, paths, fills, clipping regions, images, and coordinates in a fixed layout. The server passes the uploaded file to xpstopng, the libgxps command-line renderer, with its normal 150 PPI setting. libgxps resolves those parts, lays out each mark at the coordinates recorded by the document, and paints the pages into numbered raster images.

The command normally writes one numbered output per page, using a name such as xps-page.png-1.png. The worker deliberately does not pretend that this is a single-page engine: it looks for the generated -1 file, renames that first-page image to the requested output, and verifies that the bytes are actually PNG. That is why a successful job is one predictable PNG even when the input contains many pages. It also explains why this page does not claim to export a complete XPS document as an image set.

What the raster contains

The renderer sees the page as a composition, not as a request to pull out one asset. Text is drawn with the fonts and glyph positions referenced by the XPS package. Vector lines and shapes are sampled onto the pixel grid. Embedded images are decoded and placed at their recorded size. The output therefore looks like a page preview, with all those ingredients flattened together.

PNG is a useful target for this job because it keeps lossless pixel data and can carry transparency in general, although this server render uses the normal white page background. It is a good fit for diagrams, forms, line art, and screenshots of pages with small lettering. It cannot carry XPS search semantics, hyperlinks, print tickets, document signatures, or the original vector instructions. Those belong to the source document and should not be assumed to survive a page image.

Why page one is an explicit limit

Choosing only the first page is not an accidental truncation. A multi-page XPS can be large even when its package compresses well, and turning each fixed page into a full 150 PPI PNG can create a substantial set of output bytes. A server job that quietly returned only one member of that set would be confusing; a job that silently returned dozens would be expensive and difficult to download. The page one contract makes the route suitable for covers, previews, and one-page uploads.

If the needed content is on page 2 or later, create a one-page copy locally and upload that copy, or convert the XPS to PDF and use a page-selecting PDF renderer. Do not upload the original expecting a page picker: this widget has none, and the download will always represent page one.

When PNG is the right handoff

Use PNG when the receiving system accepts images but not XPS, when crisp line work matters, or when the page will be annotated in an image editor. For an ordinary document exchange, PDF is the better destination because it can keep page order, selectable text, and a compact multi-page container. For a photograph-heavy page where file size matters more than lossless edges, the XPS to JPG route may be a better fit, with the same first-page limitation and a lossy image encoding.

If you wanted the whole document

This gives you the first page as an image, because one image file holds one picture. That is the right answer for a thumbnail, a slide or a bug report, and the wrong one for almost everything else.

To read the document — every page, with the text still searchable — use the XPS viewer; nothing is installed and it works on a Mac or a phone. To keep or send it, convert it to PDF: every page comes across, the layout is identical, and PDF opens everywhere without a viewer. XPS to JPG is the same first-page image in the other format.

Examples

A cover for a document preview

tender-cover.xps - 18 pages, A4 portrait
tender-cover.png - one page at about 1240 x 1754 pixels

At 150 PPI, an A4 page that is 8.27 by 11.69 inches becomes approximately 1240 by 1754 pixels. The first page is enough for a portal thumbnail or a cover card, while the other 17 pages remain in the original XPS and are not silently emitted as a batch.

A later page that needs preparing first

inspection-record.xps - 12 pages, diagram on page 7
inspection-record.png - an image of page 1, not page 7

This is a worked example of the boundary rather than a successful page-seven extraction. The server route has no page picker and always asks libgxps for the first generated image. Extract page 7 into a separate one-page XPS or PDF with a local document tool before uploading if the diagram is required.

Frequently asked questions

Does XPS to PNG convert every page?

No. This server converter intentionally returns one PNG for page one only. libgxps can render a page range, but the worker selects the first generated image so the result has a predictable name and download contract. A multi-page XPS therefore does not become a ZIP or a misleading single file containing only an unexplained subset. Use a local page-extraction workflow first when a later page is the one you need.

What happens to text and vector drawings in the PNG?

They are painted into pixels. XPS stores glyph placement, paths, brushes, images, and page coordinates as a fixed drawing description; the libgxps renderer interprets those instructions and writes the visible result to a 150 PPI pixel surface. The letters may look sharp, but they are no longer selectable text, searchable content, or editable vector objects inside the PNG.

Why is the output limited to 150 PPI?

The server path uses xpstopng's default resolution of 150 PPI and does not expose a resolution or crop control. That is a practical middle ground for previews and ordinary on-screen reading: it is substantially denser than a thumbnail while avoiding the large pixel dimensions that a print render can create. If you need 300 PPI, a page range, or a crop, use libgxps locally or first create a one-page document for a tool with those controls.

Is this the same as extracting an image embedded in XPS?

No. This renders the complete first page, including its background, text, vector marks, and positioned images, into one picture. Extracting an image part would return only the original bitmap and would omit the captions, borders, and other page furniture around it. Choose this converter when the desired result is how the page looks, not an individual photograph stored inside the package.