Free tools Windows power users keep installed
One-click scans. No signup required.
To create a screenshot of a canvas composition with movable elements, represent each shape or image as an object, let users drag those objects, save their final positions, and export the finished scene. For a practical browser editor, Konva provides built-in dragging and image export; the browser’s raw Canvas API does not make individual shapes draggable for you.
Choose how to build the canvas
The right approach depends on how much interaction you need to implement yourself. A canvas is a bitmap drawing surface: after shapes are drawn, the browser does not automatically know that a particular region should move as an object. You need a scene model that tracks each element and its coordinates, plus pointer handling that updates those coordinates.
| Approach | Dragging | Export | Best fit |
|---|---|---|---|
| Raw Canvas API | You implement hit testing, coordinate conversion, pointer capture, and redrawing. | Use browser canvas export methods. | A small custom renderer or an app that needs full control. |
| Konva | Set draggable: true; use its hit detection and drag events. |
Supports data URLs and blobs, format and quality settings, cropping, and pixel ratio. | A movable canvas editor without building the interaction system from scratch. |
| Fabric.js | Uses an object event model and documents transform events. | Supports format, quality, multiplier, crop, and retina options. | Projects that prefer its canvas object API. |
Konva describes itself as “an open-source 2D HTML5 Canvas JavaScript framework that provides an object-oriented API for canvas graphics.” Its documentation includes examples for React, Vue, Svelte, and Angular, as well as plain JavaScript. Konva FAQ
Build a draggable canvas with Konva
Install Konva in your JavaScript project with npm install konva. The following example uses a bundler that supports JavaScript ES modules. It creates a stage, adds a rectangle and text, makes both draggable, records their final positions, and exports the composition when the user clicks the button.
#1 Best Overall
- PLEASE NOTE:XPPen Artist13.3 Pro drawing tablet Need to connect with computer,you need to use it with your computer or laptop, the 3 in 1 cable is included
- Drawing Tablet with Screen: Tilt Function- XPPen Artist 13.3 Pro supports up to 60 degrees of tilt function, so now you don't need to adjust the brush direction in the software again and again. Simply tilt to add shading to your creation and enjoy smoother and more natural transitions between lines and strokes
- Graphics Tablets: High Color Gamut- The 13.3 inch fully-laminated FHD Display pairs a superb color accuracy of 88% NTSC (Adobe RGB≧91%,sRGB≧123%) with a 178-degree viewing angle and delivers rich colors, vivid images, and dazzling details in a wider view. Your creative world is now as powerful as it is colorful
- Drawing Pad: One is enough- The sleek Red Dial on the display is expertly designed with creators in mind, its strategic placement allows for natural drawing postures. With just one wheel, you can effortlessly zoom in and out, adjust brush sizes, and flip the canvas—all tailored to suit the habits of everyday artists. The 8 customizable shortcut keys allow you to personalize your setup, streamlining your workflow and enhancing creative efficiency
- Universal Compatibility & Software Support:supports Windows 7 (or later), Mac OS X 10.10 (or later), Chrome OS 88 (or later), and Linux systems. Fully compatible with major creative software including Photoshop, Illustrator, SAI, and Blender 3D. Register your device to access additional programs like ArtRage 5 and openCanvas for expanded creative possibilities.
import Konva from 'konva';
import './style.css';
const stage = new Konva.Stage({
container: 'canvas-container',
width: 800,
height: 500,
});
const layer = new Konva.Layer();
stage.add(layer);
const background = new Konva.Rect({
x: 0,
y: 0,
width: stage.width(),
height: stage.height(),
fill: '#f2f4f8',
listening: false,
});
const card = new Konva.Rect({
x: 100,
y: 90,
width: 260,
height: 160,
fill: '#6b5cff',
cornerRadius: 12,
draggable: true,
});
const label = new Konva.Text({
x: 140,
y: 145,
text: 'Drag me',
fontSize: 28,
fontFamily: 'Arial',
fill: '#ffffff',
draggable: true,
});
for (const node of [card, label]) {
node.on('dragmove', () => {
// Optional: update a live position readout here.
});
node.on('dragend', () => {
savePositions({
card: { x: card.x(), y: card.y() },
label: { x: label.x(), y: label.y() },
});
});
}
layer.add(background, card, label);
layer.draw();
function savePositions(positions) {
// Replace this with your app's state update or persistence layer.
console.log('Final positions:', positions);
}
document.querySelector('#download').addEventListener('click', async () => {
const blob = await stage.toBlob({ pixelRatio: 2 });
const link = document.createElement('a');
link.download = 'canvas-composition.png';
link.href = URL.createObjectURL(blob);
link.click();
URL.revokeObjectURL(link.href);
});
Provide matching HTML elements for the stage container and export control:
<div id="canvas-container"></div>
<button id="download" type="button">Download PNG</button>
For a basic layout, size the stage container to match the stage dimensions. Konva handles pointer interactions for draggable nodes; the dragmove event is useful for live feedback, while dragend is a natural point to commit the final coordinates if the rest of your application does not need every intermediate position. See the Konva drag-and-drop guide and its canvas drag-and-drop explanation.
Keep application state and the scene in sync
The example logs coordinates; a real editor should update its application state or save the positions to its own persistence layer. Store the element identity and its x/y coordinates, not just a screenshot, if users need to reopen or edit a composition. When restoring saved work, apply those positions to the corresponding nodes before exporting.
Rank #2
- Please note: Kamvas 13 (Gen 3) Pen Display is not a standalone product, this device must be connected to a computer/laptop to work.
- All-new Canvas Glass 2.0: HUION Kamvas 13 (Gen 3) drawing tablet for pc features a fully laminated 13.3-inch screen and brand new anti-sparkle canvas glass 2.0 for reduced glare and improved accuracy. It is perfect for designers, artists, and illustrators to unleash their creativity.
- Advanced PenTech 4.0 Technology: The 16384 levels of pressure sensitivity and 2g IAF ensure a fluid and natural drawing experience, while the 3 customized pen side buttons improve your workflow.
- Improved Color Accuracy: With enhanced color accuracy to Avg. ΔE<1.5, 16.7 million display colors, 99% sRGB coverage, and Rec.709 standard color gamuts, HUION Kamvas 13 (Gen 3) digital art tablet delivers stunning visuals.
- Rigorous Color Calibration: HUION Kamvas 13 (Gen 3) drawing monitor includes a factory calibration report for added assurance of color consistency.
Only commit at dragend when you do not need intermediate coordinates elsewhere. Use dragmove for a live position display, alignment guides, or other feedback that must respond during the drag. Konva also documents dragstart, so you can distinguish the start of an interaction from movement and completion.
Make the controls usable without dragging
Canvas shapes are not automatically keyboard controls. If moving an object is essential, provide HTML controls that let users select an object and change its position or move it with keyboard input. This gives people an alternative to pointer dragging; Konva’s drag-and-drop guidance discusses providing HTML controls for essential drag actions.
Or skip the browser setup
If what you need is a screenshot of the webpage containing your canvas editor, rather than a direct export of the canvas scene, ScreenshotNeo can capture the page through one API request. Its API captures a webpage; use Konva export when you need the canvas composition itself as an image. The examples below save a screenshot of Stripe; change the target URL to your page. See the ScreenshotNeo API documentation for request options.
Rank #3
- Ultra-Portable with Revolutionary X-Dial Wheels: Weighing only 1.58 lb with an 11.9" portable screen, XP Pen drawing tablet features dual X-Dial wheels that instantly adjust brush size and canvas zoom, saving 40% operation time. The 33% narrower bezels provide more drawing area, while 8 customizable keys prevent misoperations. Perfect for digital artists sketching in cafes or students carrying this tablet with pen between classes
- Eye-Care Paper-Feel Display: AG etched glass provides paper-like texture, reducing 85% glare and resisting fingerprints. Full lamination technology ensures the pen tip closely follows the cursor with nearly zero parallax. Ideal for architects detailing blueprints or illustrators working long hours - your eyes stay comfortable even after 8-hour sessions with this professional graphic tablet
- Magnetic X4 Pen with 16K Precision: The X4 chip drawing pen features 16,384 pressure levels and 60-degree tilt support, with 2g initial pressure perfect for feather-detail illustrations on your drawing tablet. 50% faster response speed and 200% steadier nibs prevent wobble during precise inking. Includes 10 replacement nibs and magnetic attachment to prevent loss. Enjoy professional drawing experience with smooth, natural strokes that respond to your every movement
- Pro Color Accuracy with Factory Calibration: This drawing tablet with screen delivers 1920x1080 Full HD resolution with 99% sRGB and ΔE<1.5 color accuracy displaying 16.7 million colors. Factory pre-calibrated with OSD menu adjustment ensures perfect color matching for professional photography retouching or brand design projects where color precision is critical
- Certified Universal Compatibility: This art tablet guarantees flawless performance across all major platforms: Windows 7 or later, macOS 10.13 or later, Android 10.0 or later, ChromeOS 88 or later, Linux, and Windows ARM. It is rigorously tested with top software including Photoshop, Clip Studio Paint, and Krita, ensuring a stable and hassle-free experience for freelancers and students collaborating across different ecosystems
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo removes cookie banners, popups, and chat widgets before capture; bot checks, blank pages, and failed loads are never billed. It also has an MCP server so AI agents can take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Sign up for free and get 1,000 screenshots a month with no card.
Export the final composition
Export after the user has finished arranging the objects. Konva’s stage.toDataURL() returns an encoded data URL; stage.toBlob() returns a Blob that you can download or send elsewhere. The example uses a Blob to avoid constructing one large encoded data-URL string for the image. Konva documents both approaches in its stage data URL guide and canvas export guide.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePick a format that matches the output
- PNG: The default in Konva and the appropriate choice when the export needs to retain transparency.
- JPEG: Useful when a smaller photographic image matters more than transparency. JPEG does not preserve transparency, so add a background shape before exporting if the result must have a solid background.
For JPEG, pass the image MIME type and a quality value to the export method, for example stage.toDataURL({ mimeType: 'image/jpeg', quality: 0.9 }). Choose the quality value based on the output needs; the example value is not a guarantee of a particular file size.
Set resolution and crop deliberately
Use pixelRatio to increase the exported resolution without changing the scene’s coordinates. A 2× ratio produces four times as many output pixels as a 1× export, increasing memory use. Use the smallest ratio that meets the output requirement: large exports can consume substantial memory, and browser canvas limits mean an excessive size can result in a blank image.
Rank #4
- ALL-IN-ONE DESIGN: 11.45" Android 14 tablet, 8 GB memory/128 GB storage, battery-free, slim barrel Pro Pen 3, no computer needed; comes with Wacom Canvas app, 2 years of CLIP STUDIO PAINT DEBUT & trials of Ibis Paint, Magma blaze & Artwod training
- QUICK DRAW READY: Tap and hold the pen on screen to instantly launch Wacom Canvas and start sketching or taking notes the moment an idea hits, just like opening a sketchbook or notebook
- BEST-IN-CLASS PEN PERFORMANCE: Designed for MovinkPad, this slim version of Wacom Pro Pen 3, delivers 8,192 pressure levels, has three buttons, and comes with replacement nibs stored in the pen's back end
- PAPER-LIKE DRAWING EXPERIENCE: bright, sharp display with matte etched glass surface that feels like paper with subtle texture - reduces glare and fingerprints so you can focus on creating without distractions
- THIN, LIGHT, PORTABLE: Weighs just 1.3lbs, lighter than most laptops and easily fits in a bag or backpack, supports popular digital pens (Dr. Grip, LAMY, STAEDTLER); goes wherever a sketchbook can go
To export only part of a larger workspace, pass x, y, width, and height to the export method. These define the region to capture; they do not move or resize the objects in the scene.
Use raw Canvas when you need full control
With the browser’s raw Canvas API, maintain a list of shapes and their positions yourself. On pointer down, convert the event position into canvas coordinates and find the topmost shape under the pointer. During movement, update that shape’s coordinates and redraw. On pointer up, persist its final position. Pointer Events cover mouse, pen, and touch; calling setPointerCapture() after pointerdown helps the canvas continue receiving pointer events during a drag that moves beyond its bounds.
Coordinate conversion matters when the canvas is displayed at a CSS size different from its internal drawing-buffer size. For a simple untransformed canvas, scale the pointer’s position within its bounding rectangle by the ratio of the canvas’s internal width or height to the corresponding displayed dimension. If you use transforms, account for them when mapping pointer coordinates into the scene. A scene-graph library such as Konva avoids making you implement that interaction machinery yourself.
Best Value
- PLEASE NOTE: The XPPen Artist Ultra 16 Touchscreen Drawing Tablet needs to connect with a computer to use. You need to use it with your Computer or Laptop
- Next-Level Visuals with 4K OLED Screen: Experience breathtaking clarity and vibrant color with a 15.6-inch 4K OLED drawing tablet with screen. It boasts AMOLED technology, 3840 x 2160 UHD resolution, 100,000:1 contrast ratio, <1 ms response time, full laminated technology, anti-glare etched glass, AF coating, TÜV SÜD low blue light certification, which will bring you lifelike, exquisite, and crystal-clear images effortlessly, achieving instant feedback similar to drawing on paper, ideal for professional illustration, photo retouching, and animation
- Exceptional Color Performance: The Calman-verified UHD drawing monitor can not only showcase 1.07 Billion Colors (10-bit colors), but also features a 99% Adobe RGB, 99% sRGB, 98% Display P3 color gamut coverage ratio, and Delta E<1.1*, professional color accuracy, perfectly meeting the needs of creative professionals. 99% Adobe RGB coverage is suitable for professional photography and print reproduction. The 99% sRGB ensures color precision for all web designers and Social Media Content Creators, while 98% Display P3 delivers a cinema-level immersive viewing experience with video editors and game artists
- Revolutionary X-Touch Interaction: The all-new X-Touch solution is a powerful solution that allows for multi-point touch, enabling you to slide, zoom, and rotate the canvas with any of your fingers. Most of the standard touch gestures from Windows and macOS can be applied to the Artist Ultra 16. Customizing three, four, and five-finger gestures is also allowed to suit your workflow needs
- Exclusive Customizable Area: Adjust the size of the touch area by drawing a rectangle on the touchscreen. The touch function won't work in the rectangle. It can help you permanently prevent palm accidents for undisturbed, focused creation
Handle images and export failures
Prevent cross-origin images from tainting the canvas
A canvas that draws an image from another origin may not be exportable unless the image server permits the cross-origin request with an appropriate Access-Control-Allow-Origin response header. Set an image element’s crossOrigin property before assigning its src, and make sure the image host sends the required header. Setting the property alone cannot grant permission if the server does not allow it. Otherwise, export may be blocked with a security error. Konva explains the export behavior in its stage data URL documentation and export guide.
Wait until content is ready
Do not export before images and other asynchronous scene content have loaded and been added to the stage. If an image is missing from an export, check that its load has completed before enabling the download action. For a scene that can still change while a user drags an object, export after the drag completes or disable export during an active drag.
Troubleshoot common problems
- Objects do not move: Confirm the intended node has
draggable: true, is on the stage, and can receive pointer events. In raw Canvas, implement selection, hit testing, coordinate updates, and redraw; none is automatic. - The exported image is blank or too large: Reduce the requested dimensions or
pixelRatio. Browser limits apply to canvas dimensions and total area. - Export raises a security error: Check whether an image came from another origin. Set
crossOriginbeforesrcand verify that the image server returns an appropriateAccess-Control-Allow-Originheader. - Text or images are absent from the download: Ensure the relevant nodes have been added to the stage and their assets have loaded before exporting.
- The output loses its transparent background: Check that you are not exporting as JPEG. Use PNG when transparency matters.
- A cropped export cuts off content: Recheck the crop’s
x,y,width, andheightagainst the stage coordinate space. - A drag works with a mouse but not as expected on touch: If implementing raw pointer handling, use Pointer Events and pointer capture rather than relying on mouse-only event logic.
Check performance and reliability before shipping
- Save a compact scene representation—object types, properties, and coordinates—if users need to resume editing. The exported PNG or JPEG is a finished image, not a substitute for editable scene state.
- Use
dragmovefor visual updates that must happen during movement and avoid unnecessary application-wide work on every intermediate pointer event. If only final positions matter, persist ondragend. - Prefer Blob export for large output rather than creating a large data URL string. Keep output dimensions and pixel ratio within the browser’s canvas limits.
- Test exports with the actual image hosts and target browsers used by your app. Cross-origin permission depends on the image server’s response, and canvas limits vary by browser.
- For essential movement, test the HTML alternative controls as well as pointer dragging; a visually draggable canvas alone does not provide keyboard access to its shapes.
Frequently Asked Questions
Does calling canvas.toDataURL() make shapes draggable?
No. It exports pixels. You need a scene model and pointer interaction; a library such as Konva supplies draggable nodes.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Can I export only the selected area of a larger Konva stage?
Yes. Pass the region’s x, y, width, and height to the export method.
Should I use Konva or Fabric.js?
Both offer object-based interaction and export controls. Choose based on the API and framework fit for your app; Konva’s documentation specifically includes framework examples and built-in draggable nodes.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

