What makes a good falafel? Ask Marwan Alazzazy of Cilantro Mediterranean Restaurant and he’ll tell you it’s all about the perfectly browned, crispy exterior that easily tears in half to reveal a tender, herb-flecked interior.
“Besides the recipe? It’s the hand who makes it,” Alazzazy said. “We have this saying in Egypt about any type of food that’s good, that the person making it did it with his soul — when he’s enjoying making it, it tastes different.”
As an Egyptian, Alazzazy and his family know a thing or two about falafel; the legume-based balls originate from their motherland. But there are various techniques used throughout the Middle East to create this popular dish. In Palestine, it’s common to add veggies like onions and peppers to the chickpea batter, according to Bishara Kuttab of Bishos in Fox Chase. In Lebanon and Egypt, you’ll often find falafel that combines fava beans and chickpeas — sometimes with a little bit of baking soda, as Patricia Massoud does at Li Beirut in Collingswood.
No matter how it’s made, falafel is about the herbs, spices, and legumes that come together to make the palm-sized rounds that are perfect on platters, in a sandwich, or as a snack by themselves.
I ate falafel at over 20 restaurants to find some ofthe best Middle Eastern cuisinein Philly for The Inquirer’s 76. Turns out, the legume balls were a key factor in determining what restaurants made the cut: I found my favorites served exceptional falafel.
While each place offers slightly different variations, what set them apart was the harmony of texture and flavor — an exterior firm enough to tap on and an herby-nutty inner mush that’s super-satisfying to sink your teeth into.
Al-Baik Shawarma
Dining at Sohaib Al-Haj’s Northeast Philly family restaurant, featured on The 76, means devouring a generous spread of the best Palestinian dishes in Philadelphia — especially the falafel. It’s made with chickpeas that have been soaked in water for 20 hours and mixed with spices (think cumin, coriander, salt), parsley, onions, jalapeños, and green peppers. Blended together, the mixture is rounded with a scooper then deep-fried. The crispy falafel reaches the table with a bronze exterior, and the slightly spicy, earthy light green interior dances on your tongue. Get it as an appetizer, in a sandwich, or a platter with hummus, rice, and salad.
Over in Collingswood, Li Beirut chef-owner Patricia Massoud soaks her chickpeas for 12 to 18 hours — the minimum time to let the legumes hydrate and soften for grinding. She makes falafel according to her Lebanese father’s recipe. The cooked chickpeas get tossed in a food processor with onion, garlic, warming spices, fresh parsley, and cilantro. The key to her fluffy falafels, she said, is baking soda — it’s also how she keeps them gluten-free. Deep fried after resting in the fridge for 30 to 40 minutes, the cylinder-shaped falafel are served as an entree or a hot mezza for sharing.
You can smoke hookah while munching on crispy falafels in this Kensington-area restaurant. Alamodak offers a Jordanian rendition of the dish in their traditional dining room as well as their upstairs hookah lounge. Owner Francisco Ayoub’s falafels are made fresh daily using a spice mix imported from Jordan, and fried to order for a crispy outside and soft, flavorful inside that packs herby nuttiness with each bite. Order them as an appetizer, in a sandwich, or in a platter with rice and salad. Either way, there will be tahini sauce for dipping.
Just off South Street, chef Dalia Soliman and her husband, Mohamed Alazzazy, serve solid falafel along with other Egyptian classics that have made the restaurant a neighborhood favorite. The falafel are made with a mix of chickpeas and fava beans and seasoned with spices imported from Egypt. The family hand-rolls, freezes, and then fries them — a method that ensures the balls don’t crumble while cooking. Get five as an appetizer or opt for the platter, which includes a choice of rice or french fries, salad, hummus, and pita bread.
Head to Fox Chase for Palestinian falafels — warm, earthy chickpea fluff in a crisp, savory cast. Owner Bishara Kuttab said making falafels is all about the technique, ensuring the balled-up mix of chickpeas, parsley, onions, garlic, and spices are fried at the right temperature. Made to order, there are five ways to order falafel: in a hoagie, on a rice bowl, with loaded fries, in a salad bowl, or wrapped in their house-made saj bread. I recommend the last option, pairing the falafel’s nutty, earthy undertones with the soft, chewy bread.
Vartuhi Bederian, one of the matriarchs of this Northern Liberties BYOB, is Armenian but serves crisp-tender falafels with the Syrian influences she grew up with. Chickpeas are soaked for at least 24 hours before being mixed with fava beans, cilantro, sesame seeds, and spices in a food processor. The falafels are pan-fried in a wok-style vessel and offered on the fattoush salad, as a mezze dish, and on a platter. Order takeout and get it in an exclusive sandwich with house-made tahini sauce that “just elevates the falafel itself,” said owner Ara Ishkhanian — I agree.
In Bensalem, Flame Kabob’s falafels begin with chickpeas soaked for 15 hours. The next day they are ground with onions and spices. Owner Esmatullah Amiri adds chickpea flour to his falafel, which is how the dish is made in his native Afghanistan — it helps prevent crumbling, he said. The mix is rolled into balls using molds, frozen, and then fried. Falafel comes in a wrap, as an appetizer with hummus, and over rice.
Emmett, the Kensington restaurant serving modern Levantine cuisine, has found itself on a coveted list: Esquire’s Best New Restaurants. It is the only Philadelphia establishment recognized on the list. The 30-seat restaurant is already perpetually busy, but since the list was announced Dec. 1, chef-owner Evan Snyder, 33, has seen an uptick in reservations on OpenTable.
He had been sitting on the news — or at least, some suspicion of it — for the last two weeks, since he received an invitation from Esquire for the list’s unveiling party in New York. The list was compiled by editor Jeff Gordinier and writers Joshua David Stein and Amethyst Ganaway; Stein was responsible for Emmett’s inclusion. He visited twice this past year and in Emmett’s segment of the article praised its rye tartlet filled with American wagyu tartare, sesame madeleine with baharat butter, corn agnolotti with tahina, and duck breast.
The rye-wagyu tartlet at Emmett, 161 W. Girard Ave., in Philadelphia, Pa., on Thursday, March 27, 2025.
Snyder was particularly delighted by Stein’s focus on these menu stalwarts. “The tartlet and madeleine are staples that will probably never come off the menu, as well as the dry-aged duck, which we age for 21 days, quite a bit longer than most people age ducks. The agnolotti with tahina is a set that changes micro-seasonally. These are all the things he enjoyed,” said Snyder.
Sesame Madeleines with Ras al Hanout butter at Emmett, 161 W. Girard Ave., in Philadelphia, Pa., on Thursday, March 27, 2025.
Emmett, named after Snyder’s 2-year-old son, opened Jan. 28, after he had run the concept as a pop-up for two years prior.
The outside of Emmett, 161 W. Girard Ave., in Philadelphia, Pa., on Thursday, March 27, 2025.
Snyder is most thrilled that the recognition gives his team “a shine.”
“It’s the most important thing to me that [my team] is proud of what they’re doing and where they work.”
Come Dec. 6, Amanda Shulman, chef and creator of the now Michelin-starred Rittenhouse restaurant Her Place Supper Club, knows exactly what she’ll be doing: boxing up hundreds of cookies.
More than three dozen cookie varieties — snickerdoodles, chocolate chips, shortbread, thumbprints, meringues, macaroons, and many more, in 100-cookie batches — will be ferried to Center City that morning. They’ll be brought by bakers and pastry chefs from around the region, all of whom have enlisted to help Shulman pull off what has become an epic holiday fundraiser, Cookies 4 Coats, now in its fourth year.
Shulman and her crack team take over once the cookies have converged. They’ll crank for two hours, putting together a cookie box so big, it will fill the front seat of your car.
“It’s so many cookies,” Shulman said in a recent interview. “It is an irresponsible amount of cookies, and it’s awesome.”
The first edition of Cookies 4 Coats’ annual cookie boxes, which assemble treats from well over two dozen bakers and chefs from around Philly. The fundraiser has only grown since it started in 2022.
If you’ve scored a box in previous years — the reservations for them were snapped up in a matter of hours last December — you know the treasure trove of sweets that lies within.
Last year’s 41-cookie box was full of recipesfrom pop-up bakers and pastry chefs, including several folks behind some of Philly’s most vaunted restaurants, bars, and bakeries: brown butter chocolate chip cookies from Provenance pastry chef Abby Dahan, white chocolate and cranberry oatmeal cookies from Friday Saturday Sunday’s Amanda Rafalski, hazelnut shortbread from Vetri’s Michal Shelkowitz, Italian anise wedding cookies from Laurel chef Nick Elmi, Krispie cornflake marshmallow cookies from New June’s Noelle Blizzard, and Irish shortbread from Meetinghouse chef Drew DiTomo, not to mention Shulman’s own sourdough chocolate chips.
All the proceeds from these coveted cookie boxes are split between Broad Street Love, the radical hospitality-rooted Center City nonprofit, and Sunday Love Project, a Kensington nonprofit that runs a free community grocery store in the Riverwards neighborhood. Last year’s sell-out bake sale generated a $15,000 donation to Sunday Love that funded the purchase of hundreds of coats for local kids, as well as programming (music, art, cooking classes, etc.) for children and families, according to Sunday Love founder Margaux Murphy.
Margaux Murphy, founder of the Sunday Love Project, serves Carlos Gonzalez.
Shulman and Murphy first met in 2021, while Murphy was still running Sunday Love out of the Church of the Holy Trinity at 19th and Walnut, serving 2,000 meals a week to anyone in need. Shulman and the Her Place crew — then in their first year of business — got involved, cooking lunches for kids going to summer camp and dropping off meals to the church.
Her Place was the stage for various pop-up bake sales and charity events in those pandemic-era years. In 2022, the idea came to Shulman for an extra-special one: “Everybody loves a holiday cookie box.” Why not assemble a citywide assortment and donate to Philly charities?
She put out an open call to bakers to pitch in and got tremendous response. She shared an online spreadsheet for the participants to see who planned to bake what, so that there wouldn’t be too many repeats. To add to the box’s value, they included a recipe book so that buyers could recreate their favorites at home.
Her Place Supper Club chef Amanda Shulman rings the bell at the Sixers game Wednesday, Nov. 19, 2025, in Philadelphia
Shulman estimates 32 bakers contributed to the first Cookies 4 Coats box, raising thousands of dollars.Ever the one to see things through, Shulman didn’t leave much work for Murphy to do after collecting the cash.
“The first year, I [sold the boxes] a little earlier and I bought [the coats] all myself on Black Friday and had them all shipped to my house, so I had hundreds of coats in my apartment,” Shulman laughs, recalling the charity-induced splurge. “I needed to get different designs. I had to be sure there was something for everybody, so I went a little crazy. I had never racked up a credit card like that, and it was so exhilarating.”
Things are different these days, and Shulman says that’s for the best. “Now we just write checks, because they need other things besides coats — and [Murphy] gets to pick out what she needs as opposed to me just going on a shopping spree.”
One of Cookies 4 Coats’ annual cookie boxes, which assemble treats from well over a dozen bakers and chefs from around Philly.
Reservations for this year’s cookie box went live earlier this month and sold out in a matter of days. Shulman lowered the total number of boxes sold from 120 to 100, but the fundraiser is set to generate even more this year, because the price — $135 per box — increased to cover the cost of improved packaging: Each cookie will be individually wrapped this year, so buyers know which cookie is which rather than guessing based on flavor profiles and recipe cards (a fun game in itself).
Thirty-three bakers and chefs are signed up to contribute thus far, including Scampi’s Liz Grothe (cappuccino Rice Krispies treat), New June’s Blizzard (salted double chocolate chip shortbread), Amy’s Pastelillos’ Amaryllis Rivera-Nassar (besitos de coco), and Lost Bread’s Dallas King (honey butter corn cookies). (For those who don’t have a Cookies 4 Coats reservation, we offer eight of Shulman’s favorite recipes from last year’s box as a consolation.)
Murphy is perpetually floored by the size of the donation, and by Shulman’s seemingly bottomless reservoir of generosity. Murphy’s had strangers give thousands of dollars to Sunday Love, only to discover it was because Shulman recommended the nonprofit to a customer or acquaintance. Shulman recently collaborated with the Philly-area meal-delivery service Home Appetit, sending a portion of the sales to Sunday Love; it resulted in an $8,000 donation.
“I always tell her, she waves a magic wand and she’s just like, ‘Here’s $10,000, feed all the children,’” Murphy said. She remembers a very pregnant Shulman coming to last year’s annual coat giveaway (which will take place this year on Dec. 13 at 3206 Kensington Ave.). “She was in my store because she wanted to see the kids getting coats — I was like, ‘I swear to God, if you have this baby right here on my floor’ — that’s how hard she was working just to make sure that we had everything.”
The Her Place team from left to right: Chef de Cuisine Ana Caballero, Line Cook Lauren Fiorini, Pastry Chef Jazzmen Underwood, Sous Chef Santina Renzi, Prep Cook Denia Victoriano, and Chef/Owner Amanda Shulman posed for a group photo at Her Place Supper Club on Tuesday, Nov. 26, 2024 in Philadelphia. Her Place is located at 1740 Sansom Street in Center City.
Shulman remembers that day a little differently, singling out a moment where she watched a little girl pick out a coat — “this brand-new, shiny pink coat that she got to pick out,” she said. “It’s full circle when you get to do every single part of the process, from the physical picking of the cookies to packing them to printing the things. I’m very grateful to everybody who helps out, and especially to my own team, because it’s a lot of work to make it this seamless.”
That’s what Shulman comes away with when reflecting on what goes into this crumb-flecked effort: gratitude.
“If I can say thanks to my team … and to the community, that would be awesome. Thank you to all the bakers and restaurant people who give so much in the busiest time,” she said. “These bakers take time to not only make [the cookies], but then get it to us. It sounds like an easy lift — it’s not, especially if you’re going to work that day. I don’t take it for granted at all.”
Editor’s note: An earlier version of this story stated that 100% of the Cookies 4 Coats proceeds go to Sunday Love Project. It is split 50/50 between Sunday Love and Broad Street Love.
Representatives behind Philly’s three Michelin starred restaurants are lauded for their culinary skills, hospitality, and showmanship. But the men involved with each of them also have this shared trait: They’re all certified Wife Guys.
For those uninitiated, a wife guy is a colloquial way to refer to someone who is all about their marriage and finds ways to talk about their devotion whenever possible. (There are some instances where this phrase is used snarkily, but in this case, we mean it genuinely as a compliment and in earnest.)
When chefs Amanda Shulman and Alex Kemp stepped on stage to receive Her Place Supper Club’s one-star honor, Kemp stepped to the side, opting not to be photographed alongside the Michelin Man.
“Amanda is the hardest working woman in show business,” Kemp told The Inquirer on Wednesday. “She deserves this. I felt super proud of her, but I didn’t want to take her thunder.”
While Kemp is part-owner of Her Place, Shulman founded the restaurant and is the face (and chef) of the project.
Emcee for the night, Java Ingram, remarked on stage how Kemp’s gesture to step aside was “classy.”
He wasn’t the only one paying tribute to his wife that night.
Power couple Chad and Hanna Williams, who are behind star-winning restaurant Friday Saturday Sunday, also displayed their love for each other. Chad Williams could be seen on stage holding his wife and kissing her cheek after they received their award and Michelin jackets.
“Love and partnership is the foundation of this restaurant,” Williams later told The Inquirer of his display. “We got married in the kitchen for God’s sake. To have earned a Michelin star is my greatest accomplishment but to have done it with my wife is a dream come true.”
Finally, there was Provenance, the surprise of the night, pulling off a star within the atelier’s first year of opening.
Michelin international director Gwendal Poullennec asked Nicholas Bazik on stage what his inspiration was. While holding the mic, he pointed to his wife, Eunbin Whang. “She’s right over there,” Bazik said as the crowd erupted in “aws.” Whang demurely approached Bazik on stage, covering her face, tearful and proud as Bazik draped his arm around her.
“There would be no Provenance without my wife,” Bazik told The Inquirer, citing her influence on his “culinary identity,” blending French and Korean culture and cuisine.
So is love a prerequisite to getting a star?
Bazik seems to think so.
“Everybody needs a constant, something that can help center them. This is a hard job that oscillates between insanity and reality checks. Love is that thread.”
Kemp concurs.
“Or maybe it’s being a ‘family guy,’” he quipped when asked by The Inquirer for his take. “Amanda is a very easy person to love. She’s my best friend. We do everything together. We spend every moment of the day talking or working together.”
He added, “I love being a wife guy. It’s cool being a wife guy.”
The ceremony also honored restaurants from New York City, Chicago, Washington, D.C., and Boston, which also made its Michelin debut as the gastronomic guide has expanded rapidly around the United States in recent years. Anonymous Michelin inspectors were dispatched to Philly months ago to scout, dining in secret and often visiting the same places repeatedly to ensure consistency.
And while Michelin tends to be synonymous with stars (and, yeah, tires), there are other ways to earn recognition. Thirty-one other Philly restaurants — including three cheesesteak shops — earned Michelin honors below the star level. These included 10 Bib Gourmands and 21 recommendations.
What’s the difference between a Michelin star, a Bib, and a recommendation? And who won top honors? We explain.
What is a Michelin star?
A Michelin star is the most prestigious honor a restaurant can earn from the Michelin Guide and typically recognizes fine dining restaurants.
Restaurants do not apply to be inspected, nor can they be nominated. Anonymous inspectors visit restaurants repeatedly throughout the year — often on different days and at different times — and rate them on the following criteria, according to the guide’s website:
Quality of ingredients
Harmony of flavors
Mastery of culinary techniques
Consistency across menu and time
How a chef’s personality is reflected in the food
Thomas Keller high-fives the the Michelin Man during the announcements Tuesday at the Kimmel Center.
Restaurants can earn up to three Michelin stars. One star is a restaurant that is “worth a stop,” according to the guide, for top-quality ingredients. Two stars is a “worth a detour,” while a three-star restaurant is “worth a journey” for cooking that feels like art. Three-star ratings are rare. Only New York City’s Sushi Sho hit the star maximum on Tuesday.
Stars are awarded annually, and restaurants can gain or lose Michelin stars over time, kind of like experience points in a video game. They can also be a big boost for business: Chefs told Eater that one Michelin Star is worth a 20% jump in sales, while other chefs have reported three stars can increase them up to 100%.
Which Philly restaurants earned Michelin stars?
Provenance, Her Place Supper Club, and Friday Saturday Sunday all earned one Michelin star at Tuesday night’s ceremony.
Chefs Chad and Hanna Williams took over Friday Saturday Sunday in 2016, transforming the old Rittenhouse Square restaurant into a James-Beard Award winning tasting experience that mixes Caribbean, Asian, and soul food references. “The long, narrow, lively, and warmly run restaurant is up a steep flight of stairs — and those stairs will seem even steeper when it’s time to leave,” Michelin said of the restaurant, which plans to expand. “Expect an atmosphere as spirited and enjoyable as the food.”
Friday Saturday Sunday, run by chef Chad Williams and his wife, Hanna, earns a star at the Kimmel Center on Tuesday.
Chef Nich Bazik’s Provenance is the youngest Philly restaurant to receive top honors, open for a year in August. Bazik oversees an elaborate, seasonal 20- to 25-dish tasting menu that combines French and Korean flavors often inspired by his wife, Bazik said at Tuesday’s ceremony. Provenance is a “high-wire, high-stakes performance defined by precision,” Michelin wrote.
Provenance sous chefs Zac Cohen (left) and Nicholas Piwinski present a collection of canapés to guest at the Headhouse Square restaurant on Oct. 17, 2024.
What is a Bib Gourmand?
The Bib Gourmand celebrates restaurants “that serve exceptional food at great value,” according to the Michelin Guide’s website. It was first announced in 1997 as a more budget-friendly companion to the stars.
Previous honorees range from Katz’s — the iconic no-frills Jewish deli on Manhattan’s Lower East Side — and a counter-service-only sandwich stand in Atlanta, to small taquerias, dim sum restaurants, and the occasional hole-in-the-wall.
Like Michelin-starred restaurants, Bib Gourmand awardees can use the designation in their marketing. In some cases, the honor has saved restaurants from closing.
A trio of cheesesteaks from Angelo’s Pizzeria, which earned a Michelin Bib Gourmand on Tuesday.
Which Philly restaurants earned a Bib Gourmand?
Ten Philly restaurants took home a Bib Gourmand on Tuesday night. Naturally, three of them were cheesesteak shops. Here’s the full list:
Angelo’s Pizzeria
Dalessandro’s Steaks
Del Rossi’s
Dizengoff
El Chingón
Famous 4th Street Deli
Fiorella
Pizzeria Beddia
Sally
Royal Sushi & Izakaya
Cemita clasica, remolacha, and al pastor tacos at El Chingón, which earned a coveted Michelin Bib Gourmand on Tuesday.
What is a Michelin-recommended restaurant?
Michelin-recommended restaurants are simply “establishments serving good food,” according to the guide’s website. They are judged on the same five signature criteria as starred restaurants.
“A restaurant in the Recommended selection is the sign of a chef using quality ingredients that are well cooked; simply a good meal,” said Michael Ellis, the former international director of Michelin Guide books, in the post. “It means that the inspectors have found the food to be above average, but not quite at star or Bib level.”
In other words, shoot for the stars and hopefully fall among the recs.
The Philadelphia chefs acknowledged at the Michelin Guide announcements Tuesday at the Kimmel Center.
Like restaurants with a Bib Gourmand, those that earned recommendations can also use the notation as a marketing tool. Admittedly, the designation used to be a bigger deal before 2020, when Michelin digitized the guide. Before, recommendations were listed in bound red travel guides that the tire company first used as a sneaky promotion to nudge people to take more road trips (and thus, buy more tires).
Recommended restaurants are not precluded from earning stars later on. In fact, insiders think of it as a watchlist for establishments that might get a star in the future.
The hot tamales from Honeysuckle at 631 N. Broad St., which is now a Michelin Guide recommended restaurant.
Which restaurants did Michelin recommend in Philly?
Michelin recommended 21 restaurants in Philly. They are:
Ambra
Forsythia
High Street
Hiroki
Honeysuckle
Illata
Kalaya
Laser Wolf
Laurel
Little Water
Mish Mish
My Loup
Pietramala
River Twice
Roxanne
Southwark
Suraya
Vedge
Vernick Food & Drink
Vetri Cucina
Zahav
Honeynut squash with husk cherry, habanero, and pumpkin seed tahini at Pietramala. The vegan Philadelphia restaurant earned a Michelin Green Star for sustainability, as a well as a recommendation.
Were there any other awards to take home?
Yes. Aside from earning a recommendation, chef Ian Graye’s vegan Northern Liberties BYOB Pietramala also earned a Green Star for demonstrating a commitment to sustainability.
There is no specific formula for awarding a Green Star, according to the Michelin Guide website, though criteria such as environmental footprint, the use of seasonal produce, resource management, and how food waste is treated are considered.
Ian Graye, of Pietramala earned a Green Star award at the Michelin Guide announcement event at the Kimmel Center.
“Chef Ian Graye seeks out foragers and small local suppliers for plants, herbs and fruits and also does his own fermenting and preserving,“ read the blurb included in the Michelin Guide for Pietramala. “His menu offers a selection of around 10 dishes designed for sharing — around three per person should more than suffice when ordering — and his cooking comes with a slight Italian accent.”
(function() {
var l2 = function() {
new pym.Parent(‘michelin_philly’,
‘https://media.inquirer.com/storage/inquirer/projects/innovation/arcgis_iframe/michelin_philly.html’);
};
if (typeof(pym) === ‘undefined’) {
var h = document.getElementsByTagName(‘head’)[0],
s = document.createElement(‘script’);
s.type = ‘text/javascript’;
s.src = ‘https://pym.nprapps.org/pym.v1.min.js’;
s.onload = l2;
h.appendChild(s);
} else {
l2();
}
})();
For the first time ever, Philadelphia has a Michelin star. Three, in fact.
Friday Saturday Sunday, Her Place Supper Club, and Provenance were each awarded a star, capping a brilliant showing as 31 other Philadelphia restaurants — including three cheesesteak shops — received honors in the city’s debut in Michelin, arguably the world’s most prestigious restaurant awards.
Tuesday night’s Northeast Cities ceremony — which included restaurants from Chicago, Washington, D.C., New York, and Boston (also in its Michelin debut) — drew hundreds of culinary professionals from around the world to the Kimmel Center, whose facade was lit up in Michelin’s signature red. The attendees were a who’s who of the culinary world, including chefs Thomas Keller and Jean-Georges Vongerichten, and drew dozens of the city’s best-known chefs and restaurateurs, such as Greg Vernick, Marc Vetri, Omar Tate, and Chutatip “Nok” Suntaranon, Jesse Ito, and Ellen Yin.
Hanna Williams looks on as her husband, chef Chad Williams, and Lynette Brown-Sow do a FaceTime after the Michelin awards at the Kimmel Center. Brown-Sow has known Chad Williams since he was a baby.
Ten Philadelphia restaurants received a Bib Gourmand — recognized as great food at a great value, though not star-worthy. They represent a mixed bag of cuisines and price points: cheesesteaks (Angelo’s, Dalessandro’s, Del Rossi’s), Israeli cuisine (Dizengoff), Mexican (El Chingón), pizza (Pizzeria Beddia, Sally), casual pasta (Fiorella), Japanese (Royal Sushi & Izakaya), and classic Jewish deli (Famous 4th Street Deli).
Michelin deemed 21 other Philadelphia restaurants as Recommended: Ambra, Forsythia, High Street, Hiroki, Honeysuckle, Illata, Kalaya, Laser Wolf, Laurel (whose final night will be Nov. 21), Little Water, Mish Mish, My Loup, Pietramala, River Twice, Roxanne, Southwark, Suraya, Vedge, Vernick Food & Drink, Vetri Cucina, and Zahav. Michelin says these restaurants serve high-quality food and use good ingredients.
Joe Beddia (from left), Greg Root, Nick Kennedy (rear), Chutatip “Nok” Suntaranon, and Roland Kassis with the Michelin Man at the Michelin Guide announcements Tuesday at the. Kimmel Center.
Besides the Recommended honor, Pietramala — chef Ian Graye’s vegan restaurant in Northern Liberties — was awarded a Green Star for demonstrating commitment to sustainability.
All can use the name “Michelin” in their marketing, a powerful tool that potentially boosts business.
Michelin, which operates in secrecy, bases the selections on its anonymous inspectors. Stars denote excellence: one star signals very good cuisine that’s “worth a stop,” two stars indicate excellence “worth a detour,” and three stars represent exceptional dining “worth a special journey.”
Chef Jesse Ito and Mia Colona at the Michelin Guide announcements Tuesdy at the Kimmel Center.
The ceremony, a milestone for Philadelphia’s profile as a dining destination, was the city’s highest-profile appearance since 2018, when the James Beard Foundation announced that year’s finalists for its annual chef, restaurant, and media awards in a ceremony at Parc.
It was a night of camaraderie, pride, and emotion. After heading to the stage to acknowledge Angelo’s Pizzeria’s Bib Gourmand, owner Danny DiGiampietro disappeared for a bit. “I had a walk outside,” he explained later. “I can’t stop crying.”
Philadelphia’s one-stars
Friday Saturday Sunday chef Chad Williams and his wife, Hanna, took over this storied Rittenhouse restaurant in 2016 and pivoted to a set multicourse menu. “Thanks to skilled technique, just the right amount of innovation and an innate understanding of the luxury ingredients he uses, his dishes fill the mouth with flavor and succulence,” the Michelin blurb reads. “His delicious crispy sweetbreads will convert any skeptic; quail with pâte plays with texture, and the New York strip is a lesson in expert seasoning. There’s a great cocktail bar on the first floor; the long, narrow, lively and warmly run restaurant is up a steep flight of stairs — and those stairs will seem even steeper when it’s time to leave. Expect an atmosphere as spirited and enjoyable as the food.”
Amanda Shulman (right) and her husband and business partner, Alex Kemp, giggle after winning a Michelin star for Her Place Supper Club at the Michelin ceremony at the Kimmel Center on Tuesday.
Her Place Supper Club, also in Rittenhouse, was born out of chef Amanda Shulman’s cooking for friends in her Penn campus apartment. Michelin praised its “warm and welcoming supper club vibe.” While diners may get their own table, “there’s a real communal feel at play here; everyone is served at the same time after Amanda has explained to the room the makeup of each dish and perhaps the influence behind it.”
Provenance, chef Nicholas Bazik’s sumptuous atelier across from Headhouse Square, delivers what Michelin calls “a high-wire, high-stakes performance defined by precision, harmony, and, of course, taste. Korean and French influences come and go with this elaborate tasting menu where special soys, vibrant oils and glossy sauces give wonderful dimension to pristine seafood and dry-aged proteins. Think Japanese tuna with whipped tofu, puffed sorghum and chili oil or brown butter hollandaise with country ham, caviar and cauliflower. The ideas are original, the flavors bold.”
The Michelin effect
All this boils down to commerce. City and state tourism boards have increasingly turned to Michelin — the French-based tire company that has been publishing the influential dining guides for decades — as food tourism plays a growing role in travel planning.
Ian Graye of Pietramala accepts a Green Star award at Tuesday’s Michelin Guide announcement event at the Kimmel Center.
Michelin has expanded rapidly in the United States over the last several years. Besides the American South region — covering Alabama, Louisiana, Mississippi, North Carolina, South Carolina, and Tennessee — there are guides for Texas and Colorado. Atlanta’s 2023 guide has since been rolled into the South. The Florida guide, launched in 2022, now includes Miami, Orlando, and Tampa. Internationally, it recently arrived in Qatar, New Zealand, and the Philippines.
(function() {
var l2 = function() {
new pym.Parent(‘michelin_philly’,
‘https://media.inquirer.com/storage/inquirer/projects/innovation/arcgis_iframe/michelin_philly.html’);
};
if (typeof(pym) === ‘undefined’) {
var h = document.getElementsByTagName(‘head’)[0],
s = document.createElement(‘script’);
s.type = ‘text/javascript’;
s.src = ‘https://pym.nprapps.org/pym.v1.min.js’;
s.onload = l2;
h.appendChild(s);
} else {
l2();
}
})();
The Philadelphia Convention and Visitors Bureau cites an Ernst & Young study, commissioned by Michelin, showing the guide’s influence: 74% of travelers consider Michelin’s presence a decisive factor when choosing a destination; 76% say they would extend a trip to dine at a recommended restaurant; and 80% report being willing to pay more for what they view as a Michelin-level dining experience.
For restaurants that receive distinctions, the impact is immediate as restaurants append “Michelin” to their social-media profiles.
The energetic and anxious crowd of chefs and restauranteurs during the Michelin ceremony at the Kimmel Center Tuesday, Nov. 18, 2025.
The reservations boost can be dramatic. In Charlotte, the 18-seat Counter sold about 900 reservations in the days after earning a star at the 2025 American South ceremony on Nov. 3, booking out through mid-February, chef-owner Sam Hart told Axios. About half the reservations came from out-of-town guests, including some international travelers.
In many U.S. markets, the guide is explicitly part of tourism strategies: Axios has reported that the states included in the South edition are collectively paying Michelin $5 million over three years. PHLCVB has not disclosed how much it paid for Michelin’s partnership, which was announced in May.
Chefs Jean Georges Vongerichten (left) and Thomas Keller posed with the Michelin Man ahead of Tuesday night’s ceremony at the Kimmel Center.
Not only can reservations rise, so can menu prices at the winning restaurants. A widely cited 2018 analysis by Carly Shin of George Washington University found that a one-star rating increases menu prices by about 15%, two stars by 55%, and three stars by roughly 80%.
Michelin says that 82% of chefs report increased revenue after receiving a distinction, 60% add new staff, and 58% say a nod boosts team motivation and morale — though anecdotally, some chefs acknowledge enormous pressure to maintain such a high level.
Michelin’s arrival has inspired the PHLCVB Foundation to sponsor the Philabundance Community Kitchen program, a 16-week culinary vocational training and life-skills program for adults with low or no income, offering hands-on kitchen experience, ServSafe certification, and post-graduation employment support in the food service and restaurant industry. The foundation will connect the recognized chefs and restaurateurs to the PCK program.
Dining rooms in Philly are abuzz with talk of Michelin’s impending arrival in Philadelphia —whose stars (or lack thereof) are set to be announced on Tuesday.
On a recent night, while celebrating my wedding anniversary at the elegant Friday Saturday Sunday, diners at tables on either side of mine discussed the potential of the restaurant winning a star. That same week, at the hushed, luxe soapstone counter at Provenance, where spotlights shine precisely upon the parade of twenty-some courses (which costs $300 inclusive of tax and service charge, but not beverages) placed in front of diners, Michelin was brought up by every single guest to chef Nich Bazik as he made his rounds. “I’ve been to a lot of Michelin-starred places and they’ve been mediocre. But I think you’re going to get one,” I overheard one diner telling Bazik.
Anticipation is high. But what would getting Michelin recognition actually mean to Philadelphia restaurants? In at least one case, it might translate to survival. For the rest of the city, the guide’s arrival is both foreboding and exciting.
The experience that Bazik concocts at Provenance is Michelin bait: As I was being seated, my purse is given its own stool. Each time I get up to go to the restroom, my napkin has been replaced with a fresh, clean, starched, and folded one on a wooden tray. I count as many staff members as diners seated around the counter. My grenache noir is served in an impossibly delicate German Spiegelau glass. A single glass can cost $40, far more than the $15 wine it contains. These are the touches Michelin inspectors — or at least, diners who dine frequently at Michelin-starred restaurants — pay attention to.
“A lot of folks dining here liken us to Michelin-starred restaurants in New York and around the world,” said Bazik in a phone conversation after my meal.
“There’s a lot of weight for me in that outcome. We’re confident in the products that we bring in and our execution, but my anxiety lies with people’s expectations,” he said.
For Bazik, the expectation that his restaurant will attain a star is high, and more than any of the other Philly restaurants speculated about in recent Michelin banter, Provenance needs a star to keep operating. Unlike its fellow contenders — Royal Sushi & Izakaya, Friday Saturday Sunday, Kalaya, and Vetri Cucina, to name some likely star recipients — the year-old restaurant hasn’t received international attention nor garnered any major awards.
Royal, Kalaya, and Friday Saturday Sunday made appearances on the inaugural North America 50 Best list, an institution often considered a bellwether of future Michelin recognition, much the way Hollywood insiders consider the Screen Actors Guild Awards a tip as to who might ultimately take home an Oscar. Provenance’s recent appearance on Bon Appétit’s 20 best restaurants of 2025 list was exciting for Bazik, but didn’t contribute to any discernible increase in reservations.
Provenance chef-owner Nicholas Bazik greets guest in the Headhouse Square restaurant on Oct. 17, 2024.
On Nov. 18, Michelin will release its 2025 Northeast Cities edition, covering dining in Chicago, New York City, Washington, D.C., and for the first time, Boston and Philadelphia. Over the last two years, the Michelin Guide has expanded rapidly in the United States, growing to include a new region of the South (Alabama, Louisiana, Mississippi, North Carolina, South Carolina, and Tennessee) and the states of Texas and Colorado. Atlanta’s guide was introduced in 2023, but has since been rolled into the South’s edition. The Florida guide, introduced in 2022, has expanded to include a greater Miami area, Orlando, and Tampa. Internationally, the guide arrived in Qatar, New Zealand, and the Philippines in the last year.
Anonymous inspectors were dispatched to Philly’s restaurants many months ago. About a month ago, those selected for either stars, a Bib Gourmand designation (for restaurants that have a “simpler style of cooking” and “leave you with a sense of satisfaction, at having eaten so well as such a reasonable price”), or to be listed in the guide without either recognitionreceived a short survey from Michelin via email to confirm details like how they take reservations and their address.
Invites to the ceremony went out last week to chefs and restaurateurs, some who will appear in this new guide and some who won’t. Intentionally or not, Michelin seems to toy with the hopes and expectations of chefs, inviting a number of attendees who will walk away empty-handed or, in some cases, having lost a star.
The communication between Michelin and restaurants is famously terse and, for some included the guide’s newer editions, highly unexpected. When the Philippines’ first-ever Michelin stars were announced on Oct. 30, one restaurateur did not appear to receive his plaque because he had believed the emails to be spam.
The Michelin Guide’s arrival has also been rejected, as is case in Australia, where Michelin reportedly asked for $17.33 million over five years from Tourism Australia. The bid was rejected and Australia’s restaurants were passed over while the guide landed in New Zealand, to varying fanfare.
The interior of Friday Saturday Sunday.
Michelin math
As deserving as the Philly food scene is on the international stage, the reality is that Michelin attention is coming because the Philadelphia Convention & Visitors Bureau invested inexpanding the guide’s coverage here.If Provenance were located in Pittsburgh, Bazik would have to wait until the city’s tourism board was willing to pay for its restaurants to be considered by inspectors.
Restaurants may stand to benefit financially from Michelin recognition. In the documentary Knife Edge: Chasing Michelin Stars, produced by Gordon Ramsay and heavily promoted by Michelin itself, host Jesse Burgess says, “They say with one Michelin star you get 20% more business. With two Michelin stars, you’re going to see about 40% more, three Michelin stars, double — 100% more business.” These numbers were corroborated by Eater in 2010.
But some restaurants have also reported having a Michelin star can cost them money. An initial bump can be followed by a slump, according to a study in the Strategic Management Journal: “Consequences of Michelin stars were not all necessarily favorable. Restaurateurs also emphasized how relationships with employees, landlords, and suppliers became more strained as these exchange partners sought to bargain for more value.”
The downsides
Michelin-starred restaurants may struggle to maintain diners’ expectations, which have been compounded by shows like The Bear and examples set forth by empire-building restaurateurs like Will Guidara, also the author of Unreasonable Hospitality.
“Traditional gestures of hospitality will not cut it. Sending an extra appetizer to a table seems quaint, and just forget about the ubiquitous candle in the dessert,” wrote restaurateur John Winterman, the owner of one-starred Francie in Brooklyn, in a recent article in Food & Wine. Michelin-caliber restaurants, in addition to everything else they’re trying to keep up with, are now dealing with diners used to extraordinary gestures.
Guests fill the dining room at Kalaya in Fishtown as restaurant staff weave through service on Aug. 22, 2024.
“Someone complained once because we didn’t have purse stools. And why not? We have a Michelin star, so we should have purse stools,” Winterman told me in a phone conversation.
Michelin expectations can also have a downside for diners: Who wants to travel thousands of miles to eat the same food?
More and more has been written about the creeping sameness that haunts Michelin-caliber restaurants around the globe. As they strive for stars, restaurants start to resemble one another in both hospitality and food. In his 2024 review of New York City’s one-starred Noksu, the New York Times’ former critic Pete Wells pondered, “There are restaurants like this in almost every major city now, imitation pearls on a string that circles the world. Once the door closes, you could be anywhere, or nowhere. How did chefs who prize both originality and a sense of place decide that the most appropriate backdrop for their food would be copycat rooms done in a blank-faced global style?”
Even as Philly gears up for more international visitors and attention for the World Cup and America’s 250th anniversary, it’s likely that a (much-desired) influx of food tourists will all try to go to the same places thanks to Michelin. Many already are.
“We’ve booked Friday Saturday Sunday and Kalaya, where else should we go?” a Canadian friend texted me last week. He was looking for the usual suspects, the must-eats, notches on his belt. A rising tide may not lift all ships, but rather concentrate the money and attention on a select few.
Morale boost
“Awards are always superspecial. Obviously we love getting recognized,” said Marc Vetri in a phone interview. “But in the end, we are not here to win awards. We’re here to do what we love. Awards are never the end goal.”
Open for over a quarter of a century, Vetri doesn’t need a Michelin star the way Provenance does. Vetri Cucina already attracts well-heeled international visitors, happy to open their wallets for the extraordinary pastas and meats that the kitchen turns out. “If you’re around that long, folks are going to hear about you. Everyone knows about us. Our dining room every night has a variety of area codes from local to the West Coast, to European numbers, phone numbers from all over the world,” said Vetri.
Getting a Michelin star won’t change how he operates either. “This is my life, maybe a lot of chefs are thinking about this differently — sticking things on their menu specifically for Michelin. But once you stray from who you are, you’ve lost who you are. We’re always evolving. We’re a new restaurant every year. We evolve with my life experiences,” he said. “And we won’t raise our prices, like in a war.”
Marc Vetri makes pasta at Vetri Cucina.
Vetri is excited for Philly to have more recognition on the world culinary stage. “It’ll bring more Europeans and worldly folks to Philly,” he said.
Nich Bazik has wanted his own restaurant since the age of 20 and has never worked in a Michelin-starred restaurant. If Provenance attains a star, his own will be the first that he has cooked in. This is a rarity. Chefs at his level typically train at Michelin-starred restaurants in many cities, gaining experience from global kitchens and hobnobbing with other chefs with Michelin stars in their eyes. Bazik’s cooking is entirely homegrown, nurtured by experiences working at James with Jim Burke and at Russett with Andrew Wood.
“I am from Philadelphia. This is my home,” Bazik said. “My entire paid tenure of being a cook has been in Philadelphia and by design. I didn’t see the benefit of going elsewhere.”
Despite Bazik’s anxiety, “Michelin isn’t going to change how we operate. I work from 9:30 a.m. to midnight every day. I’d be doing that whether Michelin was coming or not.”
More business?
The reservation system OpenTable regularly posts its top 10 most-booked restaurants in cities. In their latest Philadelphia update, on Nov. 5, that list included Borromini, Parc, the Love, Talula’s Garden, the Dandelion, and El Vez, and none of the other restaurants mentioned in this article. (Resy, which Kalaya and Royal Sushi use, does not put out a comparable, data-driven list).
This is a reminder that the restaurants contending for a Michelin star exist in a rarefied space. As much as the guide’s representatives try to downplay their focus on fine dining, the vast majority of Michelin hopefuls do charge a lot of money. On a purely economic basis, they aren’t for everyone.
Conversely, OpenTable’s top 10 is a reflection of where people are really going out to eat in Philadelphia and, of course, the restaurants large enough to accommodate them — six of 10 of those places are owned by Stephen Starr (an altogether different star than what we’re talking about). At the end of the day, actual diners mean more to the bottom line and longevity of a restaurant than stars. But they probably can’t hurt.
Almost as soon as we closed The 76 last year, The Inquirer’s Food team started thinking about how to improve it. The challenge of an annual list is not just to keep it going, but to make sure it stays as relevant and useful as it was in the first edition.
Philadelphia is an incredible city for eating. That’s not news to anyone reading this. As the fine dining scene in Philadelphia — rightfully — draws more national (and international) attention, the danger is that excellent, low-profile eateries will go ignored while kitchens focused on luxe ingredients win acclaim.
What makes Philadelphia’s restaurant scene unique is that there’s room for experiments, for big swings, and for upstarts to express their own culinary perspectives. That’s thanks to a blend of factors: a lower cost of living than other East Coast cities, a confluence of talent, and a diversity of immigrant cuisine. There’s an exciting culture of collaboration and DIY energy in Philly, like going to a basement show of a band that feels destined to make it big.
In the food section, we cover the big award nominees, of course. But we’re equally eager to celebrate an unassuming BYOB, a new-to-us food cart, a killer sandwich, or a fantastic café. It’s not that these places are secret, but they aren’t the national media darlings that some of Philly’s top spots have become. With this year’s 76, we aimed to give those restaurants their accolades, too.
So we enlisted even more eating power than last year, drawing on a newsroom of reporters who travel all over the Philadelphia area every day, telling stories in every community. There were surprises. There were delights. There were at least two cases of food poisoning.
But the results were worth it. This list is unlike any other in Philadelphia, both in its scope and in its depth. I’m tremendously proud of it, and of the immense effort The Inquirer put into it.
As the new food editor at The Inquirer, my aim is to make sure that The 76 keeps evolving, to reflect, as best we can, the vast cultural and culinary diversity in Philadelphia. Don’t worry: We’re already thinking about next year.
It’s a brand-new year for The 76, The Inquirer’s annual list of the most vital restaurants in the Philadelphia area. This year, we started fresh with a new batch of dining scouts and an even wider purview, diving deeper into pockets of Philadelphia that we didn’t get to eat through last year. The result is a list that we hope is as vibrant, diverse, and interesting as the city that it reflects.
You’ll find some favorites from last year on 2025’s 76, which held on to their spots by being just as impressive as they were the last times we ate there (Friday Saturday Sunday still dazzles, as does Gabriella’s Vietnam).
But you’ll notice that there’s a good deal of turnover, too. More than half of the list is fresh — either classics we felt deserved their time in the spotlight, like the white-tablecloth red-gravy stalwart Dante & Luigi’s or chef favorite Pho 75, or new and new-to-us spots that reflect the shifting energy of the dining scene, like Indonesian karaoke hot spot Niki Echo and the revived Tequilas, a three-restaurants-in-one experience.
Advertisement
Our scouts, all 18 of them, fanned out across the Philadelphia area and ate through cuisines we were curious about, like the wide-ranging food truck landscape and the vibrant Mexican community in Norristown. We found a Main Line cheesesteak (Johnny’s Pizzeria) that rivals South Philly’s best. The result is a list filled with gems, some in plain sight and some that required a bit more hunting.
We think this list, which is unranked and alphabetical, is the most useful list of Philadelphia-area restaurants out there. Some hotly anticipated openings like Stephen Starr’s Borromini and Phila Lorn’s Sao opened too late to make the cut. But don’t worry, there’s always next year.
The 76 is how we think Philadelphia is eating right now, and — we hope — might help you uncover your next favorite spot. Grab a plate and dig in.
Advertisement
How The Inquirer makes its recommendations
The Inquirer aims to represent the geographic, cultural, and culinary diversity of the region in its coverage. Inquirer staffers and contributors do not accept free or comped meals — all meals are paid for by The Inquirer. All dining recommendations are made solely by The Inquirer editorial staffers and contributors based on their reporting and expertise, without input from advertisers or outside interests. More information about how The 76 was put together is available here.
Filter by
Genres
1
Regions
1
Price
1
Showing 76 places
Clear filters
The medium mixed grill and sides.Monica Herndon / Staff Photographer
BBQ captain Jason Kim cooks prime rib eye for the “Korean BBQ Combo B,” including prime cha dol begi, prime rib eye, marinated prime kalbi, steamed egg, scallion salad, doenjang jjigae or kimchi jjigae.Elizabeth Robertson / Staff Photographer
Pho order number 1: Slices of eye-round steak, well-done flank, fat brisket, soft tendon and beef tripe with added meatballs.Alejandro A. Alvarez / Staff Photographer
This is the second edition of The 76 and we’re looking for your feedback to make it even more useful. If you have thoughts about its design or features, we would appreciate a few minutes of your time by taking this survey.
Staff Contributors
Editing: Margaret Eby, Jenn Ladd, and Matt Buchanan
Reporters: Beatrice Forman, Craig LaBan, Earl Hopkins, Emily Bloch, Evan S. Benn, Evan Weiss, Hira Qureshi, Jake Blumgart, Jasen Lo, Jenn Ladd, Julia Duarte, Kiki Aranita, Max Marin, Michael Klein, Ryan Briggs, Tommy Rowan, and Ximena Conde
Social Editing: Esra Erol and Sam Stewart
Design, Art Direction, and Development: Sam Morris
Art Direction: Julia Duarte and Suzette Moyer
Photo Editing: Jasmine Goldband
Photographers: Alejandro A. Alvarez, Caean Couto, Tom Gralish, Jessica Griffin, Monica Herndon, Heather Khalifa, Yong Kim, Joe Lamberti, Elizabeth Robertson, Tim Tai, Isaiah Vazquez, Tyger Williams
Video: Gabe Coffey, Esra Erol, Jenna Miller, Samantha Stewart
`}tablecell(t,n){let r=n.header?”th”:”td”;return(n.align?“:“)+t+`${r}>
`}strong(t){return`${t}`}em(t){return`${t}`}codespan(t){return`${t}`}br(){return this.options.xhtml?” “:” “}del(t){return`${t}`}link(t,n,r){if(t=hi(this.options.sanitize,this.options.baseUrl,t),t===null)return r;let i=’“+r+”“,i}image(t,n,r){if(t=hi(this.options.sanitize,this.options.baseUrl,t),t===null)return r;let i=`“:”>”,i}text(t){return t}},kt=class{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,n,r){return””+r}image(t,n,r){return””+r}br(){return””}},bt=class{constructor(){this.seen={}}serialize(t){return t.toLowerCase().trim().replace(//ig,””).replace(/[u2000-u206Fu2E00-u2E7F\’!”#$%&()*+,./:;?@[]^`{|}~]/g,””).replace(/s/g,”-“)}getNextSafeSlug(t,n){let r=t,i=0;if(this.seen.hasOwnProperty(r)){i=this.seen[t];do i++,r=t+”-“+i;while(this.seen.hasOwnProperty(r))}return n||(this.seen[t]=i,this.seen[r]=0),r}slug(t,n={}){let r=this.serialize(t);return this.getNextSafeSlug(r,n.dryrun)}},ie=class{constructor(t){this.options=t||me,this.options.renderer=this.options.renderer||new Qe,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new kt,this.slugger=new bt}static parse(t,n){return new ie(n).parse(t)}static parseInline(t,n){return new ie(n).parseInline(t)}parse(t,n=!0){let r=””,i,s,o,l,a,c,h,u,f,p,x,y,k,w,T,b,D,B,Z,ce=t.length;for(i=0;i<ce;i++){if(p=t[i],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[p.type]&&(Z=this.options.extensions.renderers[p.type].call({parser:this},p),Z!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(p.type))){r+=Z||"";continue}switch(p.type){case"space":continue;case"hr":{r+=this.renderer.hr();continue}case"heading":{r+=this.renderer.heading(this.parseInline(p.tokens),p.depth,wi(this.parseInline(p.tokens,this.textRenderer)),this.slugger);continue}case"code":{r+=this.renderer.code(p.text,p.lang,p.escaped);continue}case"table":{for(u="",h="",l=p.header.length,s=0;s<l;s++)h+=this.renderer.tablecell(this.parseInline(p.header[s].tokens),{header:!0,align:p.align[s]});for(u+=this.renderer.tablerow(h),f="",l=p.rows.length,s=0;s<l;s++){for(c=p.rows[s],h="",a=c.length,o=0;o<a;o++)h+=this.renderer.tablecell(this.parseInline(c[o].tokens),{header:!1,align:p.align[o]});f+=this.renderer.tablerow(h)}r+=this.renderer.table(u,f);continue}case"blockquote":{f=this.parse(p.tokens),r+=this.renderer.blockquote(f);continue}case"list":{for(x=p.ordered,y=p.start,k=p.loose,l=p.items.length,f="",s=0;s0&&T.tokens[0].type===”paragraph”?(T.tokens[0].text=B+” “+T.tokens[0].text,T.tokens[0].tokens&&T.tokens[0].tokens.length>0&&T.tokens[0].tokens[0].type===”text”&&(T.tokens[0].tokens[0].text=B+” “+T.tokens[0].tokens[0].text)):T.tokens.unshift({type:”text”,text:B}):w+=B),w+=this.parse(T.tokens,k),f+=this.renderer.listitem(w,D,b);r+=this.renderer.list(f,x,y);continue}case”html”:{r+=this.renderer.html(p.text);continue}case”paragraph”:{r+=this.renderer.paragraph(this.parseInline(p.tokens));continue}case”text”:{for(f=p.tokens?this.parseInline(p.tokens):p.text;i+1<ce&&t[i+1].type==="text";)p=t[++i],f+=`
`+(p.tokens?this.parseInline(p.tokens):p.text);r+=n?this.renderer.paragraph(f):f;continue}default:{let Ie='Token with "'+p.type+'" type was not found.';if(this.options.silent){console.error(Ie);return}else throw new Error(Ie)}}}return r}parseInline(t,n){n=n||this.renderer;let r="",i,s,o,l=t.length;for(i=0;i{if(r.message+=`
Please report this to https://github.com/markedjs/marked.`,e){let i=”
An error occurred:
"+R(r.message+"",!0)+"
“;if(t)return Promise.resolve(i);if(n){n(null,i);return}return i}if(t)return Promise.reject(r);if(n){n(r);return}throw r}}function xi(e,t){return(n,r,i)=>{typeof r==”function”&&(i=r,r=null);let s={…r};r={…m.defaults,…s};let o=kl(r.silent,r.async,i);if(typeof n>”u”||n===null)return o(new Error(“marked(): input parameter is undefined or null”));if(typeof n!=”string”)return o(new Error(“marked(): input parameter is of type “+Object.prototype.toString.call(n)+”, string expected”));if(yl(r),r.hooks&&(r.hooks.options=r),i){let l=r.highlight,a;try{r.hooks&&(n=r.hooks.preprocess(n)),a=e(n,r)}catch(u){return o(u)}let c=function(u){let f;if(!u)try{r.walkTokens&&m.walkTokens(a,r.walkTokens),f=t(a,r),r.hooks&&(f=r.hooks.postprocess(f))}catch(p){u=p}return r.highlight=l,u?o(u):i(null,f)};if(!l||l.length{l(u.text,u.lang,function(f,p){if(f)return c(f);p!=null&&p!==u.text&&(u.text=p,u.escaped=!0),h–,h===0&&c()})},0))}),h===0&&c();return}if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then(l=>e(l,r)).then(l=>r.walkTokens?Promise.all(m.walkTokens(l,r.walkTokens)).then(()=>l):l).then(l=>t(l,r)).then(l=>r.hooks?r.hooks.postprocess(l):l).catch(o);try{r.hooks&&(n=r.hooks.preprocess(n));let l=e(n,r);r.walkTokens&&m.walkTokens(l,r.walkTokens);let a=t(l,r);return r.hooks&&(a=r.hooks.postprocess(a)),a}catch(l){return o(l)}}}function m(e,t,n){return xi(re.lex,ie.parse)(e,t,n)}m.options=m.setOptions=function(e){return m.defaults={…m.defaults,…e},sl(m.defaults),m};m.getDefaults=mi;m.defaults=me;m.use=function(…e){let t=m.defaults.extensions||{renderers:{},childTokens:{}};e.forEach(n=>{let r={…n};if(r.async=m.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(“extension name required”);if(i.renderer){let s=t.renderers[i.name];s?t.renderers[i.name]=function(…o){let l=i.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:t.renderers[i.name]=i.renderer}if(i.tokenizer){if(!i.level||i.level!==”block”&&i.level!==”inline”)throw new Error(“extension level must be ‘block’ or ‘inline’”);t[i.level]?t[i.level].unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===”block”?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===”inline”&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=m.defaults.renderer||new Qe;for(let s in n.renderer){let o=i[s];i[s]=(…l)=>{let a=n.renderer[s].apply(i,l);return a===!1&&(a=o.apply(i,l)),a}}r.renderer=i}if(n.tokenizer){let i=m.defaults.tokenizer||new Je;for(let s in n.tokenizer){let o=i[s];i[s]=(…l)=>{let a=n.tokenizer[s].apply(i,l);return a===!1&&(a=o.apply(i,l)),a}}r.tokenizer=i}if(n.hooks){let i=m.defaults.hooks||new Te;for(let s in n.hooks){let o=i[s];Te.passThroughHooks.has(s)?i[s]=l=>{if(m.defaults.async)return Promise.resolve(n.hooks[s].call(i,l)).then(c=>o.call(i,c));let a=n.hooks[s].call(i,l);return o.call(i,a)}:i[s]=(…l)=>{let a=n.hooks[s].apply(i,l);return a===!1&&(a=o.apply(i,l)),a}}r.hooks=i}if(n.walkTokens){let i=m.defaults.walkTokens;r.walkTokens=function(s){let o=[];return o.push(n.walkTokens.call(this,s)),i&&(o=o.concat(i.call(this,s))),o}}m.setOptions(r)})};m.walkTokens=function(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(m,r)),r.type){case”table”:{for(let i of r.header)n=n.concat(m.walkTokens(i.tokens,t));for(let i of r.rows)for(let s of i)n=n.concat(m.walkTokens(s.tokens,t));break}case”list”:{n=n.concat(m.walkTokens(r.items,t));break}default:m.defaults.extensions&&m.defaults.extensions.childTokens&&m.defaults.extensions.childTokens[r.type]?m.defaults.extensions.childTokens[r.type].forEach(function(i){n=n.concat(m.walkTokens(r[i],t))}):r.tokens&&(n=n.concat(m.walkTokens(r.tokens,t)))}return n};m.parseInline=xi(re.lexInline,ie.parseInline);m.Parser=ie;m.parser=ie.parse;m.Renderer=Qe;m.TextRenderer=kt;m.Lexer=re;m.lexer=re.lex;m.Tokenizer=Je;m.Slugger=bt;m.Hooks=Te;m.parse=m;var tc=m.options,nc=m.setOptions,rc=m.use,ic=m.walkTokens,sc=m.parseInline;var oc=ie.parse,lc=re.lex;var Ni=lt(Ri());var wn=lt(gt());function xn({label:e,text:t}){return wn.default.createElement(“span”,{className:”inno-hover js-hover”},e,wn.default.createElement(“span”,{className:”inno-hover__box”,dangerouslySetInnerHTML:{__html:Tt.toHTML(t[0])}}))}var jl={name:”spannerWithColor”,level:”inline”,start(e){return e.match(/</)?.index},tokenizer(e){let n=/^]*)>(([^)]*))/.exec(e);if(n){let i=/#(?:[0-9a-fA-F]{3}){1,2}$/.exec(n[2]);return{type:”spannerWithColor”,raw:n[0],text:n[1],…i&&{color:n[2]}}}},renderer(e){if(e.color){let t=(0,Ni.default)(e.color).isDark();return`${m.parseInline(e.text)}`}else return`${m.parseInline(e.text)} (u26D4uFE0F Error: Incorrect hex color provided)`}},_l={name:”spanner”,level:”inline”,start(e){return e.match(/</)?.index},tokenizer(e){let n=/^]*?)>(?!()/.exec(e);if(n)return{type:”spanner”,raw:n[0],text:n[1]}},renderer(e){return`${m.parseInline(e.text)}`}},Rl={name:”hover”,level:”inline”,start(e){return e.match(/)?.index},tokenizer(e){let n=/^[([^]]*?)]{([^}]*?)}/.exec(e);if(n)return{type:"hover",raw:n[0],label:n[1],text:n[2]}},renderer(e){return Ui.default.renderToString(Pi.default.createElement(xn,{label:[e.label],text:[e.text]}))}};m.use({extensions:[jl,_l,Rl]});var Tt={toHTML:e=>e&&typeof e==”string”?m.parseInline(e.replace(“v”,`
`)):””};var Pl=(e,t)=>{let n=e.querySelector(“.js-description”);for(let r of t.body){let i=document.createElement(“p”);i.classList.add(“inno-p”),i.innerHTML=Tt.toHTML(r.value),n.appendChild(i)}},At={init:()=>{},populate:(e,t)=>{Pl(e,t)}};var kn=!1,Ul=()=>{document.querySelectorAll(“.js-filter-header”).forEach(e=>{e.addEventListener(“click”,()=>{Bl(e)})}),document.querySelectorAll(“.js-filter-checkbox”).forEach(e=>{e.addEventListener(“change”,()=>{Wi(),Hi(),O.event(“click”,`Filter checked | ${e.dataset.group} | ${e.value} | ${e.checked?”on”:”off”}`)})}),document.querySelectorAll(“.js-filter-reset”).forEach(e=>{e.addEventListener(“click”,()=>{Nl()})}),document.querySelector(“.js-filter-catcher”).addEventListener(“click”,()=>{Zl()}),document.querySelectorAll(“.js-toggle-filters”).forEach(e=>{e.addEventListener(“click”,()=>{Zi()})}),window.addEventListener(“resize”,()=>{Bi()})},Bi=()=>{document.querySelectorAll(“.js-filter”).forEach(t=>{window.innerWidth>1199?t.classList.remove(“is-open”):t.classList.add(“is-open”)})},Zi=()=>{kn=!kn,kn?(document.querySelector(“body”).classList.add(“is-filtering”),O.event(“click”,”Show mobile filters”)):(document.querySelector(“body”).classList.remove(“is-filtering”),O.event(“click”,”Hide mobile filters”),window.innerWidth{document.querySelector(“.js-guide”).scrollIntoView({behavior:”instant”})},Nl=()=>{document.querySelectorAll(“.js-filter-checkbox:checked”).forEach(t=>{t.checked=!1}),O.event(“click”,”Reset all filters”),Wi()},Bl=e=>{let t=document.querySelector(“.js-filters”),n=document.querySelectorAll(“.js-filter”),r=e.closest(“.js-filter”),i=r.classList.contains(“is-open”);window.innerWidth>1200&&n.forEach(s=>{s.classList.remove(“is-open”)}),i?(r.classList.remove(“is-open”),t.classList.remove(“is-open-filter”),O.event(“click”,`Desktop filter group closed | ${r.dataset.filter}`)):(r.classList.add(“is-open”),t.classList.add(“is-open-filter”),O.event(“click”,`Desktop filter group opened | ${r.dataset.filter}`))},Zl=()=>{document.querySelector(“.js-filters”).classList.remove(“is-open-filter”),document.querySelectorAll(“.js-filter”).forEach(n=>{n.classList.remove(“is-open”)})},Hl=()=>{let e=new Object,t=document.querySelectorAll(“.js-filter-checkbox:checked”);for(let n of t){let r=n.dataset.group;e[r]||(e[r]=new Array),e[r].push(n.value)}return e},Wl=(e,t)=>{let n=Object.keys(e),r=new Array;for(let i of n){let l=e[i].map(a=>{if(t[i]!==void 0)return t[i].split(“,”).map(f=>f==a).filter(Boolean).length>0;console.log(`no ${i}`)}).filter(Boolean).length>0;r.push(l)}return r.every(Boolean)},Wi=()=>{let e=Hl(),t=document.querySelectorAll(“.js-place”),n=0;for(let i of t){let s=Wl(e,i.dataset),o=document.querySelector(`.js-marker[data-id=”${i.dataset.id}”]`);s?(o.classList.remove(“is-filtered”),i.classList.remove(“is-filtered”),n++):(o.classList.add(“is-filtered”),i.classList.add(“is-filtered”))}document.querySelectorAll(“.js-filter”).forEach(i=>{let s=i.querySelector(“.js-filter-active”),o=e[i.dataset.filter];o?(i.classList.add(“is-active”),s.textContent=o.length):(i.classList.remove(“is-active”),s.textContent=”1″)});let r=Object.keys(e).reduce((i,s)=>i+e[s].length,0);document.querySelector(“.js-filter-indicator”).textContent=r,document.querySelectorAll(“.js-filter-count”).forEach(i=>{i.textContent=n}),document.querySelectorAll(“.js-filter-plural”).forEach(i=>{i.textContent=n==1?””:”s”}),n==0?document.querySelector(“.js-guide”).classList.add(“is-empty”):document.querySelector(“.js-guide”).classList.remove(“is-empty”),Object.keys(e).length>0?document.querySelector(“.js-inno”).classList.add(“has-filters”):document.querySelector(“.js-inno”).classList.remove(“has-filters”),$e.reDraw()},Lt={init:()=>{Ul(),Bi()},toggle:()=>{Zi()}};var bn,ae,En,Ce,Vi=null;var Vl=async()=>{let e=await fetch(“https://interactives.inquirer.com/projects/2025/10/the-76/1760553884505/assets/places.json”);if(e.ok){let t=await e.json();for(let n of t){let r=document.querySelector(`.js-place#${n.id}`);r?(Pe.populate(r,n),At.populate(r,n)):console.log(`u26D4uFE0F Can not find ${n.name} on the page`)}Pe.done(),Gi(),Kl(),ta(),document.querySelector(“.js-inno”).classList.remove(“is-loading”)}},Gi=()=>{ae=document.querySelectorAll(“.js-place:not(.is-filtered)”),En=ae.length-1},Gl=e=>{if(e=Ki(e),!(Ce&&e!==Ce)){if(e!==bn){bn=e,document.querySelectorAll(“.is-current-place”).forEach(n=>{n.classList.remove(“is-current-place”)});let t=ae[e]||null;Ql(t),t&&(t.classList.add(“is-current-place”),t.id&&O.event(“card-view”,`Scrolled into view | ${t.id}`)),clearTimeout(Vi),Vi=setTimeout(()=>{bn==-1&&En>1?tt.showAll():t&&tt.highlight(t.dataset.index)},300)}}},Ki=e=>Math.min(Math.max(e,-1),En),Kl=()=>{document.addEventListener(“scroll”,()=>{Sn()}),window.addEventListener(“resize”,()=>{Sn()}),document.querySelector(“.js-guide-filter-toggle”).addEventListener(“click”,()=>{Lt.toggle()}),document.querySelectorAll(“.js-place-expand”).forEach(e=>{e.addEventListener(“click”,()=>{Jl(e)})})},Jl=e=>{let t=e.closest(“.js-place”);t.classList.remove(“is-collapsed”),O.event(“click”,`expand block | ${t.dataset.name}`)},Sn=()=>{Yl(),Xl(),ea()},Ql=e=>{e?history.replaceState(null,null,”#”+e.id):history.replaceState(null,null,” “)},Yl=()=>{if(Ce){let t=Array.from(ae).filter(n=>n.dataset.index==Ce)[0].getBoundingClientRect().top+window.scrollY-70;window.scrollY+100>t&&window.scrollY-100{let e=-1;ae.forEach((t,n)=>{let r=t.getBoundingClientRect();200>r.top&&r.height>0&&(e=n)}),Gl(e)},ea=()=>{let e=document.querySelector(“.js-guide”),t=e.getBoundingClientRect(),n=window.innerHeight/2;t.top+t.height-n<0?(e.classList.add("is-post-guide"),e.classList.remove("is-in-guide")):t.top-n{let i=Array.from(ae).filter(s=>s.dataset.index==e)[0].getBoundingClientRect().top+window.scrollY-70;Ce=e,ae[e]&&ae[e].id&&n&&O.event(“node-click”,`Clicked on marker | ${ae[e].id}`),window.scrollTo({top:i,behavior:t})},ta=()=>{let e=window.location.hash;if(e){let t=document.querySelector(e);if(t){let n=Ki(t.dataset.index);n&&Ji(n,”smooth”,!1)}}},$e={init:()=>{Vl()},scrollTo:(e,t=”smooth”)=>{Ji(e,t)},reDraw:()=>{Sn(),Gi()}};var nt,te,na=null,rt=new Array,st=!1;var Fe=null,ve=20,it=window.innerWidth>1200,ra=()=>{document.querySelector(“.js-toggle-map”).addEventListener(“click”,()=>{Yi()}),window.addEventListener(“resize”,()=>{Qi()})},Qi=()=>{it=window.innerWidth>1200,ve=it?20:Math.floor(window.innerWidth*.4),te.setPadding({top:it?ve+80:ve,left:it?window.innerWidth/2:ve,bottom:ve,right:ve}),setTimeout(()=>{te.resize()},400)},ia=()=>{let e,t,n,r,i=new Array;return document.querySelectorAll(“.js-place”).forEach(o=>{let l=parseFloat(o.dataset.long),a=parseFloat(o.dataset.lat);(e&<||!t)&&(t=l),(n&&ar||!r)&&(r=a)}),i=[[e,n],[t,r]],i},sa=()=>{let e=document.querySelectorAll(“.js-place”);e.forEach((t,n)=>{let r=t.dataset;if(r.lat&&r.long){let i=ht(“js-marker-stub”);i.classList.add(`inno-map__marker–${n}`),r.index=n,r.id=Ee(r.name),r.imageSrc=`https://interactives.inquirer.com/secondbank/arc/${r.media}/80.webp`,ft(i,r),i.addEventListener(“click”,()=>{i.classList.contains(“is-active”)&&st&&Yi(),$e.scrollTo(n,st?”instant”:”smooth”)}),i.addEventListener(“mouseover”,()=>{e[n].selected=!0}),i.addEventListener(“mouseleave”,()=>{e[n].selected=!1,Fe&&(e[Fe].selected=!0)}),rt.push(i),new nt.Marker({element:i}).setLngLat([parseFloat(r.long),parseFloat(r.lat)]).addTo(te)}})},zn=()=>{let e=ia();te&&te.fitBounds(e),document.querySelectorAll(“.js-marker”).forEach(t=>{t.classList.remove(“is-active”)}),document.querySelector(“.js-map”).classList.add(“is-all”)},oa=()=>{vr(“https://interactives.inquirer.com/storage/dependencies/maplibre/5.3.0/maplibre-gl.js”,()=>{let e=new Xn;nt=window.maplibregl,nt.addProtocol(“pmtiles”,e.tile);let t=”https://interactives.inquirer.com/melish/1.2.1″,n=`${t}/us-latest.pmtiles`,r=new at(n);e.add(r),r.getHeader().then(async()=>{let s=await(await fetch(`${t}/styles/neutral.json`)).json();ve=it?20:Math.floor(window.innerWidth*.4),te=new nt.Map({container:”map”,zoom:13,center:[-75.165222,39.952583],maxBounds:[[-86.485129,34.333968],[-69.915035,43.854144]],attributionControl:!1,style:{…s,sources:{openmaptiles:{type:”vector”,url:`pmtiles://${n}`}}}}),Qi(),te.scrollZoom.disable(),te.addControl(new nt.NavigationControl({showCompass:!1,showZoom:!0,visualizePitch:!1}),”bottom-right”),document.querySelector(“.js-map”).classList.add(“is-loaded”),te.on(“load”,()=>{sa(),zn()})})})},la=e=>{if(rt.length>0){let t=rt[e];if(document.querySelector(“.js-map”).classList.remove(“is-all”),document.querySelectorAll(“.js-marker”).forEach(n=>{n.classList.remove(“is-active”)}),t){let n=document.querySelector(`.js-place[id=${t.dataset.id}]`),r=document.querySelector(`.js-marker[data-id=${t.dataset.id}]`);te.flyTo({center:[parseFloat(n.dataset.long),parseFloat(n.dataset.lat)],zoom:13.2,speed:.5}),Fe=e,t.selected=!0,r.classList.add(“is-active”)}else te&&rt&&(zn(),Fe!==null&&(rt[Fe].selected=!1,Fe=null))}else na=e},Yi=()=>{st=!st,st?(document.querySelector(“.js-inno”).classList.add(“is-mapping”),O.event(“click”,”Open mobile map”)):(document.querySelector(“.js-inno”).classList.remove(“is-mapping”),O.event(“click”,”Close mobile map”))},tt={init:()=>{oa(),ra()},highlight:e=>{la(e)},showAll:()=>{zn()}};var aa=()=>{document.querySelectorAll(“.js-media-caption-toggle-show”).forEach(e=>{e.addEventListener(“click”,()=>{ca(e)})}),document.querySelectorAll(“.js-media-caption-toggle-hide”).forEach(e=>{e.addEventListener(“click”,()=>{ua(e)})})},ca=e=>{e.closest(“.js-place”).classList.add(“is-captioning”),O.event(“click”,”Open caption”)},ua=e=>{e.closest(“.js-place”).classList.remove(“is-captioning”),O.event(“click”,”Closed caption”)},Xi={init:()=>{aa()}};var An=new Array,Mn=650,Tn=650,ha=()=>{let e=document.querySelectorAll(“.js-slide-viewer”);for(let n of e){n.height=Mn,n.width=Tn;let r={el:n,id:n.dataset.id,ctx:n.getContext(“2d”),totalFrames:n.dataset.totalFrames,frames:new Array,currentFrame:1},i=new Array;for(var t=1;t{r.frames=s,An.push(r),es(r.id)})}},fa=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.setAttribute(“crossOrigin”,”anonymous”),r.src=e}),es=e=>{let t=An.filter(n=>e==n.id)[0];if(t.currentFrame!==void 0||t.currentFrame!==null){let n=t.frames[t.currentFrame];n&&(t.ctx.clearRect(0,0,Tn,Mn),t.ctx.drawImage(n,0,0,Tn,Mn))}},pa=e=>{for(let t of An)t.currentFrame=Math.ceil(e*t.totalFrames),es(t.id)},$t={init:()=>{ha()},updateFrame:e=>{pa(e)}};var da=()=>{xr()&&document.querySelectorAll(“.js-ad”).forEach(t=>{t.classList.add(“is-hidden”)})},ts={init:()=>{da()}};var ns=async(e,t)=>(await fetch(`https://inq-junto.herokuapp.com/${e}`,{method:”POST”,headers:{“Content-Type”:”application/json”},mode:”cors”,body:JSON.stringify(t)})).json(),Ln=()=>{let t=document.querySelector(“.js-inno”).dataset.junto;if(t)return t;throw new Error(“no junto id found”)},$n={getDefaultId:()=>Ln(),vote:(e,t=Ln())=>{ns(“vote”,{poll:t,ballot:e})},results:async(e=Ln())=>await ns(“results”,{poll:e})};var ga=()=>{document.querySelectorAll(“.js-feedback”).forEach(e=>{let t=e.dataset.question;e.querySelector(“.js-feedback-yes”).addEventListener(“click”,()=>{rs(“yes”,e)}),e.querySelector(“.js-feedback-no”).addEventListener(“click”,()=>{rs(“no”,e)})})},rs=async(e,t)=>{t.classList.add(“has-answered”,`has-answered-${e}`),t.querySelector(`.js-feedback-${e}`).blur();let n=”feedback-“+$n.getDefaultId(),r=t.dataset.question;$n.vote({[r]:e},n)},is={init:()=>{ga()}};var ye,ss,ma=()=>{ye=document.getElementById(“js-inno-toast”)},va=e=>{if(!ye)return;ye.innerHTML=e,ye.classList.add(“inno-toast–active”);let t=()=>{ye.addEventListener(“transitionend”,ya,{once:!0}),ye.classList.remove(“inno-toast–active”)};clearTimeout(ss),ss=setTimeout(t,5e3)},ya=()=>{ye.innerHTML=””},we={init:()=>{ma()},showToast:va};var Ct,os=!1,wa=async()=>new Promise(e=>{setTimeout(()=>{console.log(“simulating createShareLink for localhost”),e(“https://inquirer.com/interactives”),xa()},100)}),xa=()=>{let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||setTimeout(()=>{let t=e?.querySelector(“span”);t&&(t.innerHTML=”Gift link copied to clipboard“)},20)},ka=()=>{let e=window.services?.createShareLink;e&&(Ct=e),Wt()&&(Ct=wa),Ct&&Sa()},ba=async e=>{let t=”text/plain”,n=async()=>{try{return await Ct(window.location.pathname)}catch{e.dataset.state=”error”,we.showToast(“Hmm, we couldn’t generate a gift link…”)}},r=new ClipboardItem({[t]:n()});await navigator.clipboard.write([r]).catch(i=>{console.log(i),we.showToast(“Couldn’t copy to clipboard, try again?”),e.dataset.state=”error”}),we.showToast(“Gift link copied to clipboard!”),e.dataset.state=”complete”},Sa=()=>{document.querySelectorAll(“.js-gift”).forEach(t=>{(yr()||Wt()||wr())&&t.classList.add(“is-available”)}),document.querySelectorAll(“.js-gift-button”).forEach(t=>{t instanceof HTMLButtonElement&&t.addEventListener(“click”,()=>{t.classList.contains(“disabled”)||(t.dataset.state=”loading”,os=!0,ba(t),setTimeout(()=>{t.dataset.state=”ready”},2e3))})});let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||Ea(e)},Ea=e=>{new MutationObserver(n=>{for(let r of n){let i=[…r.addedNodes].at(0);if(!(i instanceof HTMLElement))return;os&&we.showToast(i.outerHTML)}}).observe(e,{subtree:!0,childList:!0})},ls={init:()=>{ka()}};var za={0:.5,1:.2,2:1,3:.8,4:.6,5:.9},Ma={0:.02,1:.14,2:.16,3:.11,4:.07,5:.23},Ta=()=>{document.addEventListener(“scroll”,()=>{as()})},as=()=>{let t=document.querySelector(“.js-hero”).getBoundingClientRect(),n=document.documentElement.scrollTop,r=t.top+n,i=t.height,s=r+i,o=s-n,l=Math.min(1-o/s,1),a=s*.5;document.querySelectorAll(“.js-hero-image”).forEach((h,u)=>{let f=a*za[u]*l;h.setAttribute(“style”,`transform: translateY(-${f}px)`),l>Ma[u]?h.classList.add(“is-visible”):h.classList.remove(“is-visible”)}),$t.updateFrame(l)},cs={init:()=>{Ta(),as()}};var Aa=()=>{},us={init:()=>{Aa()}};var hs={init:()=>{Bn.init?.(),tt.init?.(),At.init?.(),Lt.init?.(),$e.init?.(),Xi.init?.(),Pe.init?.(),$t.init?.(),ts.init?.(),is.init?.(),ls.init?.(),cs.init?.(),us.init?.(),we.init?.()}};var La=()=>{},fs={init:()=>{La()}};var $a=document.querySelector(“.js-inno”),ps=()=>{hs.init(),fs.init()};$a?ps():new MutationObserver((t,n)=>{if(document.querySelector(“.js-inno”)){n.disconnect(),ps();return}}).observe(document,{attributes:!0,childList:!0,subtree:!0});})();
/*! Bundled license information:
object-assign/index.js:
(*
object-assign
(c) Sindre Sorhus
@license MIT
*)
react/cjs/react.production.min.js:
(** @license React v16.14.0
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
react-dom/cjs/react-dom-server.browser.production.min.js:
(** @license React v16.14.0
* react-dom-server.browser.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
*/
Seventy-six sounds like a lot of restaurants — until you consider just how many gems there are in the Philly area. We whittled our selections down to the main list, but there were still some scouts’ favorites that didn’t make the cut.
Amá
The emergence of chef Frankie Ramirez and his thrilling vision of modern Mexican food at Amá is one of the best food storylines of 2025. His seasonal tlayuda topped with a summer sunburst of squash blossoms over epazote pesto and Oaxaca cheese is one of the most beautiful things I’ve eaten all year. The milpa salad is a poetic tribute to the cornfields of his youth and may be the dish that finally gets Philadelphians to love eating bugs. Ramirez’s large-format sharing centerpieces — lamb neck birria, an entire octopus flashed over the wood-fired grill — are showstoppers that offer a glimpse of contemporary Mexican cooking this city has yet to see. The sunny corner room with white walls and a view of the kitchen’s fiery hearth channels the minimalist-chic vibe of its new building amid the construction boom along Front Street in Kensington-Fishtown, but the large space has also posed persistent challenges for service that need more polish on a number of fronts before Amá can reach its true potential. — Craig LaBan
Amá, 101 W. Oxford St., Philadelphia, Pa. 19122, 215-933-0707, amaphl.com
The seasonal tlayuda at Amá.
Artisan Boulanger Patissier
It’s been three years since Andre Chin — who co-owned Artisan Boulanger Patissier in South Philly alongside his wife, Amanda Eap — died following a long battle with prostate cancer. But his presence is still felt everywhere: from the baker and pastry artist’s delectable croissants to the framed portrait of him that hangs over the register area, to the handwritten cards and drawings addressed to Eap and taped to the glass. With the help of their two sons, the couple’s James Beard-nominated Cambodian-French cafe continues to stand strong as a community pillar with a devoted fan base churning in for signature cronuts, Vietnamese iced coffee, and over-stuffed banh mis served on perfectly fluffy baguettes. Try the almond sticks, which still draw a line on weekend mornings at this 23-year-old cash-only spot. — Emily Bloch
Located on Vine Street — practically on the expressway — Chon Tong is an unlikely place to find some of Philadelphia’s best Thai food. And yet, their hoi tod, a golden-edged mussel pancake; tum tod (imagine the best, puckeringly sweet-and-sour papaya salad but fried); and jay tod, speckled with juicy-sweet corn kernels and crunchy tofu crackling with crevices, are only three tiny precursors to the spectacular dishes emerging from a kitchen that specializes in Central Thai recipes. Ignore that Chon Tong advertises itself as a Thai dessert kitchen. You’re here for the beefy boat noodles, the moo ping — unctuous, barbecued pork sausages pressed into patties and strung onto skewers — spicy chicken wings, and curries that skew sweet (not a bad thing). — Kiki Aranita
Hoi Tod is a mussel pancake served over gently stir-fried bean sprouts at Chon Tong.
D’jakarta Cafe
Although the Indonesian food scene in Philly — like in its native Indonesia — represents a huge amount of regional variation, most restaurants offer certain dishes recognized as national staples. This is where D’jakarta Cafe, near 16th and Ritner Streets, truly excels. While it specializes in the flavors of Jakarta and West Borneo, nearly every iconic Indonesian dish is available and executed to near perfection. An order of both their nasi rendang and nasi kuning yields an embarrassment of riches: beef rendang, wonderfully crisp fried chicken, ikan bilis (fried anchovies), and turmeric-stained rice. Not to mention their assortment of noodle soto (soups) and a char-grilled pompano (ikan bakar) dressed with sambal that will convince you there’s no better way to eat fish. For dessert, don’t miss the jus alpukat, an avocado-chocolate smoothie that’s a common drink in tropical Indonesia. But instead of the typical drizzle of chocolate syrup, D’jakarta’s rendition resembles a milkshake, topped with a scoop of chocolate ice cream and a Pirouline wafer masquerading as a straw. — Jasen Lo
Small egg noodle, big egg noodle (right) and bowls of meatball soup at D’Jakarta, 1540 W. Ritner St.
El Primo
This 17-year-old Norristown institution started off as a Mexican specialty grocery store, eventually expanding into prepared food. Last year, it moved to a bigger location next to the town’s DMV. In addition to the grocery store stocked with Mexican chiles, herbs, and a section of vaquero boots, the new locale includes a bakery and carniceria. But there’s also a vibrant dining room covered in murals and featuring bespoke wood seating — a departure from the picnic tables El Primo used in the past. Diners are greeted with a bowl of chips covered in creamy, spicy refried beans; mosey over to the salsa bar for any additional accoutrements. Latin music on the speakers and friendly staff make for a festive dining experience. El Primo’s menu is vast, but standouts include the mole poblano, with its hints of sweetness and spice, as well as the flavor-packed tacos árabes and perfectly cooked lengua tacos. — Ximena Conde
El Primo, 1700 Markley St., Norristown, Pa. 19401, 610-279-2610, elprimoproduce.com
Gouldsburger’s
Yes, Gouldsburger’s original location, in Haddonfield, is the centerpiece of an aspiring franchise empire that has already crossed the Delaware River, opening locations in the territory of already-established steak shops. But have you tasted the sandwich? Have you bitten into that soft, everything bagel-seasoned roll, born in a Moorestown bakery? Usually the goal is to bake a roll that is crusty on the outside and soft inside, but in breaking the rules, Gouldsburger’s separates itself in the best possible way. In the embrace of that roll, tender and carefully griddled ribbons of rib-eye steak marry beautifully with an even spread of yellow Cooper Sharp, composing a symphony of a sandwich that’s well-balanced and not overstuffed. Another standout is the buffalo chicken cheesesteak — but be prepared for a healthy dose of spice sprinkled on the diced chunks of chicken breast. They’ll have you breaking a sweat even on a brisk November afternoon. It’s further proof that Gouldsburger’s can compete with the slew of top-notch offerings across the river. — Tommy Rowan
Gouldsburger’s, six locations (two in Philadelphia, four in South Jersey), gouldsburgers.com
Griddle & Rice at 22nd and Jackson Streets.
Griddle & Rice
You could easily mistake Griddle & Rice for a diner offering all-American breakfast — the retro checkered-tile interior almost invites that association, and it wouldn’t be entirely inaccurate. The charming brunch spot near Girard Estates serves excellent French toast and eggs Benedict. But once you spot the sink in the corner and the Indonesian aunties happily eating nasi uduk (breakfast rice platter) and satay skewers with their right hands, you’ll realize that Griddle & Rice is also a warung — the Indonesian term for a casual, usually family-run food stall. Sure, you could treat your groggy morning with their omelet breakfast, but ask for a dollop of one of their many sambals to give your eggs a kick, and you’ll be just as nourished by a bowl of bubur ayam — shredded chicken congee garnished with fried shallots, peanuts, scallions. As one of the only Indonesian places in Philly with an espresso machine, Griddle & Rice also serves a unique assortment of Indonesian beverages, such as the nostalgia-inducing milo dinosaur (malted chocolate powder excessively heaped atop iced malted chocolate), coffee with gula aren (palm sugar), and a frothy tek tarik(hand-pulled milk tea). — Jasen Lo
It doesn’t get more South Philly than a hole-in-the-wall Mexican brunch restaurant that also dishes out brie pancakes and an Old Bay-spiced crab frittata under a big green Eagles banner. The menu is an homage to chef Israel Romero’s upbringing and combines the food he grew up eating as a child in Puebla with the over-the-top American breakfasts he grew to love after immigrating to Philadelphia at age 18. It’s easy to get distracted by the menu’s long selection of sweet breakfasts, including numerous French toast iterations that take inspiration from, among other things, coffee cake and churros. But it’s worthwhile to opt for some savory plates, like the bandeja Mexicana — a little-bit-of-everything platter complete with a twice-cooked tamale and carne asada — or the chilaquiles divorciados, which pairs red and green chilaquiles with a hefty serving of steak and eggs. — Beatrice Forman
Jersey Kebab became a local rallying point earlier in 2025 when Emine Emanet, the powerhouse matriarch of the restaurant, was detained by Immigration and Customs Enforcement for two weeks. The community came together to support this beloved South Jersey institution, where colorful variations of Turkish delights line the display case up front. In the seating area, plates of iskender, adana kebabs, and baklava are served at comfy tables. Turkish decor and music invite customers to linger. Love for the community comes through with every thoughtful dish they serve, bringing diners from Philadelphia and other cities out to Haddon Township. — Hira Qureshi
Few curmudgeonly chefs have as much apparent fun as Nic Macri, who likes to shake up the menu at this Bella Vista institution every three months or so with a special event that packs the house — be it a weekend devoted to an international array of pies, from pithiviers to key lime, or a month-long house-made hot dog bonanza. But this gastropub deserves to be on The 76 not for its rousing one-offs but for its day-in, day-out excellence. Royal’s reputation has long been synonymous with its drippy, smoked Gouda-topped burger, but the more intriguing sandwiches — a double-take-worthy vegan gyro, a mesmerizing smoked beef round slicked with maple dijonnaise, a handheld mushroom cutlet with hoagie relish I couldn’t stop eating — have been the real draws since the restaurant reopened in 2023. Round that out with a stellar lineup of snacks (legitimately great beet-pickled eggs, crab puffs showered in grated cheese, house-made ham and focaccia with pickle butter), vegetable-centric sides and fan-favorite desserts, and general manager Eden Beschen’s carefully curated beverage program, and you’ve got one of the most complete neighborhood bars in the city. And the kitchen stays open till 1 a.m. like clockwork, to boot. — Jenn Ladd
Royal Tavern, 937 E. Passyunk Ave., Philadelphia, Pa. 19147, 215-389-6694, royaltavern.com
A Chicago-style hot dog that chef Nic Macri offered at Royal Tavern during a “Dog Days of Summer” promotion.
Sansom Kabob House
To find excellent Afghan food in Philadelphia, venture to the corner of 13th and South Streets, where platters of raisin-filled qablee palaw and spiced chablee kabobs served with Afghan rice, salad, and bread are the best dishes on the menu. Well-rendered Afghan specialties have emanated from the kitchen at Sansom Kabob House, named after its original address on Sansom Street, since its opening in 2002. We have our favorites, but there’s no incorrect order here — unless you skip dessert. The furni pudding and sheeryaki ice cream will make the savory hits a happy afterthought. — Hira Qureshi
One crunch into the honey-drizzled fried chicken at South and you’ll understand its staying power. Nearly a decade into its run on North Broad Street, Robert and Benjamin Bynum’s upscale soul foodery — dresses and suits, please — stands apart from the sea of styrofoam takeouts. Of course, that’s due in part to the in-house jazz venue and the brass solos that ooze like chase scenes through the bungalow-style dining room. But South’s menu deserves a separate ovation. Come for the classic skillet of cornbread topped with a decadent pearl of butter, and the rosemary turkey wings, cooked low and slow to perfection. Then venture deeper into the diaspora riffs on the menu, like the brioche crab toasts with salmon roe. Open four nights a week, don’t be surprised if it’s hard to get a prime-time reservation. And make sure you dress to the nines. — Max Marin
South, 600 N. Broad St., Philadelphia, Pa. 19130, 215-600-2049, southjazzkitchen.com
Benjamin Bynum Jr. (left) and his brother, Robert Bynum, at South restaurant, 600 N. Broad St.
Tierra Colombiana
Jorge Mosquera has operated the Hunting Park institution Tierra Colombiana as a neighborhood catch-all since 1989. The restaurant serves a little bit of everything — from Puerto Rican street food and Argentinian churrasco to Colombian breakfast and filet mignon — creating an experience that’s not unlike dining at the Cheesecake Factory, where combing through a massive menu to find exactly what you’re craving is part of the journey. Politicians use Tierra Colombiana’s first floor to court voters and celebrate life milestones, while the upstairs nightclub hosts a popular singles night every Friday. Come for an oversized margarita and the whole red snapper, stay to salsa-dance the night away. — Beatrice Forman
This truck near 33rd and Market Streets in West Philly started out in 2022 as a smoothie spot aimed at thirsty Penn students, but patrons soon discovered proprietors Boronne and Sue Gao were also serving excellent breakfast. Jianbing guozi, a savory crepe, has the regional ubiquity of a bacon, egg, and cheese sandwich in some Chinese cities — but it is nearly unheard of in the Philadelphia region. So, last year, the mother and son duo rebranded altogether. West River’s rendition fills a delectable egg-and-mung bean crepe with crunchy sheets of wonton and a savory filling of your choice; favorites include braised pork brushed with chili oil or a Chinese-style hot dog that scratches a nostalgic itch for students from Tianjin, the city where both the dish and Sue Gao originated. Whatever your choice, the combination of crepe, wonton, and filling adds up to sizzling comfort food that transcends national boundaries. To top it all off, West River also offers a dim sum menu featuring dan dan noodles, bao, and chili oil dumplings. — Ryan W. Briggs