Generating data URLs in JavaScript
All data URLs (also known as data URIs) begin with data:, followed by the media type string (which can be omitted) and the data itself.
Below are some examples of data URLs and ways to generate them.
text/plain data
const data = 'Hello World!'
console.log(`data:text/plain;charset=utf-8,${encodeURIComponent(data)}`)text/plain data, base64 encoding
const data = 'Hello World!'
console.log(`data:text/plain;charset=utf-8;base64,${btoa(unescape(encodeURIComponent(data)))}`) // Browser
console.log(`data:text/plain;charset=utf-8;base64,${Buffer.from(data).toString('base64')}`) // Node.jstext/html data, base64 encoding
const data = '<b>Hello World!</b>'
console.log(`data:text/html;charset=utf-8;base64,${btoa(unescape(encodeURIComponent(data)))}`) // Browser
console.log(`data:text/html;charset=utf-8;base64,${Buffer.from(data).toString('base64')}`) // Node.jsimage/svg+xml data, base64 encoding
const data =
`<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" height="100" width="100">
<circle cx="50" cy="50" r="20" fill="yellow" />
</svg>`
console.log(`data:image/svg+xml;charset=utf-8;base64,${btoa(unescape(encodeURIComponent(data)))}`) // Browser
console.log(`data:image/svg+xml;charset=utf-8;base64,${Buffer.from(data).toString('base64')}`) // Node.jsRecommended for you
Product
Ea.
"Hello, World!" Code Snippet Poster, JavaScript Programming Language
Møller Scattering Poster
2026 Wall Calendar, Māori-Labeled, Sunday-Start Layout, Poster / Wall Print, 23.4 x 33.1 in (59.4 x 84.1 cm)
2027 Wall Calendar, Swedish-Labeled, Sunday-Start Layout, Wire-Bound, 11.7 x 8.3 in (29.7 x 21.0 cm)
Periodic Table Chart, 11.7 x 8.3 in (29.7 x 21.0 cm, Desk Chart, Laminated), 18-Column Layout, Lithuanian-Labeled