Stroke Width Randomizer

Stroke Width Randomizer

Figma Plugin

Description

A powerful Figma plugin that applies random stroke widths to selected objects within a customizable range. Perfect for creating organic, hand-drawn effects or adding visual variety to your designs.

Features

  • Live Preview: See changes in real-time as you adjust settings
  • Customizable Range: Set minimum and maximum stroke width values (0-100px)
  • Smart Controls: Interactive sliders and numeric inputs with keyboard shortcuts
  • Zero-Stroke Handling: Option to skip objects that don't have strokes
  • Nested Object Support: Apply randomization to child elements within groups and frames

image gallery

➊ Getting Started

  1. Select Objects: Choose one or more objects in your Figma canvas that you want to apply random stroke widths to
  2. Open Plugin: Go to Plugins → Stroke Width Randomizer
  3. Adjust Settings: Configure your desired stroke width range and options
  4. Preview Changes: The plugin shows live preview by default
  5. Apply: Click "Apply Random Stroke" to finalize the changes

➋ Interface Overview

Stroke Width Range

  • Minimum Stroke Width: The lowest possible stroke width (0-100px)
  • Maximum Stroke Width: The highest possible stroke width (0-100px)
  • Use sliders for quick adjustments or input fields for precise values

Options

  • Skip Zero Stroke Objects: When enabled, objects without existing strokes will be ignored
  • Live Preview: Toggle real-time preview of changes (enabled by default)
  • Include Nested Objects: Apply randomization to child elements within selected groups/frames

Controls

  • Randomize: Generate a new random pattern while keeping the same settings
  • Apply Random Stroke: Apply the current preview to your selection permanently
  • Cancel: Close the plugin and revert any preview changes

➌ Keyboard Shortcuts

When focused on numeric input fields:

  • Arrow Keys: Adjust value by ±1
  • Shift + Arrow Keys: Adjust value by ±10
  • Cmd/Ctrl + Arrow Keys: Adjust value by ±0.1

Slider Shortcuts

  • Right-click or Double-click on minimum slider: Reset to 0
  • Drag sliders: Real-time value adjustment with live preview

➍ Advanced Usage

Working with Groups and Frames

The plugin can handle nested objects in two ways:

  1. Selected Objects Only: Apply randomization only to the directly selected items
  2. Include Nested Objects: Apply randomization to all child elements within selected groups, frames, or components

Zero-Stroke Handling

  • Skip Enabled: Objects without strokes remain unchanged
  • Skip Disabled: Objects without strokes will receive new random stroke widths and default black stroke color

Preview Mode

  • Live preview shows changes immediately as you adjust settings
  • Each preview uses a unique random seed for variation
  • The "Randomize" button generates new random patterns
  • Final application can either match the preview exactly or generate new random values

☻ Wrap-Up

This Figma plugin streamlines the process of adding organic, hand-drawn effects to your designs by intelligently randomizing stroke widths across selected objects. With live preview, customizable ranges, and support for nested elements, it's perfect for creating natural line weight variations in illustrations, sketches, and technical diagrams.

Try it out and explore the creative possibilities of randomized stroke widths in your next project.


Leave a comment

Stroke Width Randomizer

Version: 1.0.0

Updated:

  • 1.0.0 – Initial release.

  • Supported Versions:

    • Compatible with Adobe Illustrator CS6 and later, including Adobe Illustrator CC versions.

    Operating Systems:

    • Works on both macOS and Windows platforms.
  • End User License Agreement (EULA)

    Last Updated: 21.12.2024

    This End User License Agreement (“Agreement”) is a legal agreement between you (“User” or “Licensee”) and Samolevsky.com (“Licensor”) regarding the use of the Adobe Illustrator scripts (“Software”). By downloading, installing, or using the Software, you agree to be bound by the terms of this Agreement.

    1. Grant of License

    Licensor grants the User a non-exclusive, non-transferable, and revocable license to use the Software in accordance with this Agreement.

    • Free Software: If the Software is provided for free, you may use it for personal or commercial purposes without payment, subject to the restrictions outlined in this Agreement.
    • Paid Software: If the Software is provided for a fee, you may use it only after payment has been made in full.

    2. Usage Rights

    You are permitted to:

    • Install and use the Software on devices you own or control.
    • Use the Software in your personal or commercial projects, subject to compliance with this Agreement.

    3. Restrictions

    You may NOT:

    • Reverse engineer, decompile, or otherwise attempt to discover the source code, underlying ideas, or algorithms of the Software.
    • Reuse, incorporate, or integrate any portion of the Software into any other software, product, or project, except as expressly permitted by the Licensor in writing.
    • Resell, redistribute, or share the Software, whether in its original or modified form, without prior written consent from the Licensor.
    • Claim ownership of the Software or its underlying code.
    • Use the Software in any way that violates applicable laws or regulations.

    4. Ownership

    The Software and all intellectual property rights therein remain the exclusive property of the Licensor. This Agreement does not transfer ownership of the Software or any intellectual property rights to the User.

    5. Disclaimer of Warranties

    THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    6. Limitation of Liability

    To the maximum extent permitted by law, Licensor shall not be liable for any damages, including but not limited to direct, indirect, incidental, special, or consequential damages, arising out of or related to the use or inability to use the Software.

    7. Termination

    This Agreement is effective until terminated. Licensor may terminate this Agreement immediately if you breach any term of this Agreement. Upon termination, you must cease all use of the Software and destroy any copies in your possession.

    8. Updates and Support

    Licensor is not obligated to provide updates, support, or maintenance for the Software. However, updates may be provided at the sole discretion of the Licensor.

    9. Governing Law

    This Agreement shall be governed by and construed in accordance with the laws of the State of New York, without regard to its conflict of law principles.

    10. Entire Agreement

    This Agreement constitutes the entire agreement between you and the Licensor concerning the Software and supersedes all prior or contemporaneous understandings regarding such subject matter.

    By using the Software, you acknowledge that you have read this Agreement, understand it, and agree to be bound by its terms.

    For any questions or concerns regarding this Agreement, please contact us at hello@samolevsky.com

Required Software

Figma

Figma is a cloud-based design and prototyping tool primarily used for user interface and user experience design. It allows designers, developers, and other stakeholders to collaborate in real-time on projects.

Browse More Plugins

  1. Explore Stroke Width Randomizer
    Stroke Width Randomizer

    Stroke Width Randomizer

    A powerful Figma plugin that applies random stroke widths to selected objects within a customizable range.

    Explore
  2. Explore Stroke Scaler
    Stroke Scaler

    Stroke Scaler

    A Figma plugin that allows you to scale and adjust stroke weights on selected objects with real-time preview.

    Explore
  3. Explore Select by Name
    Select by Name

    Select by Name

    Select by Name is a powerful Figma plugin that allows you to quickly find, filter, and select design elements by their names across your Figma documents. 

    Explore

Got questions?

Need help or have an idea to share? We’d love to hear from you! Whether you have questions, found a bug, have a feature request, or just want to share your feedback, reach out to us—we’re here for you!