Dive into Juneteenth celebrations in central Iowa

Illustration by Jordan Sellergren

Last year, on March 22, 2021, Des Moines City Manager Scott Sanders announced Juneteenth as an official city holiday.

“We hope by commemorating this date,” he said at the time, “we can better illustrate the significance of Juneteenth and generate greater recognition throughout our community and the state”.

Later that year, President Joe Biden signed a bill making Juneteenth a federal holiday.

With the holiday being official, city buildings and offices will be closed on June 20 this year, the weekday following the Sunday holiday, so everyone, especially Black people can highlight the freedom that their ancestors finally began moving towards.

Combining June and 19, Juneteenth is an annual celebration of the emancipation of enslaved Black people in the United States. President Abraham Lincoln signed the Emancipation Proclamation into law on January 1, 1863 with the intent of freeing the slaves. But although that freed all slaves on paper, Black people remained indentured until two years later when Union Army general Gorgon Granger rode into Galveston, Texas to spread the word of freedom, on June 19, 1865. That day was the first celebration of Juneteenth.

This Black Independence Day is celebrated across the country with festivals, dance, music and food. Here are some of the events coming up this week in the greater Des Moines area! Many are organized by Iowa Juneteenth Observance, founded in 1990 by Gary L. Lawson and currently chaired by Dwana Bradley.

Juneteenth Events


  • Black’d Out Book Drive, Des Moines Art Center, Des Moines, Throughout June, Museum Hours

    Donate books to Cameron Gray’s Black’d Out Books project to uplift the spirits of Black children through literacy. Books can be donated at the Art Center, which gathered 50 books toward the project over the month of February and hopes to match that number with this push.


  • Central Iowa Alumni: Social & Serve for Iowa Juneteenth, Rico’s at Drake, Des Moines, Tuesday, June 14, 5:30 p.m.

    Drake University alums in Central Iowa are encouraged to donate registry-approved children’s books by BIPOC creators at a mixer at Rico’s by Drake. Donated books will be given to children at Iowa Juneteenth Neighbor’s Day. Books can be delivered via the Amazon registry. Those who make a donation at the event or via CashApp ($IAJuneteenth) or Venmo (@IAJuneteenth90) will receive a voucher for a free drink at the event. Pre-registration requested for the mixer.


  • Juneteenth Golf Outing, Bright Grandview Golf Course, Des Moines, Friday, June 17, 8 a.m., $34-$128

    Register on individually or with your team of four to hit a hole in one on the green.


  • Juneteenth Comedy Jam, Teehee’s Comedy Club, Des Moines, Friday, June 17, 7 and 9:30 p.m., $15-$55

    Join comedians from Des Moines and around the Midwest for laughter surrounded by Black experiences. This 5th annual event features both an early show and a late show.


  • Black Art Exhibit/Sale, Mainframe Studios, Des Moines, Friday, June 17, 5 p.m.

    Urban City Magazine brings you their second annual Black Art Exhibit, an opportunity to gawk at and admire beautifully made paintings, sculptures, visual art and fashion all in one place — and maybe take something home with you.


  • Manifestival, Western Gateway Park, Des Moines, Saturday, June 18, 11 a.m. to 8:30 p.m.

    Working from a mission “to bring together people of color in Iowa to connect, heal & express themselves,” Manifestival is partnering with Neighbor’s Day for the second year, offering a place for those who need to further establish themselves or their business or make new connections with other locals.


  • Neighbor’s Day, Western Gateway Park, Des Moines, Saturday, June 18, 11 a.m. to 11 p.m.

    Enjoy live music from local musicians, food, vendors and everything else needed to have a good time with your community.


  • Open Book: A Celebration of Iowa Juneteenth and World Refugee Day, Western Gateway Park, Des Moines, Saturday, June 18, 12 p.m. to 5 p.m.

    It’s not often enough that we get the chance to hear about other people’s life experiences. Now we can. “Check out” your neighbors to “read” their stories in order to focus on those experiences that make us different and celebrate those differences. Voices sharing include Lenny Bell, Francis Chan, Alex Hanna, Lilt Okech and Nayshea Rice.


  • xBk Juneteenth Celebration, xBk, Des Moines, Saturday, June 18, 12 p.m., Free

    Enjoy a day filled with music, comedy, art and a panel discussing “Young, Gifted and Black in Iowa.” The night closes with a dance party with tunes by DJ Jade Knight.


  • 2nd Annual Juneteenth Festival, Ankeny Community Network The District at Prairie Trail, June 18, 3 to 10 p.m.

    Join in on these festivities, centered around the emancipation of Black people from under the violent control by those who worship the Confederate flag throughout the United States. There will be music, interactive art, food trucks and more in store.


  • Pride and Soul: A Juneteenth Skate Night, Lauridsen Amphitheater, Des Moines, Saturday, June 18, 6 to 8:30 p.m.

    Celebrators of both Pride and Juneteenth come together to show that communities are stronger when they fight for equality, justice and freedom as one. Pride and Juneteenth intersect in a multitude of ways and it’s time to highlight those crossroads. (Bring your own skates/blades.)


  • 3rd Annual Community Water Balloon Fight, Evelyn K. Davis Park, Des Moines, Sunday, June 19, 12 p.m.

    Laced Up Family presents an afternoon of food, drinks, music and watery fun.


  • Buffalo Women, Des Moines Community Playhouse, Des Moines, June 19-26, 7:30 p.m., $25

    This theatrical comedy takes you back to 1865 to tell the story of a freed slave looking for her sold sister. During her journey, she bonds with four women, based on historical characters, who embody the themes of Black motherhood, Black revenge and Black resilience. Beaufield Berry’s Buffalo Women: A Black Cowgirl Musical Dramedy is a co-production of Pyramid Theatre Company & the Playhouse.


  • Kalypso Music Festival Juneteenth Celebration, xBk, Des Moines, Sunday, June 19, 6 to 10 p.m., $10-13

    With support from Art Week, this event highlights Black performing artists from across Iowa.


  • Juneteenth Tea Black Woman 4 Healthy Living, Corinthian Baptist Church, Des Moines, Monday, June 20, 12 p.m.

    Black Women 4 Healthy Living presents a time to sip tea and enjoy the spoken word artist Cle Shai Harden and words from Debra Carr as the guest speaker.

    [gravityform id="17" title="false" description="false" ajax="true"]
    <div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/dive-into-juneteenth-celebrations-in-central-iowa/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Comments</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="249"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>