Versatile and economical, barstools can add character and functionality to almost any space. With stools available in various sizes to suit every surface height, you will surely find a perfect fit for your dining table, kitchen counter or game room.

 

Calculating the Right Height

Barstools should be chosen with consideration for the exact height of your surface, so make sure to take precise measurements. Measure from the floor to the top of the surface in order to calculate the correct seat height. If you would like a stool style with arms it is important to measure from the floor to the bottom of your surface to ensure that the stool will fit under the counter when not in use. For best comfort, there should ideally be between 9 and 12 inches of space from the top of the stool seat to the underside of the bar. If you are trying to match cabinetry or fixtures it may be beneficial to bring in a cabinet door, drawer or hardware with you. Visit Barstools & Dinettes in Raleigh for expert advice on finding the perfect stool for your individual needs.

Barstools commonly come in three different heights

Bar Height

Bar-height stools are 29 to 31 inches from the floor to the top of the seat. Any height in this range will work for a surface that measures 40 inches to 43 inches from the floor to the top of that surface. Don’t forget to measure to the underside of your bar surface if you would like arms on your stool. Some styles will not make arm stools that will fit under the bar and other styles will offer custom arm heights to accommodate any needs you may have. Bar height stools are also available in swivel and non-swivel styles as well as backless versions to fit into tight spaces.

Counter Height

A counter-height barstool is 24 to 26 inches tall from the floor to the top of the seat. Either height will work for a surface that measures 34 inches to 36 inches from the floor to the top of that surface. If your counter is even with your stovetop and sink area you will most likely need this particular height of stool. Don’t forget to measure to the underside of your counter if you would like arms on your stool. Some styles will not make arm stools that will fit under the counter and other styles will offer custom arm heights to accommodate any needs you may have. Counter height stools are also available in swivel and non-swivel styles as well as backless versions to fit into tight spaces.

Spectator Height

Spectator height stools are 34 to 36 inches from the floor to the top of the seat. Any height in this range will work for a surface that measures 45 inches to 48 inches from the floor to the top of that surface. Don’t forget to measure to the underside of your surface if you would like arms on your stool. Some styles will not make arm stools that will fit under your surface and other styles will offer custom arm heights to accommodate any needs you may have. Spectator height stools are also available in swivel and non-swivel styles as well as backless versions to fit into tight spaces. Originally designed for spectators in billiard halls, these stools will provide you with a good view out of a window or across a game room. Newly constructed homes and condos are more likely to have taller counters in the kitchen.

Download our Barstool Height Guide Workbook by entering your name and email address and we will send you the download link!  It’s a great guide to show you how to determine height and custom options that fit your style and space!  Print it and bring it in with you to give to our design team who will use it to find you the perfect stools based on your needs.

Name *

Email *

Downloads *

Don’t want to print anything out and walk in our showroom right now?  That’s okay!  Feel free to fill in the information here, if you already know all the dimensions and answers!  Submit and we will use this to put together a custom options list based on your specific style and space!

/** * @license Copyright 2017 Google Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ 'use strict'; const Audit = require('./audit'); const i18n = require('../lib/i18n/i18n.js'); const MainResource = require('../computed/main-resource.js'); const UIStrings = { /** Title of a diagnostic audit that provides detail on how long it took from starting a request to when the server started responding. This descriptive title is shown to users when the amount is acceptable and no user action is required. */ title: 'Server response times are low (TTFB)', /** Title of a diagnostic audit that provides detail on how long it took from starting a request to when the server started responding. This imperative title is shown to users when there is a significant amount of execution time that could be reduced. */ failureTitle: 'Reduce server response times (TTFB)', /** Description of a Lighthouse audit that tells the user *why* they should reduce the amount of time it takes their server to start responding to requests. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */ description: 'Time To First Byte identifies the time at which your server sends a response.' + ' [Learn more](https://developers.google.com/web/tools/lighthouse/audits/ttfb).', /** Used to summarize the total Time to First Byte duration for the primary HTML response. The `{timeInMs}` placeholder will be replaced with the time duration, shown in milliseconds (e.g. 210 ms) */ displayValue: `Root document took {timeInMs, number, milliseconds}\xa0ms`, }; const str_ = i18n.createMessageInstanceIdFn(__filename, UIStrings); const TTFB_THRESHOLD = 600; class TTFBMetric extends Audit { /** * @return {LH.Audit.Meta} */ static get meta() { return { id: 'time-to-first-byte', title: str_(UIStrings.title), failureTitle: str_(UIStrings.failureTitle), description: str_(UIStrings.description), requiredArtifacts: ['devtoolsLogs', 'URL'], }; } /** * @param {LH.Artifacts.NetworkRequest} record */ static caclulateTTFB(record) { const timing = record.timing; return timing ? timing.receiveHeadersEnd - timing.sendEnd : 0; } /** * @param {LH.Artifacts} artifacts * @param {LH.Audit.Context} context * @return {Promise} */ static async audit(artifacts, context) { const devtoolsLog = artifacts.devtoolsLogs[Audit.DEFAULT_PASS]; const mainResource = await MainResource.request({devtoolsLog, URL: artifacts.URL}, context); const ttfb = TTFBMetric.caclulateTTFB(mainResource); const passed = ttfb < TTFB_THRESHOLD; const displayValue = str_(UIStrings.displayValue, {timeInMs: ttfb}); /** @type {LH.Audit.Details.Opportunity} */ const details = { type: 'opportunity', overallSavingsMs: ttfb - TTFB_THRESHOLD, headings: [], items: [], }; return { rawValue: ttfb, score: Number(passed), displayValue, details, extendedInfo: { value: { wastedMs: ttfb - TTFB_THRESHOLD, }, }, }; } } module.exports = TTFBMetric; module.exports.UIStrings = UIStrings;