High-performance JavaScript Image Editing in the Browser

A beautiful and intuitive JavaScript image editor that works everywhere and is easy for developers to integrate.

Get a license Learn more

Use Standalone or With Your Favorite Framework

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

A Great User Experience and Developer Experience

Doka packs everything your users need to edit images.

Developers can easily integrate Doka and define the image requirements.

  • Crop all images to a square aspect ratio cropAspectRatio: 1
  • Resize images to fit a 400 × 300 bounding box outputWidth: 400, outputHeight: 300, outputFit: 'contain'
  • Fix incorrect mobile photo orientation correctImageExifOrientation: true
  • Automatically apply a grayscale filter filter: 'noir'
  • 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, Svelte, Angular, jQuery, uses Bootstrap, Foundation, or something completely different, Doka will fit right in.

Ships with handy framework adapter components

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

Run into trouble during integration? Get in touch and our support desk can help you out.


Loading code snippet…


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
  • Firefox
  • Opera
  • 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.

Pick one of the included integration presets and you're up and running immidiately.


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 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+ reviews

Join 100s of companies who are 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 Company license.

  • Up and running in no-time with framework preset templates.

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.


$2499 / year

Suitable for large companies with multiple projects and big teams

Buy now

$499 / year

Ideal for Agencies or Dev Teams working on one or more projects

Buy now

$129 / year

Perfect for personal websites, apps, or other side-projects

Buy now
Number of developers Unlimited developers 5 developers 1 developer
Number of products Unlimited products Unlimited products​ 1 product
Premium support Priority Priority Yes
Framework presets Yes Yes Yes
Integration examples Yes Yes Yes
Unminified source Yes Yes Yes
Perpetual license Yes Yes Yes
All features 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, Svelte, and jQuery.

All demo's on this product page are included for each of the frameworks listed above. The React, Vue, Angular, and Svelte 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
    • svelte
    • 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
    • svelte
      • DemoInline.svelte
      • DemoModal.svelte
      • DemoPreview.svelte
      • DemoProfile.svelte
    • 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.

Where can I get a trial version?

We currently don't offer a trial version of the software. We're happy to refund your purchase within 30 days if Doka does not fit your needs.

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?

Create a PQINA account and register your product using the license key you received with your purchase. You can then download all product releases from the PQINA customer portal.

Other questions?

Feel free to contact us here.

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