High-performance JavaScript image editing in the browser

Cropping, rotating, flipping, filtering, resizing, annotating, and client-side transforming of images, it's all effortless with Doka.

Get a license Learn more

Use Standalone or With Your Favorite Framework

  • React
  • Vue
  • Angular
  • Electron
  • Tailwind CSS
  • Bootstrap
  • Foundation
  • jQuery

Easy Image Editing for Your Customers

Doka packs everything your customers need when editing images, you decide which features are available and have full control over the end result.

Only want to receive square images? No problem! All pictures should be in grayscale? Done! Photos should be resized and compressed? Check!

  • Change text and language of all labels
  • Toggle crop, filter, color, markup, and resize controls
  • Add annotations to the image
  • Automatically apply watermarks
  • Define custom values for markup colors, fonts, and style dropdowns
  • Set predefined markup and control markup editing rules
  • Bright and dark theme defined with CSS Custom Properties
  • Control image brightness, contrast, exposure, and saturation.
  • Set a minimum output image size
  • Customisation of the output size
  • Full screen and modal layout mode
  • Set to preview mode to render on top of an existing image
  • Render as editor mode right in the webpage
  • Load file objects, URLs, and dataURLs
  • Load canvas elements and image tags
  • An intuitive user experience on all platforms
  • Load raster images like GIFs, PNGs, JPEGs and Bitmaps
  • Load, transform, and save SVGs
  • Automatically corrects photo orientation
  • Copy JPEG EXIF data to output image
  • Transform input images to other image formats
  • Compress JPEG images
  • Preserve transparency when editing and saving PNGs
  • Easily integrate with third party libraries
  • Enable additonal rotate right button
  • Enable or disable aspect ratio dropdown
  • Customize aspect ratio dropdown options
  • Load images by dropping files on editor

Missing a feature? Let us know here

A User-friendly Approach to Image Cropping

Empower your users to personalize their profile pages.

Use Doka preview-mode edit images in place, judge the result before confirming the crop.

Edit full screen and enable crop masks to create space for editing and a great preview of the end result.

Optimise Images Before They Hit Your Server

Use Doka with FilePond or other popular file upload components to create a streamlined editing and uploading experience for your customers.

Easily Integrate Doka With Your Project

Doka is written in native JavaScript, includes a TypeScript declaration file, and has zero dependencies. Whether your project is based on React, Vue, Angular, jQuery, uses Bootstrap, Foundation, or something completely different, Doka will fit right in.

Ships with handy framework adapter components

The React, Vue, Angular, and jQuery adapter components make it super easy to integrate Doka in your web application.


Loading code snippet…


Loading code snippet…


Loading code snippet…


Loading code snippet…


Loading code snippet…

Compatible with a wide range of browsers and devices

Doka is compatible with browsers going back as far as Internet Explorer 11 and performs fine on older Android and iOS devices as well.


  • Chrome latest
  • Firefox latest
  • Opera latest
  • Microsoft Edge 12+
  • Safari 9+ Mac
  • Internet Explorer 11


  • Safari 9+ iOS
  • Chrome Android
  • Firefox Android

The Doka API is set up to integrate beautifully with all kinds of file upload components. Whether you're using FilePond, Dropzone, Uppy or jQuery File Upload, installation will be a breeze.

The product package contains example integrations and helper functions for all the plugins above.


Loading code snippet…


Loading code snippet…


Loading code snippet…


Loading code snippet…

jQuery File Upload

Loading code snippet…

Why Our Customers Love Doka

They love our focus on the perfect user experience, our professional documentation, and our fast hands-on support that saves them time and allows them to focus on building their products​.

PQINA serves over 8,000 customers and is rated 4.93 out of 5 stars based on 450+ customer reviews.

Join 100s of companies who are already using Doka to provide their customers a better Image Editing experience.

Get The Best JavaScript Image Editor Now

  • Use in SaaS Projects, Websites, and Web-Based Apps.

  • Use in Unlimited Projects with Team license.

  • Enjoy our Premium Support safety net.

Love Doka, or get your money back

30-day money-back guarantee

We offer a 30-day money-back guarantee. If for any reason you aren't satisfied with our product we'll send you a full refund.


$129 / year

Buy now

$499 / year

Buy now

$1999 / year

Buy now
Developers 1 developer 5 developers Unlimited developers
Projects 1 project Unlimited projects Unlimited projects
Support Yes Priority Priority
All features Yes Yes Yes
Free updates Yes Yes Yes

What's in the package? License Agreement

All licenses are perpetual. If you don't renew your subscription you may continue to use Doka in your product, but will receive no further updates.

OEM and Enterprise Licenses

If the above licenses don't cover your use case, for instance if you're packaging Doka in a product for other developers to use, contact us here to get started.


What's in the package?

The package contains the Doka library files, various integration examples with popular file upload libraries, and Doka example projects for JavaScript, React, Vue, Angular, and jQuery.

All demo's on this product page are included for each of the frameworks listed above. The React, Vue, and Angular projects can be quickly run from the command line using npm start command.

  • license.pdf
  • README.md
  • src
    • doka.mjs
    • doka.scss
  • bin
    • browser
    • esm
    • typescript
    • react
    • vue
    • angular
    • jquery
    • polyfill
  • integrations
    • filepond
    • dropzone
    • uppy
    • jquery-fileupload
    • file-input
  • examples
    • react
      • DemoFilePond.jsx
      • DemoInline.jsx
      • DemoModal.jsx
      • DemoPreview.jsx
      • DemoProfile.jsx
    • vue
      • DemoFilePond.vue
      • DemoInline.vue
      • DemoModal.vue
      • DemoPreview.vue
      • DemoProfile.vue
    • angular
      • demo-filepond.component.ts
      • demo-inline.component.ts
      • demo-modal.component.ts
      • demo-preview.component.ts
      • demo-profile.component.ts
    • jquery
      • inline.html
      • modal.html
      • preview.html
      • profile.html
    • native
      • inline.html
      • modal.html
      • preview.html
      • profile.html

How do you define a developer?

A developer is someone on your team interacting with the Doka codebase. This includes implementing, integrating, or changing the code. The license is bound to the amount of developer seats, not the individual developers.

How do I contact support?

All licenses include support as long as the subscription has not expired. Use the support form to submit a ticket. If your license has expired, please renew the license to receive further support.

How do I request a refund?

30-day money-back guaranteed for any purchase under the conditions detailed in the License Agreement.

What are my payment options?

Transactions are handled by Gumroad. The Gumroad store accepts credit cards or PayPal. For more information read the Gumroad FAQ entry on payment methods

How do I generate an invoice?

You'll find a link to generate an invoice in the purchase confirmation email. For more information read the Gumroad FAQ entry on invoices

What happens when I cancel my subscription?

When you cancel your subscription you may continue to use your current version of Doka for life, but will receive no further updates or support after the yearly term has ended.

How is VAT handled?

VAT is automatically handled by Gumroad. If you have a VAT ID you can enter it on your invoice, if you're not required to pay VAT, Gumroad will automatically issue a refund.

How do I download the product?

Log in to your Gumroad account, click on your account name in the top right corner. Make sure the account is set to "buying". Click the "library" menu item to see an overview of your purchases.

Other questions?

Feel free to contact us here.

Didn't find what you were looking for? Ask us here