High-performance JavaScript image editing in the browser

Cropping, rotating, flipping, filtering, resizing, annotating, and client-side transforming of images, it's all possible 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!

  • Toggle crop, filter, color, markup, and resize controls
  • Add annotations to the image
  • 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
  • Change locale of all labels
  • 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…

A word from our customers

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

Get Your Doka License Below

Use Doka in unlimited SaaS projects, web applications, and websites, receive free updates and premium support. Select your license and get started!

30-day money-back guarantee. Love Doka, or get your money back

$109 / year

Buy now

$449 / year

Buy now

$1999 / year

Buy now
Seats Unlimited
Support Yes Priority Priority
All features Yes Yes Yes
Free updates Yes Yes Yes

What's in the package? Doka 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 run from the command line using npm start

  • 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