# showing art

sharing a vision
with infinite viewpoints
sun in the bright grass ### free gallery wall calculator makes positioning hanging fasteners easy so you can focus on the layout

• suitable for home or gallery
• use one or two hook hanging methods
• full version is at hangcalc.com a progressive web app you can add to your home screen

There are many ways to hang pictures depending on fastening methods available, personal preferences, tools and equipment etc. These can range from simple arbitrary placement, use of center points or edges; and may use simple tools like a spirit level and tape measure, or precision location using lasers. All are perfectly valid methods.

Some prefer to determine the centerline or center point for a picture or artwork and work from there. The center point is generally suggested to be 57 inches or 1450 mm high. Centerlines can be used in these calculators, particularly for solo works. However, the focus is on wall section and artwork widths, heights and width adjustments to position centers and fasteners relative to edges or previous works.

While the approach based on edges and is reliable, it is important to note that it is not the only way. Regardless of the method you prefer, I hope the calculators can be used to make relevant and helpful calculations for many purposes.

For example, you can complete just the inputs you need. If you want heights only complete inputs for alignment height, work height and drop to fastener(s). If you want help with horizontal spacing complete inputs for section width, number of works, work widths, inter-work and first/end spaces and obtain many horizontal spacing options.

#### for a vertical group use vert

(({{n}} === 0) ? 0 : ({{w1}} + {{w2}} + {{w3}} + {{w4}} + {{w5}} + {{w6}} + {{w7}} + {{w8}} + {{w9}} + {{w10}})).toFixed(2)
(({{n}} === 0 || {{w}} === 0) ? 0 : ({{w}} - {{ww}})).toFixed(2)
(({{n}} === 0 || {{w}} === 0) ? 0 : ( ( {{w}} - {{ww}} ) / ( {{n}} + 1 ) )).toFixed(2)
(({{n}} === 0 || {{w}} === 0) ? 0 : ( ( ( {{w}} - {{ww}} ) - {{f}}*2 ) / ({{n}} - 1 ) )).toFixed(2)
(({{n}} === 0 || {{w}} === 0) ? 0 : ( ( {{w}} - {{ww}} - ( {{i}}*( {{n}} -1 ) ) ) / 2 )).toFixed(2)
(({{n}} === 0) ? 0 : ( {{ww}} + ( {{gi}}*( {{n}} -1 ) ) )).toFixed(2)
(({{hx}} === 0 || {{e}} === 0) ? 0 : ({{e}} + ( {{hx}} / 2 ) - {{dx}} )).toFixed(2)
(({{hx}} === 0 || {{e}} === 0) ? 0 : ({{e}} + {{hx}} / 2 )).toFixed(2)
(({{hx}} === 0 || {{e}} === 0) ? 0 : ({{e}} - {{dx}})).toFixed(2)
(({{hx}} === 0 || {{e}} === 0) ? 0 : ({{e}} - {{hx}} )).toFixed(2)
(({{hx}} === 0 || {{e}} === 0) ? 0 : ({{e}} + ( {{hx}} - {{dx}} ))).toFixed(2)
(({{hx}} === 0 || {{e}} === 0) ? 0 : ({{e}} + {{hx}} )).toFixed(2)
(({{wx}} === 0) ? 0 : ({{sx}} + ( {{wx}} / 2 ))).toFixed(2)
(({{ax}} === 0) ? 0 : ({{sx}} + {{ax}})).toFixed(2)
(({{ax}} === 0) ? 0 : ({{wx}} - ( {{ax}} * 2 ))).toFixed(2)
(({{ax}} === 0) ? 0 : ({{w2f2f}} / 2 )).toFixed(2)

### for multiple works use main form

#### step 1. overall wall setup

• this step defines overall layout features used in step 2 (horizontal spacing) and step 3 (individual works)
• for stand-alone hanging calculations use "solo" button, and, to find heights within a vertical group use "vert" button
details
• input a wall section's horizontal alignment height (ie. works in that section are to aligned at their mid-lines, top or lower edges); width of wall (or a section of wall); and, number of work positions
• wall / section width and number of works are used to find horizontal spacing options in step 2. The spacing results can then be used in step 3 for an individual work's "to previous edge" distance
• alignment height is used in step 3 for each individual work to determine its fastener height / top edge

note:

• use decimal numbers, e.g. mm or inches (up to 2 decimal places)
• depending on device used tap screen, Done, enter or update button when last input is entered to ensure result tables update
• inputs cleared by AC, app or page exit

Type aligment height for works in decimal numbers e.g. mm or inches to 2 decimal places

This field is required

Type total width of wall or wall section

This field is required

Type number of work positions on wall/section

This field is required

#### step 2. horizontal spacing

details
• wall / section width and number of works are from "overall wall setup" above - make sure the number of works matches entries
• input outer widths of all works, more than one work is required
• the sum of all work widths can be entered into a single cell as a shortcut

Type width of work 1

This field is required

Type width of work 2

This field is required

Type width of work 3

This field is required

Type width of work 4

This field is required

Type width of work 5

This field is required

Type width of work 6

This field is required

Type width of work 7

This field is required

Type width of work 8

This field is required

Type width of work 9

This field is required

Type total width of all other works if >9

This field is required

tap screen, Done, enter or update button when last input is made so result tables refresh

details
• for your specified wall section calculations show options for symmetrical spacings: i) all even; ii) first/end spaces with a set even inter-work distance; or iii) inter-work spaces with set even first/end distance
• calculation iv) ignores "section width" to determine the width of the group of works specified in steps 1 and 2 using a set inter-work space and zero first/end widths
spacing
total width of works
space available between works
even space between all works (inc ends)

#### step 3. individual work calculations

details
• alignment height used here is from "overall wall setup" above
• input details of an individual work: horizontal space to previous work/edge, outer width, outer height and drop to fastener(s)
• drop is to center of taught frame wire; to top of D-rings if used; or, stretcher width if using nails or screws
• inside adjust is for a two point hang and is edges to D-ring centers; or, a set distance if hanging loosely on nails or screws
• read out table results and affix fasteners

Type width of work

This field is required

Type the height of work

This field is required

Type horizontal distance to previous work or wall edge

This field is required

Type work drop to fastener

This field is required

Type inside adjustment for work if 2 fasteners used. eg. d-rings or nails

This field is required
• A. mid-line at alignment
vertical
height of work's fastener
height of top edge
horizontal
previous edge to center
if two fasteners:
previous edge to 1st fastener
distance from 1st to 2nd fastener
distance from centerline to fasteners
• B. top edges at alignment
vertical
height of work's fastener
height of lower edge
horizontal
previous edge to center
if two fasteners:
previous edge to 1st fastener
distance from 1st to 2nd fastener
distance from centerline to fasteners
• C. lower edges at alignment
vertical
height of work's fastener
height of top edge
horizontal
previous edge to center
if two fasteners:
previous edge to 1st fastener
distance from 1st to 2nd fastener
distance from centerline to fasteners

#### PEMDAS calculator included

for on-the-fly calculations, and has a temporary notes area

### full pwa version at hangcalc.com ## Useful resources

### A4 planning notes template

#### pdf template for your layouts

• great to use as a background in a notes app

### A4 artwork measurement sheet

#### pdf for collecting artwork measurements

• collect all you artwork measurements in one place before you begin
• helps get you ready to use the calculator

### art installation guide

#### doing an install?

• some tips on art installation
• outline of basic calculation methods

### on viewing art

#### everyone has a unique viewpoint

the world's infinite and ubiquitous uniqueness changing from moment to moment requires a determined mental effort to break the bonds of 'ordinary' perception ({{e1}} + ( {{hx1}} / 2 ) - {{dx1}} ).toFixed(2)
({{e1}} - {{dx1}}).toFixed(2)
({{e1}} + ( {{hx1}} - {{dx1}} )).toFixed(2)
({{sx1}} + ( {{wx1}} / 2 )).toFixed(2)
(({{ax1}} === 0) ? 0 : ({{sx1}} + {{ax1}})).toFixed(2)
(({{ax1}} === 0) ? 0 : ({{wx1}} - ( {{ax1}} * 2 ))).toFixed(2)
(({{ax1}} === 0) ? 0 : ({{w2f2f-1}} / 2 )).toFixed(2)
"{{e1}}"
"{{wx1}}"
"{{hx1}}"
"{{sx1}}"
"{{dx1}}"
"{{ax1}}"
"{{w2h-1}}"
"{{w2ht-1}}"
"{{w2hb-1}}"
"{{w2e2c-1}}"
"{{w2e2f-1}}"
"{{w2f2f-1}}"
"{{c2f-1}}"
`{{solonote}}`

### 1. inputs

This field is required

note/name for print

reference height

Type aligment height for works in decimal numbers e.g. mm or inches to 2 decimal places

This field is required

to previous edge

Type horizontal distance to previous work or wall edge

This field is required

work width

Type width of work

This field is required

work height

Type the height of work

This field is required

drop to fastener

Type work drop to fastener

This field is required

if 2 fasteners:

Type inside d-ring adjustment for work if 2 fasteners used

This field is required

### 2. fastener height options

mid-line at ref

top edge at ref

lower edge at ref

### 3. horizontal

prev edge to center

if 2 fasteners:

prev edge to 1st

1st to 2nd fastener

centerline to fasteners

##### 1. inputs

Reference height =

To previous edge =

Work width =

Work height =

Drop to fastener =

##### 2. fastener height options

Mid-line at ref height =

Top edge at ref height =

Lower edge at ref height =

##### 3. horizontal

Previous work/edge to center =

If 2 fasteners, previous work/edge to 1st fastener =

distance from 1st to 2nd fastener =

and, distance from centerline to fasteners =

({{rvh1}}).toFixed(2)
(({{nv1}} === 0) ? 0 : ({{vh1}} + {{vh2}} + {{vh3}} + {{vh4}} + {{vh5}} + {{vh6}} + ({{vs1}} * ({{nv1}} - 1)))).toFixed(2)
(( {{ogh1}} / 2 ) + {{rvh1}}).toFixed(2)
(({{vd1}} === 0) ? 0 : ({{mht1}} - {{vd1}})).toFixed(2)
(({{vh2}} === 0) ? 0 : ({{mht1}} - {{vh1}} - {{vs1}})).toFixed(2)
(({{vd2}} === 0) ? 0 : ({{mht2}} - {{vd2}})).toFixed(2)
(({{vh3}} === 0) ? 0 : ({{mht2}} - {{vh2}} - {{vs1}})).toFixed(2)
(({{vd3}} === 0) ? 0 : ({{mht3}} - {{vd3}})).toFixed(2)
(({{vh4}} === 0) ? 0 : ({{mht3}} - {{vh3}} - {{vs1}})).toFixed(2)
(({{vd4}} === 0) ? 0 : ({{mht4}} - {{vd4}})).toFixed(2)
(({{vh5}} === 0) ? 0 : ({{mht4}} - {{vh4}} - {{vs1}})).toFixed(2)
(({{vd5}} === 0) ? 0 : ({{mht5}} - {{vd5}})).toFixed(2)
(({{vh6}} === 0) ? 0 : ({{mht5}} - {{vh5}} - {{vs1}})).toFixed(2)
(({{vd6}} === 0) ? 0 : ({{mht6}} - {{vd6}})).toFixed(2)
({{rvh1}}).toFixed(2)
(({{vd1}} === 0) ? 0 : ({{tht1}} - {{vd1}})).toFixed(2)
(({{vh2}} === 0) ? 0 : ({{tht1}} - {{vh1}} - {{vs1}})).toFixed(2)
(({{vd2}} === 0) ? 0 : ({{tht2}} - {{vd2}})).toFixed(2)
(({{vh3}} === 0) ? 0 : ({{tht2}} - {{vh2}} - {{vs1}})).toFixed(2)
(({{vd3}} === 0) ? 0 : ({{tht3}} - {{vd3}})).toFixed(2)
(({{vh4}} === 0) ? 0 : ({{tht3}} - {{vh3}} - {{vs1}})).toFixed(2)
(({{vd4}} === 0) ? 0 : ({{tht4}} - {{vd4}})).toFixed(2)
(({{vh5}} === 0) ? 0 : ({{tht4}} - {{vh4}} - {{vs1}})).toFixed(2)
(({{vd5}} === 0) ? 0 : ({{tht5}} - {{vd5}})).toFixed(2)
(({{vh6}} === 0) ? 0 : ({{tht5}} - {{vh5}} - {{vs1}})).toFixed(2)
(({{vd6}} === 0) ? 0 : ({{tht6}} - {{vd6}})).toFixed(2)
({{rvh1}} + {{ogh1}}).toFixed(2)
(({{vd1}} === 0) ? 0 : ({{lht1}} - {{vd1}})).toFixed(2)
(({{vh2}} === 0) ? 0 : ({{lht1}} - {{vh1}} - {{vs1}})).toFixed(2)
(({{vd2}} === 0) ? 0 : ({{lht2}} - {{vd2}})).toFixed(2)
(({{vh3}} === 0) ? 0 : ({{lht2}} - {{vh2}} - {{vs1}})).toFixed(2)
(({{vd3}} === 0) ? 0 : ({{lht3}} - {{vd3}})).toFixed(2)
(({{vh4}} === 0) ? 0 : ({{lht3}} - {{vh3}} - {{vs1}})).toFixed(2)
(({{vd4}} === 0) ? 0 : ({{lht4}} - {{vd4}})).toFixed(2)
(({{vh5}} === 0) ? 0 : ({{lht4}} - {{vh4}} - {{vs1}})).toFixed(2)
(({{vd5}} === 0) ? 0 : ({{lht5}} - {{vd5}})).toFixed(2)
(({{vh6}} === 0) ? 0 : ({{lht5}} - {{vh5}} - {{vs1}})).toFixed(2)
(({{vd6}} === 0) ? 0 : ({{lht6}} - {{vd6}})).toFixed(2)

### 1. inputs

reference height

Type aligment height for vertical group in decimal numbers e.g. mm or inches to 2 decimal places

This field is required

number of works

number of works in vertical group

This field is required

even vertical space

even vertical space between works

This field is required
##### work details, top first
note
• for each work in a vertical group enter details with the top-most work first. There is a limit of up to six works, just leave unused entries blank. Heights are required, but drop is optional

work #

height

drop to fastener

1

Type the vertical height of work 1

This field is required

drop to fastenerdrop to fastener

This field is required

2

Type the vertical height of work 2

This field is required

drop to fastenerdrop to fastener

This field is required

3

Type the vertical height of work 3

This field is required

drop to fastenerdrop to fastener

This field is required

4

Type the vertical height of work 4

This field is required

drop to fastenerdrop to fastener

This field is required

5

Type the vertical height of work 5

This field is required

drop to fastenerdrop to fastener

This field is required

6

Type the vertical height of work 6 and above

This field is required

drop to fastenerdrop to fastener

This field is required

### 2. results

overall group height

using
• these results can be used in the main calculator or solo to give a new reference / alignment height for a particular work or column / row in a group; ie. the heights given can be used with horizontal measurements from other calculations