PNG to SVG API
Convert Raster PNGs into Scalable Vector Graphics Automatically.
Code Examples in Popular Languages
Integrate our PNG to SVG API easily into your apps with comprehensive code examples in popular languages to get started quickly.
curl --location 'https://theonlineconverter.com/api/v1/image-converter' \
--header 'Content-Type: application/json' \
--header 'x-api-key: enter_your_api_key' \
--form 'from="png"' \
--form 'to="svg"' \
--form 'file=@"/D:/data/Images/png/image.png"'
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("x-api-key", "enter_your_api_key");
const formdata = new FormData();
formdata.append("from", "png");
formdata.append("to", "svg");
formdata.append("file", fileInput.files[0], "/D:/data/Images/png/image.png");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: formdata,
redirect: "follow"
};
fetch("https://theonlineconverter.com/api/v1/image-converter", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
import requests
import json
url = "https://theonlineconverter.com/api/v1/image-converter"
payload = {'from': 'png',
'to': 'svg'}
files=[
('file',('image.png',open('/D:/data/Images/png/image.png','rb'),'image/png'))
]
headers = {
'Content-Type': 'application/json',
'x-api-key': 'enter_your_api_key'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
import requests
import json
url = "https://theonlineconverter.com/api/v1/image-converter"
payload = {'from': 'png',
'to': 'svg'}
files=[
('file',('image.png',open('/D:/data/Images/png/image.png','rb'),'image/png'))
]
headers = {
'Content-Type': 'application/json',
'x-api-key': 'enter_your_api_key'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
<?php
$client = new Client();
$headers = [
'Content-Type' => 'application/json',
'x-api-key' => 'enter_your_api_key'
];
$options = [
'multipart' => [
[
'name' => 'from',
'contents' => 'png'
],
[
'name' => 'to',
'contents' => 'svg'
],
[
'name' => 'file',
'contents' => Utils::tryFopen('/D:/data/Images/png/image.png', 'r'),
'filename' => '/D:/data/Images/png/image.png',
'headers' => [
'Content-Type' => '<Content-type header>'
]
]
]];
$request = new Request('POST', 'https://theonlineconverter.com/api/v1/image-converter', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("from","png")
.addFormDataPart("to","svg")
.addFormDataPart("file","/D:/data/Images/png/image.png",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("/D:/data/Images/png/image.png")))
.build();
Request request = new Request.Builder()
.url("https://theonlineconverter.com/api/v1/image-converter")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("x-api-key", "enter_your_api_key")
.build();
Response response = client.newCall(request).execute();
package main
import (
"fmt"
"bytes"
"mime/multipart"
"os"
"path/filepath"
"net/http"
"io"
)
func main() {
url := "https://theonlineconverter.com/api/v1/image-converter"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("from", "png")
_ = writer.WriteField("to", "svg")
file, errFile3 := os.Open("/D:/data/Images/png/image.png")
defer file.Close()
part3,
errFile3 := writer.CreateFormFile("file",filepath.Base("/D:/data/Images/png/image.png"))
_, errFile3 = io.Copy(part3, file)
if errFile3 != nil {
fmt.Println(errFile3)
return
}
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", "enter_your_api_key")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var options = new RestClientOptions("https://theonlineconverter.com")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/api/v1/image-converter", Method.Post);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("x-api-key", "enter_your_api_key");
request.AlwaysMultipartFormData = true;
request.AddParameter("from", "png");
request.AddParameter("to", "svg");
request.AddFile("file", "/D:/data/Images/png/image.png");
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
Key Features & Capabilities
Our API is powered by an intelligent vectorization engine to deliver high-quality, editable vector graphics.
AI-Powered Vectorization
Utilize advanced algorithms that analyze your PNG, identify shapes and color boundaries, and intelligently trace them into clean vector paths.
Infinitely Scalable Output
The primary benefit of SVG. The output file can be scaled to any dimension—from a tiny icon to a giant billboard—with absolutely no loss of quality or pixelation.
Color Palette Control
Our online converter allows you to extract data from images and convert it into Excel format in just three easy steps.
Transparency Preservation
The transparent background of your source PNG is fully preserved, resulting in an SVG with a transparent background suitable for overlaying on any design.
Optimized SVG Paths
The API generates smooth, optimized SVG code with a minimal number of anchor points, making the final files lightweight and easy to edit.
Secure & Confidential
All images are processed over encrypted connections. We guarantee confidentiality with a strict data privacy policy and do not store your files.
Frequently Asked Questions
Find answers to common questions about our PNG to SVG API to understand the vectorization process and its best use cases.

























