Shŏu

The embeddable
web editor SDK.

A zero-dependency, vanilla JavaScript toolkit for building visual web editors and image editors. Drop it into any project with a single script tag.

0
Dependencies
2
Editors in 1
ES6+
Modern JS
Shou Editor
Blocks
Heading
Text
Image
Button
Columns
Web Editor
JSImageEditor
DESIGN
Layers
T
Text
Shapes
Background
Image Editor

Everything you need to build
visual web editors

A full-featured Bootstrap visual editor with drag-and-drop blocks, live preview, responsive device switching, and a complete programmatic API.

Drag & Drop Blocks

Pre-built Bootstrap 5 component blocks. Drag navbars, heroes, cards, forms, footers and more directly into your page.

Visual + Code Editor

Switch seamlessly between the visual canvas and a syntax-highlighted code editor for HTML, CSS and JavaScript.

Responsive Preview

Instantly preview your designs on desktop, tablet and mobile viewports with a single click.

Flexible Save Options

Save as a full HTML page or JSON. Export locally or POST to your API endpoint with built-in callbacks.

Form Binding

Bind the editor output to any HTML form with a single method call. Perfect for CMS and admin panel integration.

Themes & i18n

Built-in dark and light themes. Full internationalization support with English and Spanish out of the box.

Photoshop-like image editing
in the browser

A complete image editor with a real layer system, blend modes, drawing tools, text layers, layer groups, filters and export. All in a single vanilla JS file.

  • Multi-layer compositing with blend modes
  • Drawing: pencil, eraser, shapes, arrows, gradients
  • Selection tools: rect, ellipse, polygon, freehand, magic wand
  • Re-editable text layers with Google Fonts
  • Layer styles: drop shadow, glow, stroke, color overlay
  • Import images as layers & export PNG/JPEG/WebP
  • Visual resize handles, zoom/pan, right-click menu
  • Crop, resize, rotate, flip & real-time filters
  • Layer groups, full undo/redo history
  • Color palette with hex input and web color swatches
Try Image Editor
Layers
T
Text Layer
Content
Background

Professional tools,
zero dependencies

Layer System

Full layer management with opacity, blend modes, visibility, reorder via drag-and-drop, groups with folders, and right-click context menu.

Selection Tools

Rectangular, elliptical, polygon, freehand and magic wand selections with marching ants animation. Copy, cut, paste selections as new layers.

Text & Google Fonts

Re-editable text layers with 80+ Google Fonts loaded via CDN. Weight, style, spacing, line height, decoration and alignment controls.

Layer Styles

Photoshop-style blending options: drop shadow, inner shadow, outer glow, stroke and color overlay with live preview.

Drawing Tools

Pencil, eraser, shapes, arrows, gradients, flood fill, eyedropper and move tool. Color palette with hex input and web color swatches.

Import & Export

Import images as new layers via button or drag & drop. Export to PNG, JPEG or WebP with quality slider and file size estimation.

Filters & Transforms

Real-time brightness, contrast, saturation, blur, grayscale, sepia and hue filters. Crop, resize, rotate and flip.

Visual Resize & Zoom

8 resize handles with proportional scaling (Shift). Zoom in/out, fit to screen, pan tool, and scrollbars for large canvases.

History & Shortcuts

Full undo/redo history. Keyboard shortcuts for all tools, copy/paste, zoom, select all, deselect and invert selection.

Drop in.
Start building.

No npm, no webpack, no build step. Include two script files and initialize with a single line. Works with any framework or plain HTML.

  • Works with file:// protocol
  • No CORS issues with local images
  • JSON configuration for everything
  • Full programmatic API
  • Embeddable or modal mode
  • Custom save endpoints via POST
const editor = ShouEditor.init('#editor', {
  theme: 'dark',
  width: '100%',
  height: '100vh',
  saveTarget: 'remote',
  saveEndpoint: 'https://api.example.com/save',
  onSaveSuccess: (res) => console.log('Saved!', res)
});

// Get the generated code
const { html, css, js } = editor.getCode();

Start building today

No sign-up required. No dependencies to install. Just download and go.