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.
Installation
- Unzip the downloaded package to any folder on your computer
- Open
imagecraft/index.htmlin any modern browser - 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:
| Key | Default | Description |
|---|---|---|
appName | "ImageCraft" | Application name shown in the topbar |
accentColor | "#6C63FF" | Primary highlight and button color |
defaultTheme | "dark" | "dark" or "light" |
defaultCanvasWidth | 1080 | Initial canvas width in pixels |
defaultCanvasHeight | 1080 | Initial canvas height in pixels |
defaultCanvasBackground | "transparent" | Starting canvas fill color |
Importing Images
Three ways to add images to the canvas:
- File menu → Open Image — click to pick a file from disk
- Drag & Drop — drag any image file directly onto the canvas area
- Paste — copy an image to clipboard and press
Ctrl+V
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
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
Draw Tool B
Freehand brush painting. Properties:
| Property | Range | Description |
|---|---|---|
| Brush Size | 1–200px | Width of the brush stroke |
| Brush Opacity | 0–100% | Transparency of each stroke |
| Brush Type | Pencil / Circle / Spray | Stroke 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
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:
- Blur: Applies a box-blur algorithm under the brush. Adjust brush size and blur strength.
- Sharpen: Applies an unsharp mask convolution. Useful for recovering fine details.
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.
| Action | How |
|---|---|
| Reorder | Drag & drop layers in the panel |
| Toggle Visibility | Click the eye icon |
| Lock / Unlock | Click the padlock icon |
| Rename | Double-click the layer name |
| Duplicate | Select layer → Duplicate button or |
| Delete | Select layer → Delete (trash) button or |
| Blend Mode | Dropdown in the layer controls area |
| Opacity | Slider 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:
| Control | Range |
|---|---|
| Brightness | -1 to +1 |
| Contrast | -1 to +1 |
| Saturation | -1 to +1 |
| Hue Rotation | -180° to +180° |
| Blur (CSS) | 0–20px |
| Noise | 0–100 |
| Pixelate | 0–50 |
AI Tools Toolbar
Four AI-powered tools are available from the purple AI button in the toolbar:
| Tool | Description |
|---|---|
| Upscale | 2× AI upscaling using UpscalerJS/TensorFlow.js (falls back to canvas interpolation if AI model unavailable) |
| Auto Color | Adds subtle color to desaturated/gray areas — automatically detects dull pixels and warms them |
| Remove BG | On-device background removal via @imgly/background-removal WebAssembly model. Runs entirely in-browser — no uploads. |
| Enhance | All-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.
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).
Export
Click the Export button in the topbar or press
| Format | Notes |
|---|---|
| PNG | Lossless, supports transparency |
| JPG | Lossy, configurable quality (0–100%) |
| WEBP | Modern format, configurable quality |
| Page 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: .json file. Load it back via File → Open Project.
Keyboard Shortcuts
| Key | Action |
|---|---|
| Select Tool | |
| Crop | |
| Draw Brush | |
| Eraser | |
| Text | |
| Shapes | |
| Stickers | |
| Eyedropper | |
| Fill | |
| Pan | |
| Zoom | |
| Undo | |
| Redo | |
| Save Project | |
| Fit Canvas to Screen | |
| Toggle Grid | |
| Toggle Rulers (Ctrl+R/Cmd+R refreshes the page) | |
| Delete Selected | |
| Swap FG/BG Colors |