Paint Forge supports multiple export formats, clipboard operations, image import via drag-and-drop, and automatic local and cloud saving. This page covers all the ways to get your work in and out of the editor.
Open the Export dialog from File > Export or the command palette. The available formats cover both raster and vector output.
| Format | Type | Details |
|---|---|---|
| PNG | Lossless | Full quality with alpha channel support. Transparent backgrounds are preserved when the canvas transparency setting is enabled. |
| JPEG | Lossy | Quality slider from 0 to 100. Does not support transparency — transparent areas are filled with the canvas background color. |
| WebP | Lossy / Lossless | Modern format with quality control and alpha channel support. Smaller file sizes than PNG at comparable quality. |
| AVIF | Lossy / Lossless | Next-generation format with excellent compression. Browser support is detected automatically — the button shows "(N/A)" when unsupported. |
| SVG | Vector | Vector objects are exported as native SVG elements (rect, ellipse, path, text, etc.). Raster layers are embedded as base64-encoded PNG images. Group layers become nested SVG groups. |
| PSD | Raster | Adobe Photoshop format. Each layer is exported with its name, opacity, visibility, and blend mode. Vector objects are rasterized. Compatible with Photoshop, Affinity Photo, and other PSD-compatible applications. |
| Document | Single-page PDF sized to the canvas. The composited canvas is rendered at export scale and embedded as a raster image — ideal for handoff, print, or email where recipients do not have Paint Forge. Larger canvases may fail in-browser; reduce scale if the export reports an error. |
Need to bundle every static format at once? The Export dialog has an Export All Formats button that zips PNG, JPEG, WebP, AVIF, and SVG into a single {filename}-all-formats.zip download.
The Export dialog provides several controls for fine-tuning the output.
Save frequently used export configurations as named presets so you can apply them with a single click.
Batch Export lets you export individual layers or objects as separate image files, packaged into a single ZIP download. Open it from File > Batch Export or the command palette.
{##} token in your naming template to get zero-padded sequential numbers (01, 02, 03, ...), which keeps files sorted correctly in file managers.Paint Forge offers three separate animation export pipelines, each tuned for a different use case.
The unified Animation Export dialog renders every frame through the full timeline — interpolated keyframes, frame-group cels, motion paths, parent-child rigging, audio (where applicable) — and encodes the result in one of six formats.
| Format | Best for | Notes |
|---|---|---|
| GIF | Web previews, social posts | 256-color palette per frame via gifenc. Universal browser support. Per-frame delay 20–2000 ms, loop mode infinite/once/custom. Up to 100 frames, max dimension 2048 px. |
| WebM | Long clips, small files | VP8/VP9 video via MediaRecorder + canvas.captureStream(). Full color, modern browsers only. |
| MP4 | Wide device compatibility | H.264 video — tries mp4/avc1 MIME types then falls back to WebM if the browser lacks native MP4 encode. |
| APNG | Lossless alpha animation | Animated PNG with full alpha channel. Larger files than WebM/MP4 but pixel-perfect. |
| Sprite Sheet | Game engines | Tiled grid PNG (all frames on one image). Columns / rows auto-computed; output includes metadata JSON. |
| Image Sequence | Video editors, post-production | ZIP of numbered PNG or JPEG files (one per frame). Ideal for importing into DaVinci, Premiere, or After Effects. |
Every timeline format except Sprite Sheet supports optional motion blur via over-sampling. The encoder renders multiple sub-frames inside each frame's shutter window and averages them, producing cinematic streaks on fast-moving objects.
The older layer-per-frame GIF export is still available for flipbook workflows where each layer represents one frame (and no timeline is involved). Configurable from File > Export as GIF or the command palette.
The Lottie button in the Animation panel's transport bar emits a Bodymovin-compatible JSON file that plays inside any Lottie runtime (web, iOS, Android, React Native).
For web hand-off where you want pure CSS animations — no runtime, no JSON — use Command palette → Export as CSS @keyframes. Emits a stylesheet with one @keyframes block per animated object plus a .pf-obj-* class selector that applies it.
For UI and game-asset workflows, define named slices (rectangular export regions) and export them individually or as packed atlases. Slices export to individual files (PNG/JPEG/WebP/SVG/PDF) at multiple scales via export ladders, a packed sprite sheet (CSS atlas + optional TexturePacker-compatible JSON, or an SVG<symbol> sprite), a W3C Design Tokens JSON, a per-slice animated export (GIF/APNG/WebM/MP4/Lottie), or a multi-page spec sheet PDF. This is separate from the timeline sprite-sheet above (which tiles animation frames). See the Slices & Asset Export page for the full workflow.
Paint Forge supports a full set of copy, paste, and cut operations for objects, pixel data, styles, and adjustment configurations.
| Operation | Shortcut | Description |
|---|---|---|
| Copy | Ctrl+C | Copies selected objects as JSON to the internal clipboard. |
| Paste | Ctrl+V | Pastes copied objects with a cascading offset. The offset wraps back to zero after 200px. |
| Paste in Place | Ctrl+Shift+V | Pastes copied objects at their original position (no offset). |
| Paste as New Layer | Ctrl+Alt+Shift+V | Creates a new layer and pastes the copied objects onto it. |
| Cut | Ctrl+X | Copies the selected objects and then deletes them from the canvas. |
| Copy Merged | Ctrl+Shift+C | Composites all visible layers, crops to the active pixel selection bounds (with mask alpha), and copies the result as a PNG to the system clipboard. |
| Copy as SVG | — | Copies selected vector objects as SVG markup to the system clipboard. Available from the Edit menu, context menu, and command palette. |
| Copy Style | Ctrl+Alt+C | Copies the visual style of the selected object: fill, stroke, opacity, blend mode, and effects. |
| Paste Style | Ctrl+Alt+V | Applies a previously copied style to the currently selected objects. |
| Copy/Paste Adjustment | — | Transfers the full filter configuration between adjustment layers. Use the inline buttons in the adjustment layer config or the Image menu. |
| Copy Transform | Ctrl+Alt+T | Copies the transform properties of the selected object: position, size, rotation, scale, skew, and flip. |
| Paste Transform | — | Applies a previously copied transform to the current selection. Available from the Edit menu and command palette. |
Images can be added to the canvas by dragging files directly onto the editor or by using the Upload Image dialog (File > Upload Image).
Three command-palette imports turn external animation files into an editable frame group that you can retouch, rotoscope over, or re-export.
| Command | Source | Result |
|---|---|---|
| Import Animated GIF… | .gif file | Decodes the GIF into one child layer per frame, groups them, and flips the group into a frame group. Original frame delays become per-frame duration overrides so the re-export preserves timing. |
| Import Video… | .mp4 / .webm / .mov | Samples the video at a configurable FPS with optional start/end trimming. Each sampled frame becomes a layer inside a new frame group — ideal for rotoscoping or creating reference-based animations. |
| Import Lottie JSON… | Bodymovin .json | Imports static geometry — shapes (rect, ellipse, polygon, star, line, path) and images — from a Lottie animation. Fills (solid + gradient) are preserved. Keyframe playback import is future work. |
Several canvas-level commands are available from the Image menu and the command palette:
Paint Forge uses a multi-layered saving strategy that combines local auto-save, cloud persistence, and session backups to protect your work.