Pip & Pixel
✦ Manual Updated Nov 11, 2026 by @Nicole McCain

Pip's Studio — Settings Reference

Settings reference and documentation handbook.

Overview

Most brush tuning now happens in the Brush Workshop inside the app; brushes.js only holds the built-in defaults.

WhereWhat it controlsHow to change it
Brush WorkshopEvery brush setting, custom tip shapes, new and duplicated brushesSliders button in the top bar, or W
Bottom dockBrush, size, opacity and color while drawingTap or drag
Pen readout panelPressure feel (pressure curve)Pencil icon, top right
studio/js/brushes.jsDefault values for the six built-in brushesEdit the numbers, save, reload. Brushes you've edited in the Workshop keep your edits until you press Reset
Browser storageYour brushes and edits, palettes and recent colors, current brush or tool, color, pressure feel, theme, per-brush size and opacity, all your drawingsSaved automatically

Every drawing autosaves to the browser about 2 seconds after each stroke. Each drawing has its own canvas size, set when you create it.

App, offline and phones

Pip's Studio lives at [pipandpixel.net/studio](https://pipandpixel.net/studio/) and can be installed like an app.

TopicHow it works
Install on iPad / iPhoneIn Safari: Share → Add to Home Screen. Opens full screen with the paw icon
OfflineAfter one visit online, the studio opens without internet, in the browser or from the home screen. Online, it always loads the newest version
Home-screen storage on iPadThe home-screen app keeps its own storage, separate from Safari. Move drawings and brushes over with Export and Import
First visitA welcome pop-up gives quick tips. “Don't show this again” is ticked by default; Help → Tips can show it again
Phones (under 700 px wide)The top bar keeps Undo, Redo and Layers; everything else is in the ⋯ menu
Small phones (under 430 px)Dock tools show as icons only, so all of them fit
New drawingsOn a tall screen, new drawings start as Portrait (1536 × 2048)
Moving the canvasPanning stops once the canvas covers about 40% of the screen, so it can't get lost off the edge. Zoomed in, every corner is still reachable

Fill and colors

Fill (paint bucket)

The bucket is the first tool in the dock (F). Tap an area to fill it with the current color on the selected layer.

SettingWhereWhat it does
ToleranceThe Size slider, while Fill is selected0–100% (default 15%). Higher fills across more similar colors
OpacityThe Opacity slider, while Fill is selectedOpacity of the fill
  • Fill looks at all visible layers to find edges, so line art can sit on its own layer with the color filled on a layer below.
  • The filled area grows 1 px, so it tucks under soft line edges without a light halo.
  • Fill respects hidden, locked and alpha-locked layers, and is undoable.
  • Fill leaking out? Close gaps in the line art or lower Tolerance.
  • Colors and palettes

    The rainbow square in the dock opens the color panel.

    PartWhat it does
    Hue ringDrag around it to pick the hue. Starting from black or gray, it jumps to a vivid shade
    Shade squareAcross: from white to full color. Down: towards black
    HexType a color such as #f2792b
    Add to paletteAdds the current color to the selected palette
    RecentThe last 12 colors you actually painted with
    PalettePick a palette; the dock's swatches show its first 12 colors
    New / Rename / DeleteManage palettes (up to 48 colors each)
    Remove…Tap colors to take them out of the palette; Done to finish
    ImportPaste any text with hex codes, such as the Palette Extractor's “Copy CSS Variables”
    CopyCopies the palette as CSS variables (--color-1, --color-2 …)

    The starting palette is Pip & Pixel. Palettes and recent colors are saved on the device.

    Layers

    Every drawing is a stack of layers, drawn bottom to top over the paper. Open the Layers panel with the stacked-layers button in the top bar, or L; tap a layer to draw on it.

    ControlWhat it doesUndoable
    +Adds a layer above the selected oneYes
    EyeShows or hides a layerNo
    LockProtects a layer from drawing and clearingNo
    Alpha lockPainting and fill only land where the layer already has paint; the row shows “α lock”. The Eraser still erasesNo
    Opacity0–100% for the whole layerYes
    Normal / Multiply / Screen / OverlayHow the layer mixes with the layers belowYes
    Up / DownMoves the selected layerYes
    DuplicateCopies the selected layer above itYes
    Merge downCombines the layer into the one below, keeping its lookYes
    RenameUp to 40 charactersNo
    ClearEmpties the selected layer (also the trash button in the top bar)Yes
    DeleteRemoves the selected layer; a drawing keeps at least oneYes
    Canvas sizeLayers allowed
    2048 × 1536 (Landscape, Portrait)15
    2048 × 2048 (Square)11
    2480 × 3508 (A4 print)5
  • The limit keeps big drawings inside iPad Safari's memory; the panel shows the count, such as 2 of 15.
  • Drawing on a hidden or locked layer is refused with a message.
  • The eyedropper picks the color you see across all visible layers.
  • Undo stores only the changed area of each step. Very old steps are dropped once history passes about 160 MB.
  • Brush Workshop

    Open it with the sliders button in the top bar or W; close with ×, Esc, or a tap outside the panel. Picking a brush there also makes it your current brush.

    PartWhat it does
    Brush listAll brushes. A dot marks a built-in you've edited; custom brushes are labeled
    DuplicateCopies the selected brush, including your current size and opacity
    ResetPuts an edited built-in back to its brushes.js defaults, including its tip
    DeleteRemoves a custom brush. Built-ins can't be deleted. No undo
    ImportAdds brushes from a .pipbrush or .pipbrushes file
    ExportSaves the selected brush as a .pipbrush file
    Export allSaves all custom and edited brushes as one .pipbrushes pack
    Test padSample strokes for the brush type. Draw on it with any pen or finger. Brushes show at the size they appear on your drawing
    Sample / ClearBring back the sample strokes, or start blank
    SettingsName, then Shape, Stamp, Paint, Tilt shading and Feel. Only settings that apply to the brush are shown

    Every change redraws the pad straight away, including strokes you drew yourself.

    Custom tip shapes

    Import image… turns a picture into the brush's stamp. The shape is stored inside the brush.

    InputHow the shape is read
    SVGDrawn at 512 px, then read like a transparent image
    PNG or WebP with transparencyOpaque areas become paint; colors are ignored
    Opaque image, e.g. black on whiteDark areas become paint, white becomes empty
  • Invert swaps paint and empty; Round goes back to a round tip.
  • Importing sets Spacing to at least 30% so the shape shows instead of smearing into a ribbon.
  • Import onto a duplicate to keep the original. Reset also removes an import from a built-in.
  • Stamp brushes

    Any round brush can place one stamp per tap instead of drawing a stroke. Turn on Stamp mode in the Workshop's Stamp group; the built-in Stamp brush (Pixel's paw print) has it on already.

    ActionResult
    TapOne stamp. Pressing harder makes it bigger; the firmest pressure during the tap counts. Mouse and finger taps stamp at full size
    Press and drag (with Drag to size and rotate on)The stamp's radius follows the drag distance and it turns to face the drag. Dragging straight up keeps it upright
  • In stamp mode, Spacing, Scatter, Smoothing and Tilt shading are hidden because they only apply along a stroke.
  • Size variation and Angle jitter make repeated stamps look less identical.
  • The test pad shows stamp samples for stamp brushes: four taps at rising pressure and two dragged stamps.
  • Brush files and packs

    Brushes can be saved as files to back them up, move them between devices, or share them.

    FileHoldsMade by
    .pipbrushOne brushExport, with the brush selected
    .pipbrushesA brush pack: all your custom and edited brushesExport all
  • Files include every setting, the tip image, and the size and opacity you have set in the dock.
  • Import adds the brushes as new custom brushes. Nothing you already have is overwritten.
  • Import checks every field: unknown fields are dropped, numbers are kept in range, and only image data is accepted as a tip.
  • On the iPad over plain http, exports download to the Files app; on HTTPS they open the share sheet.
  • The Import picker accepts any file, because iPad greys out unfamiliar extensions like .pipbrush.
  • Brush settings

    Each Workshop setting is one field of the brush, the same field names used in brushes.js. Sizes are in canvas pixels; most other values run from 0 to 1.

    Workshop settingFieldRangeWhat it does
    —kindround or pixelRound stamped tip, or chunky squares snapped to a grid
    Tip shapetipRound or an imported imageThe stamp's shape
    Sizesizepx, within sizeRangeDiameter at full pressure (Pixel: grid cell size)
    Size at light pressureminSize0–100%Diameter at zero pressure. 100% = pressure doesn't change size
    Edge hardnesshardness0–100%0 = airbrush-soft, 100% = crisp. Round tips only
    Spacingspacing2–150% of diameterGap between stamps. Lower = smoother, slower
    Scatterjitter0–200% of diameterRandom sideways scatter of stamps
    Size variationsizeJitter0–100%Random size per stamp. 100% = down to 20% size
    Tip angletipAngle0–360°Rotation of an imported tip
    Rotate with strokefollowStrokeon / offImported tip turns with the stroke direction
    Angle jitterangleJitter0–100%Random rotation per stamp. 100% = any angle
    Stamp mode: one per tapstampModeon / offOne stamp per tap instead of a stroke
    Drag to size and rotatestampDragon / offIn stamp mode, press and drag to size and turn the stamp
    Opacityopacity5–100%Opacity of the whole stroke. Overlaps inside one stroke don't darken
    Flowflow1–100%Alpha of each stamp. Builds up where stamps overlap
    Pressure darkenspressureFlowon / offPressure also controls flow
    Specklegrain0–100%Random alpha variation per stamp
    Paper grainpaperGrain0–100%Paper texture; light strokes show it, heavy strokes fill it in
    Erases instead of paintingeraseon / offRemoves paint
    Smoothingsmoothing0–90%Stabilizer. Higher = smoother lines, more lag

    Tilt shading and paper grain

    The Pencil uses these by default. Any round brush can: set Shading width above 0 in the Workshop. Angles are measured from the screen: 90° = upright, 0° = flat.

    Workshop settingFieldPencil valueWhat it does
    Shading width (0 = off)tiltSize5×Extra width at full tilt (5 = 6× the diameter). 0 turns tilt shading off
    Starts belowtiltStart52°Angle where shading begins. Normal writing is about 55–70°
    Full strength attiltFull22°Angle where shading is at full strength
    Stretch along the leantiltStretch1.5×Extra length along the lean direction (1.5 = 2.5× as long)
    Lighter when tiltedtiltFade30%How much lighter stamps get at full tilt
    Softer when tiltedtiltSoftness70%How much the tip edge softens at full tilt. Round tips only
    Paper grainpaperGrain55%Paper texture; light strokes show it, heavy strokes fill it in

    The pen readout's Tilt shading row shows the current shading amount for the selected brush, so you can see where your natural angles fall.

    The brushes

    Built-in defaults in brushes.js. Workshop edits override them until you press Reset. Number keys 1–9 pick brushes in dock order.

    BrushSize (range) pxminSizeOpacityFlowPressure → flowHardnessSpacingJitterGrainSmoothing
    1 Pencil5 (1–40)0.410.45yes0.850.140.150.40.2
    2 Ink10 (1–120)0.1211no0.960.06000.45
    3 Marker28 (4–200)0.750.551no0.750.06000.3
    4 Airbrush140 (10–600)0.610.1yes00.08000.2
    5 Pixel16 (2–64)111no1—000
    6 Eraser40 (2–300)0.411no0.80.06000.2
    7 Stamp120 (10–800)0.4511no——00—

    The Pencil also has the tilt and paper grain values above. The Stamp uses the paw-print tip with stamp mode and drag on, and 6% angle jitter. Opacity and size here are defaults; whatever you set in the dock is remembered per brush.

    In-app controls

    These change while you draw and are remembered between visits.

    ControlWhereNotes
    GalleryGrid button next to the logoAll your drawings. See Gallery and drawings above
    LayersStacked-layers button, top barSee Layers above
    FillFirst tool in the dockSee Fill and colors above
    BrushBottom dockCustom brushes appear after the built-ins, shown with their tip shape. Picking a color while an eraser is on switches back to your last drawing brush
    SizeBottom dock sliderScales smoothly across the brush's size range. Remembered per brush. Becomes Tolerance while Fill is selected
    OpacityBottom dock slider5–100%, whole-stroke opacity. Remembered per brush
    ColorSwatches + rainbow squareSwatches show the selected palette; the rainbow square opens the color panel
    Brush WorkshopSliders button, top barAll brush settings and custom tips. See Brush Workshop below
    View menuSun/moon button, top barTheme, desk and grid
    Help? button, top barHow-to, shortcuts, tips, and a link back to this reference
    Pressure feelPen readout panel0.40–2.50. Lower = light touch gives more; higher = needs a heavier hand. 1.00 = as the pen reports it
    Undo / redoTop rightWhile the drawing is open; covers strokes, fills and layer changes
    FitTop rightResets zoom, pan and rotation
    ExportTop rightPNG of all visible layers on the paper. Touch devices open the share sheet; desktop downloads
    ClearTrash button, top rightEmpties the selected layer. Undoable

    On phones, Brush Workshop, Fit, View, Pen readout, Help, Export and Clear are in the ⋯ menu.

    Stored in the browser: custom brushes and Workshop edits, current brush, color, pressure feel, theme, per-brush size and opacity, and every drawing in your gallery. Undo history isn't saved across reloads.

    Themes

    The studio has two themes; Pip orange is the accent in both. Pick it in the View menu (sun/moon button in the top bar), or switch with T.

    ThemeLookGood for
    Workbench (dark)Warm neutral charcoal, amber headingsJudging color: the neutral surround keeps canvas colors true
    Sketchbook (light)Paper panels, ink-brown text, terracotta headingsDaylight drawing, a paper feel
  • Until you pick one, the studio follows your device's light or dark setting, including when it changes.
  • Once you pick, your choice is remembered on that device.
  • Themes change only the app around the canvas. Paper color is set per drawing, and the palette swatches are paint colors, so neither changes with the theme.
  • Desk and grid

    The View menu also holds the desk behind the canvas and a graph paper grid.

    SettingOptionsNotes
    TableWood, PlainWood is a walnut desk in Workbench and oak in Sketchbook. Plain is best for judging color
    GridOff, Square, Isometric, Pixel isoSquare is graph paper; Isometric is ±30° triangles with verticals; Pixel iso is 2:1 diamonds
    Square size4–512 pxTriangle size or diamond height for the isometric grids
    Strong line everyOff, 2–10 linesLike the darker lines on real graph paper
    Visibility10–100%
    ColorBlue, Gray, Green
  • The grid is a guide only: it's never part of the artwork, PNG exports or .pipstudio files.
  • Grid settings are saved with each drawing; new drawings start with no grid. # turns it on and off.
  • Zoomed far out, thin lines closer than about 4 screen pixels are skipped so the grid doesn't turn into a smear.
  • Input and gestures

    The pen always draws. Fingers draw only until a pen is used; after that they switch to gestures until the page reloads.

    InputActionResult
    PenDrawUses real pressure and tilt
    PenHover (Pencil Pro, Windows pens)Shows brush size; the Pencil shows its tilted shading tip
    PenFlip to eraser end (Windows pens)Erases
    PenBarrel buttonPicks a color from the canvas
    Finger, before a pen is usedDrawPressure is faked from speed: faster = thinner
    Finger, after a pen is used1 finger dragPan
    Fingers2 finger drag / pinch / twistPan, zoom, rotate. Rotation snaps back to straight within about 5°
    Fingers2 finger tapUndo
    Fingers3 finger tapRedo
    MouseLeft dragDraw at full pressure
    MouseRight click or Alt + clickPick a color
    MouseMiddle drag, or Space + dragPan
    Mouse / trackpadScrollPan
    Mouse / trackpadCtrl + scroll, or pinchZoom

    Touches are ignored while the pen is drawing, so a resting palm won't move the canvas mid-stroke.

    Keyboard shortcuts

    On a Mac or iPad keyboard, Cmd works wherever Ctrl is listed.

    KeysAction
    Ctrl + ZUndo
    Ctrl + Shift + Z, or Ctrl + YRedo
    Ctrl + SExport PNG
    1–9Brushes in dock order (built-ins: Pencil, Ink, Marker, Airbrush, Pixel, Eraser, Stamp)
    EEraser
    FFill
    LShow / hide the Layers panel
    GOpen the gallery
    WOpen the Brush Workshop
    TSwitch between Workbench and Sketchbook
    #Grid on / off
    ?Help
    EscClose the open panel or menu
    \[ and \]Smaller / bigger brush
    + and −Zoom in / out
    0Fit canvas to screen
    Space (hold)Pan with the mouse
    IShow / hide the pen readout

    Canvas shortcuts are paused while the gallery or Workshop is open.

    Tuning recipes

    Open the Brush Workshop, pick the brush, and drag the setting below; the test pad shows the result straight away.

    I want…BrushWorkshop settingDirection
    Darker pencilPencilFlowUp (45% → 60%)
    Smoother, less speckly pencilPencilSpeckle or Paper grainDown
    Shading to start laterPencilStarts belowDown (52° → 45°)
    Broader shadingPencilShading width, Stretch along the leanUp
    Stronger airbrushAirbrushFlowUp (10% → 15%)
    More dramatic ink taperInkSize at light pressureDown
    Less lag behind the penAnySmoothingDown
    Steadier, smoother linesAnySmoothingUp (stay under 70%)
    Solid markerMarkerOpacityUp to 100%
    Bigger light tapsStampSize at light pressureUp
    Stamps all the same size from tapsStampSize at light pressure100%
    Less uniform rows of stampsStampSize variation, Angle jitterUp
    My own stampDuplicate StampTip shape → Import image…—
    Stamp or texture brushDuplicate any round brushTip shape → Import image…, then Scatter and Angle jitterUp
    My brushes on another deviceAnyExport all, move the file, then Import there—
    Pressure too sensitive overall—Pressure feel, in the pen readoutRight (heavier hand)

    To make a new brush, select the closest one and press Duplicate, then rename and adjust it. To change a built-in's defaults for everyone, edit brushes.js.