15 comments

  • jedimastert1 day ago
    If you&#x27;re looking for this to be a tool to be shared around and use by other people (and that&#x27;s definitely a big if, I know that&#x27;s not always a goal) I would HIGHLY recommend having sample pictures at the ready and immediately accessible.<p>Also this might just be me but the little info icon wasn&#x27;t immediately obvious to me<p>Handy little toy though, clean and easy enough to use
    • Rayid1 day ago
      Thanks for the feedback!<p>Adding sample pictures for easy access is a great idea—I’ll definitely consider that to improve usability.<p>Noted on the info icon! I’ll see if I can make it more noticeable.<p>Glad you found it clean and easy to use! Appreciate the suggestions :)
  • franky471 day ago
    Very nice, a couple of things you could improve:<p>- Mention that the image processing is done in the browser (and therefore works offline), which is great for privacy.<p>- Memorise the settings from one session to the next, via localStorage, or in the URL with `nuqs` (disclaimer: I&#x27;m the author).<p>- Your links in &#x2F;about (cobalt.tools and your personal domain) don&#x27;t work.<p>- You might want to set the html,body background colour to black, to avoid flashes of white background in weird viewport sizes and when overscrolling.
    • Rayid1 day ago
      Thanks for the feedback!<p>I&#x27;ll update the site to mention that image processing happens in the browser for better privacy.<p>Saving settings via localStorage or nuqs is a great idea—I’ll look into adding that.<p>I’ve already fixed the broken links in &#x2F;about, thanks for pointing it out!<p>The black background suggestion makes sense to prevent white flashes; I’ll implement that.<p>Regards, Developer :)
  • araes1 day ago
    On many of the tools, it would personally be preferable if the overall luminosity of the photo remained the same after they&#x27;re applied.<p>Generally, all its going to result in is needing to re-brighten the photo back to some &quot;normal&quot; luminosity after the noise is applied. Brightness &#x2F; Contrast in &quot;image editor of choice (or financial availability)&quot;<p>&quot;Dust&quot;, especially, tends to severely darken the image on every setting other than &quot;screen&quot;.<p>Generally, cool that it&#x27;s done totally in browser, and better than what&#x27;s available on a lot of phone apps.<p>Photoshop&#x27;s &quot;texturizer&quot; from decades ago would be something else to possible look at. Making a quick &quot;canvas&quot; look to the image, and similar &quot;noise&quot;.
    • Rayid1 day ago
      Thanks for the detailed feedback! I see what you mean about maintaining overall luminosity—I&#x27;ll look into adjusting the noise effects to preserve brightness better. &quot;Dust&quot; darkening too much is a great point, and I&#x27;ll look into it as well.<p>I&#x27;ll also check out Photoshop’s &quot;Texturizer&quot; for inspiration—adding a quick &quot;canvas&quot; effect sounds like a great idea.<p>Moreover, I am glad you like that it&#x27;s fully browser-based!<p>Appreciate the insights :)
      • araes1 day ago
        Glad it was helpful feedback. Seems like a noise tool for somebody who wants a quick noise effect, maybe without the ability to afford the full cost for something like Photoshop.<p>If you&#x27;re looking for stuff to add that might cool or add distinctiveness:<p>- Noise Types: Looks like you&#x27;re using White Noise, or possibly a 2D slice through 3D Perlin Noise. Adding the possibility for other noise types. 2D, 3D (2D slice), 4D (?, 2D slice) of Gradient&#x2F;Perlin Noise [1][2][3][4], Simplex Noise [5], or Wavelet Noise [6][7] you can select between for the underlying noise function.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Perlin_noise" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Perlin_noise</a><p>[2] Inigo Quilez Article on Perlin Noise: <a href="https:&#x2F;&#x2F;iquilezles.org&#x2F;articles&#x2F;gradientnoise&#x2F;" rel="nofollow">https:&#x2F;&#x2F;iquilezles.org&#x2F;articles&#x2F;gradientnoise&#x2F;</a><p>[3] 2D Implementation of Gradient Noise (Shadertoy): <a href="https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;XdXBRH" rel="nofollow">https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;XdXBRH</a><p>[4] 3D Implementation of Gradient Noise (Shadertoy): <a href="https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;4dffRH" rel="nofollow">https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;4dffRH</a><p>[5] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Simplex_noise" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Simplex_noise</a><p>[6] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Wavelet_noise" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Wavelet_noise</a><p>[7] Pixar Wavelet Noise Paper with Comparisons: <a href="https:&#x2F;&#x2F;graphics.pixar.com&#x2F;library&#x2F;WaveletNoise&#x2F;paper.pdf" rel="nofollow">https:&#x2F;&#x2F;graphics.pixar.com&#x2F;library&#x2F;WaveletNoise&#x2F;paper.pdf</a><p>- Fractal Brownian Motion Noise (basically, layered factor of 2 noise functions of another type at 1&#x2F;2 intensities) [8][9][10][11] (Inigo Quilez&#x27;s article is <i>dramatically</i> easier to read and comprehend than most articles, the WP article is <i>super</i> math heavy and nearly pointless unless you&#x27;re a math major.)<p>[8] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Fractional_Brownian_motion" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Fractional_Brownian_motion</a><p>[9] Book of Shaders, fBM: <a href="https:&#x2F;&#x2F;thebookofshaders.com&#x2F;13&#x2F;" rel="nofollow">https:&#x2F;&#x2F;thebookofshaders.com&#x2F;13&#x2F;</a><p>[10] Inigo Quilez Article on fBM: <a href="https:&#x2F;&#x2F;iquilezles.org&#x2F;articles&#x2F;fbm&#x2F;" rel="nofollow">https:&#x2F;&#x2F;iquilezles.org&#x2F;articles&#x2F;fbm&#x2F;</a><p>[11] fBM Impelementation (Shadertoy): <a href="https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;WsV3zz" rel="nofollow">https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;WsV3zz</a><p>- Domain warping noise (noise that performs a distortion on the location where the noise is applied). [12][13] This time, the Inigo Quilez article is rather intimidating. However, it can also be used to make much simpler variations like glass ripple distortions, water droplets, waves, ect...<p>[12] <a href="https:&#x2F;&#x2F;iquilezles.org&#x2F;articles&#x2F;warp&#x2F;" rel="nofollow">https:&#x2F;&#x2F;iquilezles.org&#x2F;articles&#x2F;warp&#x2F;</a><p>[13] Animated Domain Warping Implementation (Shadertoy): <a href="https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;4s23zz" rel="nofollow">https:&#x2F;&#x2F;www.shadertoy.com&#x2F;view&#x2F;4s23zz</a><p>- Noise Colors (White noise, Pink noise, Brownian noise, Blue noise, Violet noise, Grey noise, Velvet noise, Green noise, Thermal Blackbody noise)[14][15][16][17]<p>[14] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Colors_of_noise" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Colors_of_noise</a><p>[15] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;White_noise" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;White_noise</a><p>[16] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pink_noise" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pink_noise</a><p>[17] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Grey_noise" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Grey_noise</a>
        • Rayid1 day ago
          You&#x27;re right—this tool is designed for people who may not have a background in design and just want a quick, accessible way to add noise effects without expensive software. Adding too many features (as you suggested earlier) could make it more complex for casual users to use.<p>I appreciate the breakdown of different noise types! Adding options like Perlin, Simplex, fBM, and domain warping could definitely enhance versatility. Noise color variations are also an interesting idea. I&#x27;ll explore ways to integrate these while keeping the tool simple and user-friendly.<p>Thanks again for the great resources!
    • mcdeltat1 day ago
      It&#x27;d be good to know what colour space the effects are done in and how the blending modes affect that. I guess this is not targeted at people who are pedantic about colour science but I am a sucker for it. (Also if you can come up with a methodology that follows physical light properties then you may not need so many options, it will look good &quot;by default&quot;.)
  • jcynix1 day ago
    Nice one. I normally do jobs like this with ImageMagick but your tool work fine. As your tool runs inside the browser, as you say, the notions of &quot;Upload&quot; and &quot;Download&quot; aren&#x27;t the best ones, as these suggest actions with other computers. Maybe use &quot;Load&quot; and &quot;Save&quot; ...<p>And as I experimented, I wanted to get different intensities of an effect to compare, but all generated images where named &quot;noisy-image.png&quot; ... it would be nice to have the amount generated in the names, e.g. &quot;image-dust-30.jpg&quot; or &quot;image-film-45.jpg&quot; to easily store them side by side and remember the variations applied.
    • Rayid1 day ago
      &quot;Open&quot; does feel more intuitive than &quot;Load&quot; nowadays --I’ll consider updating that. And adding effect intensity to filenames is a great idea for easier comparison. Thanks for the feedback!
    • jimsmart1 day ago
      &gt; Maybe use &quot;Load&quot; and &quot;Save&quot; ...<p>Nowadays, perhaps &quot;Open&quot; is a better choice than &quot;Load&quot;
  • indie_architect20 hours ago
    That&#x27;s neat, I like the UI. Looks really extendible to other filters as well!
    • Rayid8 hours ago
      Thanks! Glad you like it! Yeah, it&#x27;s built to be extendable, so I can easily add more tools in the future.
  • Was your motivation just for aesthetic reasons?<p>I’m asking because I’m in the midst of a computer vision project where I am testing an algorithm for robustness, and will start building out a synthetically worsened data pipeline.
    • Rayid1 day ago
      Mostly aesthetic. However, this tool can definitely help you! It applies various types of noise, which could be useful for synthetically worsening images in your pipeline. Let me know if you need any specific adjustments!
  • thierrydamiba1 day ago
    Just fyi-doesn’t work for me on iPhone using safari. I can upload a file, but then I get a really long blank div. Then when I download there is no image.
    • mttch1 day ago
      Same for me, I had to press the options button on iOS when uploading and set the format to ‘most compatible’. It now works but the aspect ratio of the image is squashed.
    • Rayid1 day ago
      Could you try uploading a different image and see if the issue persists?
      • fsckboy1 day ago
        just to be clear, if the image processing happens in the browser, there is no &quot;uploading&quot;, right, it&#x27;s just loading into the browser?
        • Rayid1 day ago
          Yes, that&#x27;s correct! The image processing happens entirely in the browser, so nothing is uploaded—it&#x27;s just loaded and processed locally.
  • seanvelasco1 day ago
    i love small apps like these<p>just a feedback: app becomes super laggy when you try to edit a gif. if you do make a fix, can you share the solution here in the reply? i too struggle with it in some of my apps haha<p>also, i can&#x27;t find the button to reset the canvas so i can upload again
    • Rayid1 day ago
      Glad you like it!<p>The tool isn&#x27;t optimized for GIFs—it&#x27;s designed mainly for static images. That&#x27;s likely why it gets laggy when editing GIFs. I might explore GIF support in the future, but for now, it&#x27;s best suited for still images.<p>The reset option isn&#x27;t available yet, so you&#x27;ll need to reload the page for now. But I&#x27;ll be adding a reset button in an upcoming update!
  • ramblin_prose1 day ago
    I used this to add back a bit of &#x27;personality&#x27; to a gig poster I upscaled. Thanks - it worked great!
    • Rayid1 day ago
      Glad it helped bring back some personality to your poster. Thanks for trying it out!
  • megadata1 day ago
    I&#x27;m not a designer so pardon for asking. What&#x27;s the purpose of adding noise to an image?
    • MoonGhost1 day ago
      Noise is an artistic effect, it changes the look and feel.<p>A) It adds something in the blanked spaces.<p>B) improves visual sharpness of blurry images.<p>C) It works in video as well.<p>Also increases image file size and&#x2F;or introduces compression artifacts.
    • Rayid1 day ago
      No worries! So, noise adds texture, reduces banding, hides artifacts, and gives images a vintage or organic feel.<p>It’s a small touch, but it can make images look more natural and visually appealing!
      • alpaca1281 day ago
        It can also massively increase the file size of the image, sometimes that can be relevant.
        • Rayid1 day ago
          You&#x27;re right! Adding noise can significantly increase file size, especially with high-intensity effects. However, I&#x27;m actively working on optimizing the output to reduce file size while maintaining quality.
  • billfruit1 day ago
    Can it add &#x27;grain&#x27; to shape fills in svg?
    • Rayid1 day ago
      Yes, it works with SVG!
  • kratosthegod1 day ago
    The UI looks clean and easy to use!
    • Rayid1 day ago
      Glad you like it :)
  • nighthawk4541 day ago
    Hey, nice project. It was genuinely refreshing to just mess with some sliders on something interactive and no-bullshit. Cheers!
    • Rayid1 day ago
      Thanks! Glad you enjoyed it. I wanted to keep it simple and fun to use—appreciate the kind words!
  • please add demo pics
    • Rayid1 day ago
      I’ll soon add some demo images. Thanks for the suggestion!