Changelog

A complete history of every update we've shipped.

April 1, 2026

Pixel renderer bands, supersampling & stability fixes

New
  • ๐ŸŽš๏ธ Binarization bands

    Divide the output into discrete luminance bands instead of a single threshold. A bandsScale parameter controls the distribution curve so bands can be weighted toward highlights or shadows.

  • ๐Ÿ“ˆ bandsScale (metaball)

    Applies the same non-linear distribution control to the metaball renderer.

  • ๐Ÿ” Supersample in preview

    Renders the preview at a higher internal resolution before downscaling, reducing aliasing on fine patterns.

Improved
  • ๐Ÿ’พ Export dialog persistence

    Scale, format, and quality choices are remembered between sessions.

  • ๐Ÿ”„ Cancel / resume auto-renewal

    Buttons now show a loading state while the request is in flight, preventing double-clicks.

  • โš ๏ธ Incomplete subscriptions

    Now redirect to the Stripe Billing Portal to complete payment, rather than showing an error.

Fixed
  • ๐Ÿ”ต Metaball low decay rendering

    Rendering logic was corrected and default values were updated to decayRate=8 and threshold=0.1.

  • ๐Ÿšซ Duplicate subscriptions

    A race condition allowed duplicates to be created. The checkout flow now blocks new sessions when an active paid subscription already exists.

  • ๐Ÿ–ฅ๏ธ Subscription tab flicker

    This was caused by double data fetching on load and has been consolidated into a single fetch.

  • ๐Ÿ–ผ๏ธ Thumbnail generation

    This silently failed due to a stale closure capturing an outdated model reference. It was fixed by using refs for model and settings.

  • ๐Ÿค– Background remover

    This threw image load errors when an Object URL was revoked before the image finished loading.

  • ๐Ÿ“ธ Snapshots component

    Multiple bugs were fixed, including an incorrect sourceBlob type, revoked Object URLs, and records not being cleaned up when IndexedDB writes failed.

March 6, 2026

Brand refresh

New
  • ๐Ÿ–‹๏ธ New logotype

    SVG was added to the navbar and footer.

  • โœจ Animated logo spinner

    Uses spring physics via anime.js for a smooth, natural-feeling entrance animation. A minimum loading duration ensures the animation completes before the studio appears.

Improved
  • ๐ŸŽจ Favicon and app icons

    Updated to the new brand design.

January 29, 2026

Stippling, Floyd-Steinberg dithering & SVG direct mode

New
  • โœ๏ธ Stippling renderer

    Distributes dots based on image luminance using a relaxation algorithm, producing an irregular, hand-engraved look distinct from the regular grid renderers.

  • ๐Ÿ”ฒ Floyd-Steinberg dithering

    Propagates quantization error to neighboring pixels for smooth tonal gradients in binarized output. The result shows significantly less banding than threshold-only binarization.

  • ๐Ÿ“ SVG direct mode export

    An alternative SVG output path writes shapes without going through the canvas, improving compatibility with Illustrator, Inkscape, and laser cutter software.

  • ๐Ÿ”ข Live dot count

    Updates in real time as you adjust parameters, alongside the canvas pixel dimensions.

Improved
  • ๐Ÿ”’ Stippling stability

    Deep-cloned grid points prevent state mutation, making undo/redo reliable when switching renderers.

November 28, 2025

Undo/redo, diff highlighting & editing tools

New
  • โ†ฉ๏ธ Undo/redo

    Step back and forward through every parameter change with Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z.

  • ๐Ÿ” Diff highlighting

    Any value that differs from its default is highlighted, so you can see at a glance what has been changed in each section.

  • โ†”๏ธ Grid stretch

    Independently scale the halftone grid on the horizontal and vertical axes for non-uniform patterns.

  • ๐Ÿ”€ Image flip

    Horizontal and vertical flip were added to the cropper dialog.

  • ๐ŸŒ“ Contrast adjustment

    Added to the image adjustments panel.

  • ๐ŸŽจ Canvas background customization

    Choose a solid color or a checkerboard transparency pattern.

  • ๐ŸŽš๏ธ Quantization mix parameter

    Blend between the original and quantized input for subtler posterization.

Improved
  • ๐Ÿ”‘ License refresh

    Manually sync entitlements from the account page without signing out.

Fixed
  • ๐Ÿท๏ธ Slider labels

    Fixed wrapping to a second line on narrow panels.

September 29, 2025

Pro subscription

New
  • ๐Ÿ’Ž Pro subscription

    Monthly and yearly plans unlock unlimited AI background removal and other premium features. Manage your plan from the account tab.

  • ๐Ÿ›’ Spot purchase

    A one-time payment option for users who prefer not to subscribe.

  • ๐Ÿ’ณ Card and Link

    Payment methods supported at checkout.

  • ๐Ÿท๏ธ Promotion codes

    Enter a discount code at the Stripe checkout page.

  • โ–ถ๏ธ Checkout session resume

    If you sign in mid-flow, you are automatically returned to where you left off.

  • โฌ†๏ธ Upgrade prompts

    Integrated into the batch processing and export dialogs.

Improved
  • โš™๏ธ Subscription management

    Cancel, resume auto-renewal, and downgrade flows are now clearly separated with loading states on each action.

  • ๐Ÿงพ Automatic tax

    Collected at checkout via Stripe Tax.

September 11, 2025

WASM Gaussian blur & Environment settings

New
  • โšก WASM Gaussian blur

    Blurs are computed in a WebAssembly module, providing a true Gaussian blur instead of relying on the CSS blur approximation used previously.

  • โš™๏ธ Environment settings panel

    Choose between CSS blur, WASM blur, and other blur methods. The selected method persists between sessions.

  • ๐ŸŒ Language switcher

    Change the interface language without navigating to a settings page.

Improved
  • ๐Ÿ”ต Blur radius as sigma

    Now treated as standard deviation rather than pixel radius, giving more predictable results across different image sizes.

  • ๐Ÿ”„ Quota fetching

    Usage data stays fresh without redundant network requests.

August 31, 2025

AI background removal

New
  • ๐Ÿค– AI background removal

    Remove the background from any image with one click. The result is returned as a transparent PNG ready to halftone.

  • ๐Ÿ“ก Real-time job status

    A progress indicator updates live as the server processes your image.

  • โ†”๏ธ Before/after comparison slider

    Drag to reveal how much of the background was removed.

  • ๐Ÿ“Š Monthly usage display

    Remaining credits, next reset date, and billing period are shown clearly in the account panel.

  • ๐Ÿ”„ PWA manual update

    When a new version is available, a prompt lets you choose when to apply it rather than reloading automatically.

  • ๐Ÿ”ข SVG export precision

    Controls the number of decimal places in path coordinates to reduce file size.

Improved
  • ๐Ÿ“Š Usage quota

    The UI clearly shows how many credits remain and when they reset.

August 20, 2025

User accounts & preset cloud sync

New
  • ๐Ÿ‘ค User accounts

    Sign in with email/password, phone number (OTP), or Google OAuth. A welcome dialog is shown on first sign-in.

  • โ˜๏ธ Preset cloud sync

    Presets saved while signed in are stored in the cloud and automatically available on any device.

  • ๐Ÿง‘ User avatar

    Displayed in the navbar when signed in.

  • โ†บ Section reset buttons

    Quickly restore any section to its default values without touching other settings.

  • ๐Ÿ”ฒ Standalone quantization panel

    Quantization controls are now directly accessible in the sidebar without going through a sub-menu.

Improved
  • ๐Ÿ›ก๏ธ Turnstile CAPTCHA

    Integrated into all auth flows to prevent spam and credential stuffing.

  • โšก Blob caching

    Previously processed image data is reused instead of recomputed, making preset switching and snapshot loading noticeably faster.

July 10, 2025

Advanced mode, displacement, PWA & 9 new languages

New
  • ๐Ÿ”ฌ Advanced mode

    A toggle that reveals hidden parameters across all panels, including scale, radius factor, alpha blending, and rendering internals, for granular control beyond the standard UI.

  • ๐ŸŒ€ Displacement settings panel

    Warp the halftone grid using 2D noise, with displacement type, scale, amount, and seed controls for organic, hand-printed distortion.

  • โšซ Metaball binarization toggle

    Switch the metaball renderer to a hard binarized output instead of a smooth gradient.

  • ๐ŸŒ 9 new languages

    French, Portuguese, Italian, German, Spanish, Russian, Chinese (Simplified), and more were added.

  • ๐Ÿ“ฑ PWA support

    Install the app to your home screen via the browser prompt. The app launches in standalone mode and works offline.

  • ๐Ÿ“ Bounding mode

    Controls how output dimensions are calculated relative to the source image.

  • ๐Ÿ’ณ Pricing page

    Added with plan details and subscription options.

Improved
  • ๐Ÿ”ข SVG numeric precision

    Lower values produce smaller files with negligible visual difference.

  • โฌ‡๏ธ Download button redesigned

    SVG and PNG are now clearly separated actions in a popover menu.

May 17, 2025

Pixel renderer, sampling effects & quantization

New
  • โšก Tile-based pixel renderer

    Large images are processed in tiles so you can cancel a render mid-way without freezing the browser.

  • ๐ŸŒŠ Sampling effects panel

    Layer wave, noise, and other effects directly on top of any halftone pattern. Includes wave shift and frequency controls.

  • ๐Ÿ”ฒ Quantization and dithering options

    Posterize the input image before halftoning, with Bayer matrix dithering patterns from 2ร—2 up to 16ร—16.

  • ๐ŸŒ Korean and Italian

    Interface languages were added.

Improved
  • โœ‚๏ธ Cropper dialog

    Rotate the source image in 90ยฐ steps before applying the crop.

  • โณ Download spinner

    Shown during export so it is clear when a file is being generated.

  • ๐Ÿ”ง Toolbar layout reorganized

    Grid and pixel renderer shortcuts are directly accessible without opening a sub-menu.

1 / 2

Create stunning halftone art in your browser, with no install, sign-up, or uploads needed to get started.

Trusted by subscribers in over 60 countries.

Launch Now