Open Source Image Editor
Powerful Image Editing for Modern Web & Mobile Apps
A lightweight, framework-agnostic image editor for cropping, drawing, annotations, shapes, text, filters and more.
Built for modern web applications
Interactive Demo
Try the Editor
Upload an image and experience the editor directly in your browser.
Ready. Open the sample image or upload your own files.
Theme
Default sample image preview. Click "Try with sample image" to open the editor.
Core Features
Everything you need to edit and annotate images
Powerful tools for cropping, drawing, shapes, callouts and more.
Crop
Refine framing with responsive handles and precise crop guides for profile photos, banners, and product visuals.
Learn moreDraw
Highlight exactly what matters using smooth freehand strokes in configurable colors and brush widths.
Learn moreShapes
Add rectangles, circles, and lines with controlled fill and border settings that stay crisp on export.
Learn moreCallouts
Direct attention with annotation bubbles and pointers that make reviews, tutorials, and bug reports clear at a glance.
Learn moreText
Layer labels and notes with adjustable font size and color for easy communication.
Eraser
Remove unwanted strokes quickly to correct details without resetting your progress.
Undo / Redo
Step backward or forward through edits with predictable history controls.
Save in Multiple Formats
Export final images as PNG, JPEG, or WebP for every delivery channel.
Theme Customization
Match your product with light and dark themes plus configurable color tokens.
Multilingual Support
Deliver a localized editor experience with built-in language packs.
Modal + Embedded Modes
Launch as a popup for quick tasks or mount inline for persistent editing flows.
Responsive Layout
Maintain usability across desktop and mobile viewports without custom wrappers.
And that's only the beginning.
See annotation in action →Image Annotation
Annotate images like a pro
Highlight problems, explain designs, mark screenshots and communicate visually with drawing, shapes, text and callouts.
Original
Annotated
Why rp-image-editor
Built for teams shipping image features
Built for real image workflows
From first upload to final export, rp-image-editor keeps every essential step in one consistent interface.
Open Source / MIT
MIT-licensed package with public source and contribution-friendly workflows.
Powerful Annotation
Combine draw, shapes, callouts, text, and erasing in one editor session.
Mobile Ready
Touch-friendly interactions support practical image editing on mobile web.
Customizable
Theme tokens, labels, export settings, and tool controls adapt to your product.
Why choose rp-image-editor?
Basic croppers handle framing. rp-image-editor gives your users a complete browser workflow for review, markup, and export without switching tools.
Platform Support
Built for your stack
Package documentation references support for these modern web and mobile environments.
Framework and platform compatibility
Use the core package directly or integrate with wrappers where available.
Developer Experience
Get started in minutes
Install the package and open the editor with the documented API.
Developer workspace examples
import { openEditorModal } from '@rageshpikalmunde/rp-image-editor';
const fileInput = document.querySelector('#fileInput');
fileInput.addEventListener('change', async (event) => {
const file = event.target.files?.[0];
if (!file) return;
const result = await openEditorModal({
image: file,
config: {
exportFormat: 'jpeg',
exportQuality: 0.92
}
});
if (result) {
console.log(result.file);
console.log(result.base64);
}
});
import { openEditorModal } from '@rageshpikalmunde/rp-image-editor';
function ImageUploader() {
const handleFile = async (event) => {
const file = event.target.files?.[0];
if (!file) return;
const result = await openEditorModal({
image: file,
config: { exportFormat: 'jpeg' }
});
if (result) {
console.log(result.file);
}
};
return <input type="file" accept="image/*" onChange={handleFile} />;
}
import { openEditorModal } from '@rageshpikalmunde/rp-image-editor';
async function onFileSelected(file: File) {
const result = await openEditorModal({
image: file,
config: { exportFormat: 'jpeg', exportQuality: 0.92 }
});
if (result) {
console.log(result.file);
}
}
Use Cases
Where teams use rp-image-editor
Document Annotation
Mark up uploaded documents and snapshots before sharing or saving.
Screenshot Markup
Add arrows, labels, and highlights for product feedback and bug reporting.
Image Upload Workflow
Allow users to adjust and annotate images before final upload.
Mobile Editing
Enable in-browser touch-friendly editing flows for mobile web applications.
Product Workflow
Select or drop source images.
Frame content and normalize dimensions.
Draw, shape, text, and callout overlays.
Apply filters and tuned theme settings.
Return output as File, Blob, or Base64.
Open Source
Built in the open
Explore the source, report issues, suggest improvements, or contribute to rp-image-editor.
FAQ
Common questions
What frameworks can I use with rp-image-editor?
The package is framework-agnostic and documentation references JavaScript, React, Angular, Vue, Ionic, and Capacitor usage.
Is rp-image-editor free?
Yes. The package is available on npm and released under the MIT license.
Is it open source?
Yes. The source code and issue tracker are available on GitHub.
Does it work on mobile?
The editor supports touch interactions, including pinch zoom and drag behavior for mobile workflows.
Can I customize the editor?
Yes. Theme colors and several behavior options are configurable through the editor config.
How do I install it?
Run npm install @rageshpikalmunde/rp-image-editor and then call openEditorModal with an image file.
Where can I find documentation?
Use the package README in the GitHub repository for setup details and API examples.
Ready to add image editing to your application?
Try the live demo, then integrate using the same API shown in this page.