[{"data":1,"prerenderedAt":266},["ShallowReactive",2],{"blog-screenshot-editor-update":3,"blog-surround-screenshot-editor-update":255},{"id":4,"title":5,"body":6,"date":244,"description":245,"extension":246,"meta":247,"navigation":248,"path":249,"published":248,"seo":250,"seoTitle":251,"sitemap":252,"stem":253,"__hash__":254},"blog\u002Fblog\u002Fscreenshot-editor-update.md","A friendlier screenshot editor",{"type":7,"value":8,"toc":229},"minimark",[9,13,16,19,22,27,35,38,46,50,53,56,60,63,66,82,85,89,100,103,107,110,130,133,137,144,150,154,161,168,172,179,182,186,189,192,196,199,203,211,214,217,220],[10,11,12],"p",{},"We've spent the last two weeks reworking searchferret's screenshot editor, and honestly... we're a little giddy with how it's turned out.",[10,14,15],{},"What started as a handful of \"wouldn't it be nice if...\" notes became a proper overhaul. Inline editing, real keyboard shortcuts, undo\u002Fredo, duplication, and a long tail of polish that makes the whole thing feel a lot easier to live with.",[10,17,18],{},"None of these are headline features on their own. Together though, they've turned the editor from something we tolerated into something we actually enjoy using.",[10,20,21],{},"Here's the tour.",[23,24,26],"h2",{"id":25},"paste-edit-download","Paste, edit, download",[10,28,29,30,34],{},"The thing we want people to feel first is that there's no ceremony. Sign in to your free account, hit ",[31,32,33],"strong",{},"⌘V"," to paste a screenshot straight from your clipboard, annotate it however you like, and hit download. No \"save to searchferret\", no round-trip through a cloud library.",[10,36,37],{},"The editor is a tool you reach for, use, and close. Like a local app that happens to live in a browser tab.",[10,39,40,41,45],{},"If you ",[42,43,44],"em",{},"do"," want to share it with your team, that's a single click away. Upload to searchferret and you get a clean share link, same as with videos. That's an option though, never a tollbooth.",[23,47,49],{"id":48},"edit-text-where-you-see-it","Edit text where you see it",[10,51,52],{},"Text blocks used to be edited from a sidebar input. Now you just double-click the text on the canvas, type, and click away. The text input itself stays invisible until you interact with it, so there's no distracting border around every text block.",[10,54,55],{},"We also gave text a proper styling pass: background fill, optional border (with square, medium, or large corner radius), size slider, alignment, and a bold toggle. Enough to make a clean callout without leaving the canvas.",[23,57,59],{"id":58},"undo-and-redo","Undo and redo",[10,61,62],{},"There's now an undo\u002Fredo toolbar at the top of the editor, next to the \"add layer\" menu. Both buttons gray out when there's nothing to go back (or forward) to.",[10,64,65],{},"Keyboard shortcuts work the way you'd expect:",[67,68,69,76],"ul",{},[70,71,72,75],"li",{},[31,73,74],{},"⌘Z \u002F Ctrl+Z"," for undo",[70,77,78,81],{},[31,79,80],{},"⌘⇧Z \u002F Ctrl+Shift+Z"," for redo",[10,83,84],{},"Bursts of changes (dragging a slider, nudging a box around) collapse into a single history entry, so one undo press reverses the whole move instead of unwinding it pixel by pixel.",[23,86,88],{"id":87},"alt-drag-to-duplicate","Alt-drag to duplicate",[10,90,91,92,95,96,99],{},"Hold ",[31,93,94],{},"Alt"," (or ",[31,97,98],{},"Option"," on Mac) and drag any layer (box, mask, arrow, text) to drop a copy wherever you let go. The original stays put.",[10,101,102],{},"It's the Figma move, and it turns out to be the fastest way to make, say, three arrows in a row, or a stack of masks for a diff.",[23,104,106],{"id":105},"keyboard-first-selection","Keyboard-first selection",[10,108,109],{},"Small things, but they add up:",[67,111,112,118,124],{},[70,113,114,117],{},[31,115,116],{},"Click empty space"," to deselect the current layer.",[70,119,120,123],{},[31,121,122],{},"Escape"," to deselect (and to exit text-edit mode if you're in it).",[70,125,126,129],{},[31,127,128],{},"Backspace \u002F Delete"," to remove the selected layer.",[10,131,132],{},"If you're typing in a text layer, Backspace does what it always does inside text. The editor is smart enough not to nuke your layer mid-sentence.",[23,134,136],{"id":135},"draw-on-it-with-the-pen","Draw on it with the pen",[10,138,139,140,143],{},"Sometimes an arrow is too formal. The new ",[31,141,142],{},"Pen"," tool lets you scribble straight onto the screenshot: click Pen in the toolbar, pick a colour and thickness right there, and drag. Circle the weird bit, underline the thing, draw the little squiggle that says \"this, right here\".",[10,145,146,147,149],{},"Strokes come out smooth (we curve through your pointer samples rather than connecting the dots), and every stroke is its own layer. That means undo works per stroke, you can move a stroke after the fact, alt-drag duplicates it, and you can recolour or thicken it later from the sidebar. A single click makes a dot. ",[31,148,122],{}," (or clicking Pen again) puts the pen down.",[23,151,153],{"id":152},"circles-join-the-party","Circles join the party",[10,155,156,157,160],{},"The Box button has grown into a ",[31,158,159],{},"Shape"," menu: box or circle, your pick. Circles are drawn inside the same draggable, resizable frame as boxes, with the same stroke, width, and fill controls — great for ringing a button or a face without the sharp corners.",[10,162,163,164,167],{},"And a bonus that applies to boxes, circles, ",[42,165,166],{},"and"," arrows: double-click one to give it a text label. Shapes get the label in the centre; arrows carry it at their tail. The label inherits the shape's colour, and you can style its size, background pill, and border from the sidebar.",[23,169,171],{"id":170},"an-eyedropper-in-every-colour-picker","An eyedropper in every colour picker",[10,173,174,175,178],{},"Every colour control in the editor (strokes, fills, text, masks, backgrounds) now opens the same picker: a proper colour area, a hex field that accepts any CSS colour, and an ",[31,176,177],{},"eyedropper",".",[10,180,181],{},"The eyedropper is the sleeper feature here. Click it, then click any pixel on your screen — including the screenshot itself — and that's your colour. Matching an annotation to your product's brand colour used to mean a round-trip through some colour-picker website; now it's two clicks. On browsers without native eyedropper support we hand you the system colour picker instead, which on a Mac has its own magnifier tucked inside.",[23,183,185],{"id":184},"masks-with-a-bit-of-personality","Masks with a bit of personality",[10,187,188],{},"Masks (the blur or colour blocks you use to hide sensitive info) now support the same three radius presets as text blocks: square, medium, and large. Large gives you a nice capsule shape for redacting a single row, and medium is the sensible default for most boxes.",[10,190,191],{},"We also dropped the always-on dashed outline on unselected masks. Masks are visible now (they have fill or blur), so the outline was just visual noise.",[23,193,195],{"id":194},"curved-arrows-that-actually-look-like-arrows","Curved arrows that actually look like arrows",[10,197,198],{},"Tiny fix, but it bugged us. When you curved an arrow, the rounded end of the shaft poked through the arrowhead, making the tip look recessed. That's sorted now. The shaft tucks cleanly under the triangle on both straight and curved arrows.",[23,200,202],{"id":201},"sidebar-that-stops-shifting","Sidebar that stops shifting",[10,204,205,206,210],{},"If you've used the editor recently, you may have noticed the sidebar twitching slightly wider when you selected a text or box layer. The culprit was a crowded row of controls that couldn't shrink past the native ",[207,208,209],"code",{},"\u003Cinput type=\"range\">"," minimum width. Sidebar width is stable now across all layer types.",[212,213],"hr",{},[10,215,216],{},"None of this shows up on a pricing page, but it's the kind of thing you feel every time you use the tool. More polish coming. Let us know what else bothers you.",[10,218,219],{},"Until next time!",[10,221,222,225,228],{},[31,223,224],{},"Wouter",[226,227],"br",{},"\nFounder",{"title":230,"searchDepth":231,"depth":231,"links":232},"",2,[233,234,235,236,237,238,239,240,241,242,243],{"id":25,"depth":231,"text":26},{"id":48,"depth":231,"text":49},{"id":58,"depth":231,"text":59},{"id":87,"depth":231,"text":88},{"id":105,"depth":231,"text":106},{"id":135,"depth":231,"text":136},{"id":152,"depth":231,"text":153},{"id":170,"depth":231,"text":171},{"id":184,"depth":231,"text":185},{"id":194,"depth":231,"text":195},{"id":201,"depth":231,"text":202},"2026-04-21","What's new in searchferret's screenshot tool: a freehand pen, circles, an eyedropper in every color picker, inline text editing, keyboard shortcuts, undo\u002Fredo, and a pile of small polish.","md",{},true,"\u002Fblog\u002Fscreenshot-editor-update",{"title":5,"description":245},null,{"loc":249},"blog\u002Fscreenshot-editor-update","EnECxhzzDJGLV8vqPoOyHbyMXuiKI14wfbb_JOuM4Co",[256,261],{"title":257,"path":258,"stem":259,"description":260,"published":248,"children":-1},"The quiet costs of running a remote team (and the async video habit that helps)","\u002Fblog\u002Fquiet-costs-of-remote-work","blog\u002Fquiet-costs-of-remote-work","Timezone friction, meeting overload, and vanishing context are the real costs of running a distributed team. Async video, the searchable kind, is the habit that plugs the biggest leak.",{"title":262,"path":263,"stem":264,"description":265,"published":248,"children":-1},"Pricing, and how we think about it","\u002Fblog\u002Fpricing-philosophy","blog\u002Fpricing-philosophy","How we think about searchferret's pricing. Generosity at the front door, an honest ladder as you grow, no seat-count games.",1788809890601]