Documentation

Complete reference for ImageCraft — a professional AI-powered browser image editor built on Fabric.js.

Introduction

ImageCraft is a fully browser-based image editor requiring no server, no installation, and no plugins. Open index.html in any modern browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+) and you're ready to edit.

💡 All AI processing runs entirely on your device — no images are ever uploaded to any server.

Installation

  1. Unzip the downloaded package to any folder on your computer
  2. Open imagecraft/index.html in any modern browser
  3. Start editing — All tools and features are available immediately

That's it. No server, no database, no command line, no build tools. Everything runs in your browser.

For the best experience, serve the folder with any HTTP server (e.g. python -m http.server 8080) to ensure file loading works correctly. However, simply opening index.html directly works for most features.

Configuration

Customize ImageCraft by editing config.json in the root folder:

KeyDefaultDescription
appName"ImageCraft"Application name shown in the topbar
accentColor"#6C63FF"Primary highlight and button color
defaultTheme"dark""dark" or "light"
defaultCanvasWidth1080Initial canvas width in pixels
defaultCanvasHeight1080Initial canvas height in pixels
defaultCanvasBackground"transparent"Starting canvas fill color

Importing Images

Three ways to add images to the canvas:

Supported formats: PNG, JPG, WEBP, GIF (static), SVG. Images are added as scalable Fabric.js objects preserving full quality.

Select Tool V

The default tool. Click any object to select it. Drag corners to resize; drag the rotate handle to rotate. Hold Shift to select multiple objects.

The Properties panel updates to show the selected object's position, size, opacity, and AI options.

Crop Tool C

Crops the entire canvas to a rectangular region. Click and drag to define the crop area, then press Enter or click Apply to confirm. Press Escape to cancel.

Draw Tool B

Freehand brush painting. Properties:

PropertyRangeDescription
Brush Size1–200pxWidth of the brush stroke
Brush Opacity0–100%Transparency of each stroke
Brush TypePencil / Circle / SprayStroke rendering style

Color is set via the foreground color swatch in the bottom of the toolbar.

Eraser Tool E

Erases painted strokes. Uses the native EraserBrush from Fabric.js when available, falling back to a destination-out compositing path for full transparency.

Text Tool T

Click anywhere on the canvas to place an editable text block. Double-click existing text to edit inline. Properties include font family, size, weight, style, alignment, color, line height, and letter spacing.

Shapes Tool S

Click and drag to draw: Rectangle, Ellipse, Triangle, Line, Arrow, or Star. Fill color, stroke color, and stroke width are configurable. Hold Shift while dragging to constrain proportions.

Stickers Tool K

Browse 400+ emoji stickers across 9 categories: Smileys, Gestures, Nature, Animals, Food, Sports, Objects, Symbols, and Travel. Adjust size with the slider before clicking to place. Stickers are editable IText objects — resize, rotate, or double-click to change them.

Fill & Eyedropper G I

Fill (G): Click an object to fill it with the current foreground color. Click the canvas background to fill the canvas color.

Eyedropper (I): Click any pixel on the canvas to sample its color into the foreground swatch. Note: images loaded from external URLs may be blocked by CORS and prevent color sampling.

Blur & Sharpen

Paint-on pixel effects using a brush:

⚠️ These tools operate directly on the HTML5 canvas pixel data. Images with CORS restrictions cannot be processed.

Vignette

Adds a radial gradient darkening overlay. Configure amount (opacity), softness (gradient radius), and vignette color. Click Apply to bake it as a canvas layer, or Remove to clear it.

Layers Panel

Every object on the canvas appears as a layer. Layers are listed top-to-bottom matching the canvas stacking order.

ActionHow
ReorderDrag & drop layers in the panel
Toggle VisibilityClick the eye icon
Lock / UnlockClick the padlock icon
RenameDouble-click the layer name
DuplicateSelect layer → Duplicate button or Ctrl+J
DeleteSelect layer → Delete (trash) button or Delete key
Blend ModeDropdown in the layer controls area
OpacitySlider in the layer controls area

Filters & Adjustments

Select an image object, then expand Filters & Adjustments in the Properties panel.

Preset Filters: Vivid, Matte, B&W, Vintage, Cool, Warm — one-click LUT-style filters.

Manual Adjustments:

ControlRange
Brightness-1 to +1
Contrast-1 to +1
Saturation-1 to +1
Hue Rotation-180° to +180°
Blur (CSS)0–20px
Noise0–100
Pixelate0–50

AI Tools Toolbar

Four AI-powered tools are available from the purple AI button in the toolbar:

ToolDescription
Upscale2× AI upscaling using UpscalerJS/TensorFlow.js (falls back to canvas interpolation if AI model unavailable)
Auto ColorAdds subtle color to desaturated/gray areas — automatically detects dull pixels and warms them
Remove BGOn-device background removal via @imgly/background-removal WebAssembly model. Runs entirely in-browser — no uploads.
EnhanceAll-in-one photo enhancement: median denoise → per-channel auto levels (0.3% clip) → 3×3 unsharp mask → vibrance boost

Select an image layer first, then click the AI button and choose your tool. A status bar appears at the bottom of the screen during processing.

💡 Upscale and Remove BG require internet on first use to download AI models (~30MB each). Subsequent uses work offline. Auto Color and Enhance work 100% offline.

AI Background Removal

Select any image object, then click Remove BG in the AI flyout or find it in the Properties panel. The AI model (@imgly/background-removal) runs fully on-device via WebAssembly and ONNX Runtime. The first run downloads the model (~30MB, cached after).

💡 Best results on images with a clear subject against a distinct background. Works offline once the model is cached.

Export

Click the Export button in the topbar or press Ctrl+Shift+E.

FormatNotes
PNGLossless, supports transparency
JPGLossy, configurable quality (0–100%)
WEBPModern format, configurable quality
PDFPage sized to canvas dimensions

Scale multiplier lets you export at 1×, 2×, or 3× the canvas resolution. Grid lines and system overlays are automatically hidden during export.

Save Project: Ctrl+S saves the canvas as a .json file. Load it back via File → Open Project.

Keyboard Shortcuts

KeyAction
VSelect Tool
CCrop
BDraw Brush
EEraser
TText
SShapes
KStickers
IEyedropper
GFill
HPan
ZZoom
Ctrl+ZUndo
Ctrl+YRedo
Ctrl+SSave Project
Ctrl+0Fit Canvas to Screen
Ctrl+GToggle Grid
RToggle Rulers (Ctrl+R/Cmd+R refreshes the page)
DeleteDelete Selected
XSwap FG/BG Colors