Your guide to Grand Canyon State Tattoo Convention 2025 in Phoenix (2025)

Events

Visual Arts

The three-day ink-slinging extravaganza at Phoenix Shrine Auditorium will showcase more than 150 artists.

By Benjamin Leatherman

April 29, 2025

Your guide to Grand Canyon State Tattoo Convention 2025 in Phoenix (1)

A scorpion tattoo created at last year's Grand Canyon State Tattoo Convention. Benjamin Leatherman

`,`

Related

  • Treat mom to a meal at these Valley restaurants on Mother's Day

`,`

Related

  • John Rhys-Davies is coming to Phoenix Fan Fusion 2025

`,`

Related

  • Hayden Christensen is coming to Phoenix Fan Fusion 2025

`,`

Related

  • The Rebel Lounge is celebrating 10 years with a month of Arizona bands

`,`

Related

  • Sip, savor, celebrate: Where to eat and drink this Cinco de Mayo in Phoenix

`,`

Related

  • Phoenix’s ‘May Day’ protest at the Capitol: What to know

`,`

Related

  • Cardinals' Mack Wilson to host celebrity basketball game, community day

`,`

Related

  • Haim will be rocking the Valley on their I Quit summer tour

`,`

Related

  • Mesa pizzeria gears up for action packed 'Star Wars' weekend

` ];

The Phoenix Shrine Auditorium is going to buzz with activity this weekend. Ink-slingers from Arizona and beyond will fire up their needles during the 2025 Grand Canyon State Tattoo Convention from Friday through Sunday, transforming bare skin into living canvases.

More than 150 tattoo artists will take over the 12,000-square-foot venue during the three-day event. Drew Rheinhardt, the convention’s cofounder, says the focus is all about the ink — no live music, no distractions, just artists doing what they do best. Tattooers from multiple styles — including traditional, biomechanical, realism, and watercolor — will be set up at the event.

“The entire focus of our convention is tattooing. We don't have body modifications. We don't do beauty pageants,” Rheinhardt says. “We use it as a way to introduce people to artists they’ve never seen before and don't have access to normally.”

Grand Canyon State Tattoo Convention is open to anyone and everyone interested in getting some ink done, from newbies getting their very first ink to seasoned tattoo enthusiasts adding to their growing collections. Here’s everything to know about the 2025 Grand Canyon State Tattoo Convention.

click to enlarge

Valley resident Brandon Deal got this tattoo of Darth Maul by Old Town Ink artist Jag at last year's convention

Benjamin Leatherman

What day is the Grand Canyon State Tattoo Convention?

The 2025 Grand Canyon State Tattoo Convention runs from Friday, May 2, to Sunday, May 4.

Where is the tattoo conventions this weekend?

The Grand Canyon State Tattoo Convention takes place at the Phoenix Shrine Auditorium, 552 N. 40th St. The venue is just south of the Loop 202 Freeway. The entrance is located at Fillmore and 40th streets.

What time is the Grand Canyon State Tattoo Convention?

Here are the official hours of the 2025 Grand Canyon State Tattoo Convention:

  • Friday, 2 to 10 p.m.
  • Saturday, noon to 10 p.m.
  • Sunday, noon to 6 p.m.

How much are tickets?

Admission is $30 per person and includes access to all three days of the convention.

Are discounts available?

Nope.

click to enlarge

Getting ink at the Grand Canyon State Tattoo Convention in 2018.

Melissa Fossum

Who can attend?

The Grand Canyon State Tattoo Convention is open to all ages. Attendees must be 18 or older to get tattooed and 21 or older to purchase or consume alcohol.

Parking

It's free to park at the Phoenix Shrine Auditorium.

Artist lineup

According to Rheinhardt, more than 150 artists from Arizona and elsewhere will be at this year’s Grand Canyon State Tattoo Convention. “We've got artists from Nashville, New York, the Pacific Northwest, California and basically from across the U.S.,” Rheinhardt says. “There are even international artists from as far away as Costa Rica.”

Arizona-based artists set to appear include such local names as Lloyd Parrack (Gypsy Rose Tattoos), Wyatt Howland (Sparrows Nest Tattoo), Alex Hamilton (Hold Fast), Raymie Lamoreaux (Good Time Tattoo), Tony Olvera (Lady Luck Tattoo Gallery), Jen Sussman, Tianna Simms (Ivy Tattoo), Felix Constantine and dozens more.

click to enlarge

Judges evaluate a participant in one of the Grand Canyon State Tattoo Convention's tattoo contests.

Benjamin Leatherman

Tattoo contests

The Grand Canyon State Tattoo Convention will host a variety of tattoo competitions each day. A panel of judges will evaluate and score pre-existing tattoos across various categories, with the top three finishers receiving a neon-light trophy shaped like a saguaro cactus.

The convention will host daily tattoo competitions. A panel of judges will evaluate and score pre-existing tattoos across various categories, with the top three finishers receiving a neon-light trophy shaped like a saguaro cactus.

Here’s a rundown of each category and when it will be judged. There’s an entry fee of $10 per category.

Friday
Registration at 2 p.m., judging at 6 p.m.

  • Small black and gray tattoo
  • Small color tattoo
  • Large black and gray tattoo
  • Large color tattoo
  • Tattoo of the day (judging occurs at the end of the night)

Saturday
Registration at 2 p.m., judging at 6 p.m.

  • Best Japanese tattoo
  • Best back/front piece
  • Best sleeve tattoo
  • Best overall tattoo collection
  • Best small and large lettering
  • Tattoo of the day (judging occurs at the end of the night)

Sunday
Registration at noon, judging at 4 p.m.

  • Best traditional tattoo
  • Best portrait tattoo
  • Best "Star Wars" tattoo
  • Tattoo of the day (judged at the end of the afternoon)

') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } // const insertionBlockClass = `fdn-paragraph-insertion-block`; const styleElementHook = `fdn-paragraph-insertion-styles`; jQuery(element).addClass(insertionBlockClass); if (jQuery(`[${styleElementHook}]`).length === 0) { jQuery('div.fdn-content-body, div #storyBody').append('

') const paragraphLineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() const styleElement = jQuery(`

`); const styleText = ` div.fdn-content-body br+.${insertionBlockClass}:not([hidden]), div #storyBody br+.${insertionBlockClass}:not([hidden]) { margin-top: ${paragraphLineHeight*2}px; margin-bottom: ${paragraphLineHeight}px; } div.fdn-content-body br+.${insertionBlockClass}[hidden] > div:last-of-type, div #storyBody br+.${insertionBlockClass}[hidden] > div:last-of-type { margin-bottom: ${paragraphLineHeight*2}px; } ` styleElement.text(styleText); jQuery('head').append(styleElement); } // } } jQuery(element).insertBefore(this.paragraphEndNodes[index]); } else { console.warn('Foundation.ParagraphTool.insertElemenAt: invalid insertion index', index); } } this.insertElemenAtEnd = function (element) { if (this.paragraphEndNodes.length) { let lastNode = this.getNodeAtIndex(this.paragraphEndNodes.length -1); if (this.isDoubleBrParagraphBreak(lastNode) || this.isBrParagraphBreakBeforeBlockElement(lastNode)) { if (jQuery(element).get(0).tagName.match(/SCRIPT/i) !== null) { jQuery('
').insertAfter(this.paragraphEndNodes[index]); jQuery('
').insertAfter(this.paragraphEndNodes[index]); } else { jQuery('div.fdn-content-body, div #storyBody').append('

') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } } this.bodyContainer.append(element); } this.getNodeAtIndex = function (index) { return this.paragraphEndNodes[index]; } }

`); } var paragraphCount = myParagraphTool.getParagraphEndNodeCount(); // No need to insert if there aren't enough paragaphs if (paragraphCount >= parseInt(item.requiredCountToDisplay)) { // Matches specific paragraph insertion indexes if (item.insertPoint.match(/^\d+$/) !== null) { var insertIndex = parseInt(item.insertPoint) - 1; // Insert within content if (insertIndex < paragraphCount) { myParagraphTool.insertElemenAtIndex(componentElement, insertIndex); } // Append to the end if the insert point is beyond the paragraph count else { myParagraphTool.insertElemenAtEnd(componentElement) } } // Matches for 1/2, 1/4, 2/3, 5/6, etc else if (item.insertPoint.match(/^[1223456]\/[23456]$/) !== null) { var fractionMatch = new RegExp(/^([123456])(?:\/)([23456]$)/); var fractionPart = parseInt(item.insertPoint.match(fractionMatch)[1]); var fractionWhole = parseInt(item.insertPoint.match(fractionMatch)[2]); var fractionValue = fractionPart / fractionWhole; var fractionIndex = Math.floor(myParagraphTool.paragraphEndNodes.length * fractionValue) - 1; myParagraphTool.insertElemenAtIndex(componentElement, fractionIndex); } // Matches for every Nth insertion point else if (item.insertPoint.match(/^\d*th$/i) !== null) { var intervalIndex = parseInt(item.insertPoint.match(/^(\d*)th$/i)[1]); var startingIndex = parseInt(item.startingPoint) - 1; var insertionMax = parseInt(item.maxInsertions) || 100; var insertionCount = 0; for (var i = startingIndex; i < myParagraphTool.paragraphEndNodes.length && insertionCount < insertionMax; i++) { if ((i - startingIndex) % intervalIndex === 0) { let currentNode = myParagraphTool.getNodeAtIndex(i); const clonedComponent = componentElement.clone(); myParagraphTool.insertElemenAtIndex(clonedComponent, i); insertionCount++; } } } } }); Foundation.Content['21653335'].setupInlineComponents = function () { return true; }; if (typeof callback === 'function') { callback(); } // }, 200); } Foundation.Content['21653335'].previewInsertionPoints = function () { var myParagraphTool = Foundation.Content['21653335'].paragraphTool myParagraphTool.paragraphEndNodes.each((index, item) => { const insertionPointPlaceholder = jQuery(`

`) myParagraphTool.insertElemenAtIndex(insertionPointPlaceholder, index); }); return 'Paragraph insertion placeholders applied.'; }

Your guide to Grand Canyon State Tattoo Convention 2025 in Phoenix (2025)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Carmelo Roob

Last Updated:

Views: 5914

Rating: 4.4 / 5 (45 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Carmelo Roob

Birthday: 1995-01-09

Address: Apt. 915 481 Sipes Cliff, New Gonzalobury, CO 80176

Phone: +6773780339780

Job: Sales Executive

Hobby: Gaming, Jogging, Rugby, Video gaming, Handball, Ice skating, Web surfing

Introduction: My name is Carmelo Roob, I am a modern, handsome, delightful, comfortable, attractive, vast, good person who loves writing and wants to share my knowledge and understanding with you.