Styled logo SVG
- Input
- 640 byte SVG, 320×180, with paths, inline CSS classes, transparency, and a missing named font.
- Output
- 6,522 byte one-page PDF at 240×135 points. Colors matched the inline CSS, while text used a fallback font.
SVG to PDF in our image engine first rasterizes the SVG to pixels, then places that image on a PDF page sized from 96 dpi pixels.
From real runs
| Element | Result | What happens |
|---|---|---|
| Vector paths | Changed | The 320×180 SVG became a raster image inside a 6,522 byte PDF, not editable PDF curves. |
| Page size | Changed | The default PDF page measured 240×135 points, matching 320×180 pixels converted at 96 dpi. |
| Inline CSS | Kept | The embedded style block colored teal panels and yellow circles correctly in the rasterized output. |
| External stylesheets | Lost | An SVG pointing to brand.css rendered black text instead of the red external CSS rule because only one file was uploaded. |
| Font families | Changed | A deliberately missing font family rendered with a server fallback, so exact text metrics cannot be assumed. |
| viewBox-only sizing | Kept | A 200×100 viewBox-only SVG with no width or height still produced a 200×100 raster in our control run. |
The 320×180 SVG became a raster image inside a 6,522 byte PDF, not editable PDF curves.
The default PDF page measured 240×135 points, matching 320×180 pixels converted at 96 dpi.
The embedded style block colored teal panels and yellow circles correctly in the rasterized output.
An SVG pointing to brand.css rendered black text instead of the red external CSS rule because only one file was uploaded.
A deliberately missing font family rendered with a server fallback, so exact text metrics cannot be assumed.
A 200×100 viewBox-only SVG with no width or height still produced a 200×100 raster in our control run.
We converted our SVG sample (389 B) with Image engine on 2026-10-20. It took 70 ms and produced a 5 KB PDF file, 14× larger than the input. The engine raised 1 warning, listed below.
Input · sample.svg · 389 B
SVG viewBox 0 0 320 200, 0 paths
Output · sample.pdf · 5 KB
PDF 1.4, 1 page, no text layer, 1 image object
CairoSVG
cairosvg in.svg -o out.pdf --dpi 96Direct CairoSVG PDF can retain more vector structure than this image-ir path, which rasterizes before Pillow writes PDF.
The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=svg&to=pdf.
curl -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.svg" -F "from=svg" -F "to=pdf" \
-F 'options={"dpi":96}' \
--output output.pdf| Key | Applies to | Type | Default |
|---|---|---|---|
| dpi | Reading SVG | number | 96 |
| width | Writing PDF | number | 0 |
| height | Writing PDF | number | 0 |
| fit | Writing PDF | contain · cover · fill | contain |
| quality | Writing PDF | number | 90 |
| background | Writing PDF | string | #ffffff |
| stripMetadata | Writing PDF | boolean | true |
Not in this route. Our image engine renders the SVG to a bitmap first, so the PDF contains page imagery rather than editable path objects.
CairoSVG can only render with fonts available to the sidecar. Convert text to paths before upload when exact brand typography matters.
No in the tested API flow. The upload sends one SVG file, and the external brand.css rule was not applied.